• Saravana Kannan's avatar
    clk: Use a separate struct for holding init data. · 0197b3ea
    Saravana Kannan authored
    Create a struct clk_init_data to hold all data that needs to be passed from
    the platfrom specific driver to the common clock framework during clock
    registration. Add a pointer to this struct inside clk_hw.
    This has several advantages:
    * Completely hides struct clk from many clock platform drivers and static
      clock initialization code that don't care for static initialization of
      the struct clks.
    * For platforms that want to do complete static initialization, it removed
      the need to directly mess with the struct clk's fields while still
      allowing to statically allocate struct clk. This keeps the code more
      future proof even if they include clk-private.h.
    * Simplifies the generic clk_register() function and allows adding optional
      fields in the future without modifying the function signature.
    * Simplifies the static initialization of clocks on all platforms by
      removing the need for forward delcarations or convoluted macros.
    Signed-off-by: default avatarSaravana Kannan <skannan@codeaurora.org>
    [mturquette@linaro.org: kept DEFINE_CLK_* macros and __clk_init]
    Signed-off-by: default avatarMike Turquette <mturquette@linaro.org>
    Cc: Andrew Lunn <andrew@lunn.ch>
    Cc: Rob Herring <rob.herring@calxeda.com>
    Cc: Russell King <linux@arm.linux.org.uk>
    Cc: Jeremy Kerr <jeremy.kerr@canonical.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Arnd Bergman <arnd.bergmann@linaro.org>
    Cc: Paul Walmsley <paul@pwsan.com>
    Cc: Shawn Guo <shawn.guo@freescale.com>
    Cc: Sascha Hauer <s.hauer@pengutronix.de>
    Cc: Jamie Iles <jamie@jamieiles.com>
    Cc: Richard Zhao <richard.zhao@linaro.org>
    Cc: Saravana Kannan <skannan@codeaurora.org>
    Cc: Magnus Damm <magnus.damm@gmail.com>
    Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
    Cc: Linus Walleij <linus.walleij@stericsson.com>
    Cc: Stephen Boyd <sboyd@codeaurora.org>
    Cc: Amit Kucheria <amit.kucheria@linaro.org>
    Cc: Deepak Saxena <dsaxena@linaro.org>
    Cc: Grant Likely <grant.likely@secretlab.ca>
clk-mux.c 3.13 KB