1. 09 5月, 2012 2 次提交
  2. 02 5月, 2012 2 次提交
    • V
      clk: clk_set_rate() must fail if CLK_SET_RATE_GATE is set and clk is enabled · 0e1c0301
      Viresh Kumar 提交于
      This is well documented but isn't implemented. clk_set_rate() must check if
      flags have CLK_SET_RATE_GATE bit set and is enabled too.
      Signed-off-by: NViresh Kumar <viresh.kumar@st.com>
      Signed-off-by: NMike Turquette <mturquette@linaro.org>
      0e1c0301
    • S
      clk: Use a separate struct for holding init data. · 0197b3ea
      Saravana Kannan 提交于
      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: NSaravana Kannan <skannan@codeaurora.org>
      [mturquette@linaro.org: kept DEFINE_CLK_* macros and __clk_init]
      Signed-off-by: NMike 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>
      0197b3ea
  3. 25 4月, 2012 11 次提交
  4. 17 3月, 2012 1 次提交
    • M
      clk: introduce the common clock framework · b2476490
      Mike Turquette 提交于
      The common clock framework defines a common struct clk useful across
      most platforms as well as an implementation of the clk api that drivers
      can use safely for managing clocks.
      
      The net result is consolidation of many different struct clk definitions
      and platform-specific clock framework implementations.
      
      This patch introduces the common struct clk, struct clk_ops and an
      implementation of the well-known clock api in include/clk/clk.h.
      Platforms may define their own hardware-specific clock structure and
      their own clock operation callbacks, so long as it wraps an instance of
      struct clk_hw.
      
      See Documentation/clk.txt for more details.
      
      This patch is based on the work of Jeremy Kerr, which in turn was based
      on the work of Ben Herrenschmidt.
      Signed-off-by: NMike Turquette <mturquette@linaro.org>
      Signed-off-by: NMike Turquette <mturquette@ti.com>
      Reviewed-by: NThomas Gleixner <tglx@linutronix.de>
      Tested-by: NAndrew Lunn <andrew@lunn.ch>
      Reviewed-by: Rob Herring <rob.herring <at> calxeda.com>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Jeremy Kerr <jeremy.kerr@canonical.com>
      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: 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>
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      b2476490