lkml.org 
[lkml]   [2006]   [Jul]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: AVR32 architecture patch against Linux 2.6.18-rc1 available
    On Thu, Jul 06, 2006 at 02:19:06AM -0700, Andrew Morton wrote:
    > - What are these for?
    >
    > +EXPORT_SYMBOL(clk_get);
    > +EXPORT_SYMBOL(clk_put);
    > +EXPORT_SYMBOL(clk_enable);
    > +EXPORT_SYMBOL(clk_disable);
    > +EXPORT_SYMBOL(clk_get_rate);
    > +EXPORT_SYMBOL(clk_round_rate);
    > +EXPORT_SYMBOL(clk_set_rate);
    > +EXPORT_SYMBOL(clk_set_parent);
    > +EXPORT_SYMBOL(clk_get_parent);

    Part of the clock framework. No, not the one that you've probably
    heard about (which is in connection with time, and IMHO incorrectly
    named).

    This one is to do with controlling the clock sources for peripherals
    in systems, to allow drivers to be shared between platforms with the
    minimum of crap in drivers.

    For example, the ARM Ltd AMBA "devices" end up being embedded into ARM
    SoCs, MIPS SoCs and now probably AVR32 SoCs. These drivers need a way
    to be told, eg, their clock source rate in the case of a UART, and be
    able to control the clock rate in the case of an LCD controller. It's
    also advantageous for power saving to be able to turn clock sources
    on and off.

    You can have hardware situations where the clock source for UARTs
    depend on where they are on the bus, possibly clocked at different
    rates, or all UARTs are clocked from one source.

    How that is achieved is extremely SoC or platform specific, and as such
    I put together a well defined API (include/linux/clk.h) which gives:

    1. an API for drivers to follow to achieve achieve inter-operability and
    re-use with the minimum of fuss.
    2. complete flexibility to the platform code to implement the backend
    how they see fit, using whatever structures they see fit.

    It's great that the AVR32 folk are reusing this.

    --
    Russell King
    Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
    maintainer of: 2.6 Serial core
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2006-07-06 11:55    [W:0.021 / U:60.164 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site