|
Linux Kernel
3.7.1
|
#include <linux/list.h>Go to the source code of this file.
Data Structures | |
| struct | clkops |
| struct | clk |
| struct | clk_functions |
Macros | |
| #define | __clk_get_name(clk) (clk->name) |
| #define | __clk_get_parent(clk) (clk->parent) |
| #define | __clk_get_rate(clk) (clk->rate) |
| #define | ENABLE_REG_32BIT (1 << 0) /* Use 32-bit access */ |
| #define | CLOCK_IDLE_CONTROL (1 << 1) |
| #define | CLOCK_NO_IDLE_PARENT (1 << 2) |
| #define | ENABLE_ON_INIT (1 << 3) /* Enable upon framework init */ |
| #define | INVERT_ENABLE (1 << 4) /* 0 enables, 1 disables */ |
| #define | CLOCK_CLKOUTX2 (1 << 5) |
: the name of the clock in the hardware (used in hwmod data and debug) | |
struct clk - OMAP struct clk : list_head connecting this clock into the full clock list : struct clkops * for this clock : pointer to this clock's parent struct clk : list_head connecting to the child clks' list_heads : list_head connecting this clk to its parent clk's : current clock rate : register to write to enable the clock (see ) : fn ptr that returns the clock's current rate : fn ptr that can change the clock's current rate : fn ptr that can round the clock's current rate : fn ptr to do clock-specific initialization : bitshift to write to enable/disable the clock (see ) : number of users that have requested this clock to be enabled : when > 0, this clock's rate is its parent's rate / : see "struct clk.flags possibilities" above : for clksel clks, register va containing src/divisor select : bitmask in for the src/divisor selector : for clksel clks, pointer to struct clksel for this clock : for DPLLs, pointer to struct dpll_data for this clock : clockdomain name that this clock is contained in : pointer to struct clockdomain, resolved from at runtime : bitshift for rate selection bitfield (OMAP1 only) : bitshift for source selection bitfield (OMAP1 only) XXX , should probably be removed and OMAP1 clock code converted to use clksel. XXX is poorly named. It should be "enable_count" or something similar. "users" in the description refers to kernel code (core code or drivers) that have called clk_enable() and not yet called clk_disable(); the usecount of parent clocks is also incremented by the clock code when clk_enable() is called on child clocks and decremented by the clock code when clk_disable() is called on child clocks. XXX , , , should be marked for internal use only. and are used to optimize parent-to-child clock tree traversals. (child-to-parent traversals use .) XXX The notion of the clock's current rate probably needs to be separated from the clock's target rate. | |
| int | mpurate |
| struct clkops | clkops_null |
| struct clk | dummy_ck |
| int | clk_init (struct clk_functions *custom_clocks) |
| void | clk_preinit (struct clk *clk) |
| int | clk_register (struct clk *clk) |
| void | clk_reparent (struct clk *child, struct clk *parent) |
| void | clk_unregister (struct clk *clk) |
| void | propagate_rate (struct clk *clk) |
| void | recalculate_root_clocks (void) |
| unsigned long | followparent_recalc (struct clk *clk) |
| void | clk_enable_init_clocks (void) |
| unsigned long | omap_fixed_divisor_recalc (struct clk *clk) |
| struct clk * | omap_clk_get_by_name (const char *name) |
| int | omap_clk_enable_autoidle_all (void) |
| int | omap_clk_disable_autoidle_all (void) |
| #define ENABLE_ON_INIT (1 << 3) /* Enable upon framework init */ |
1.8.2