• Mike Turquette's avatar
    clk: introduce the common clock framework · b2476490
    Mike Turquette authored
    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: default avatarMike Turquette <mturquette@linaro.org>
    Signed-off-by: default avatarMike Turquette <mturquette@ti.com>
    Reviewed-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Tested-by: default avatarAndrew 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: default avatarArnd Bergmann <arnd@arndb.de>
    b2476490
clk.c 36.2 KB