Linux Kernel
3.7.1
|
#include <clock.h>
Data Fields | |
void(* | enable )(struct clk *) |
void(* | disable )(struct clk *) |
unsigned long(* | getrate )(struct clk *) |
int(* | setrate )(struct clk *, unsigned long) |
int(* | enable )(struct clk *) |
void(* | find_idlest )(struct clk *, void __iomem **, u8 *, u8 *) |
void(* | find_companion )(struct clk *, void __iomem **, u8 *) |
void(* | allow_idle )(struct clk *) |
void(* | deny_idle )(struct clk *) |
struct clkops - some clock function pointers : fn ptr that enables the current clock in hardware : fn ptr that enables the current clock in hardware : function returning the IDLEST register for the clock's IP blk : function returning the "companion" clk reg for the clock : fn ptr that enables autoidle for the current clock in hardware : fn ptr that disables autoidle for the current clock in hardware
A "companion" clk is an accompanying clock to the one being queried that must be enabled for the IP module connected to the clock to become accessible by the hardware. Neither nor should be needed; that information is IP block-specific; the hwmod code has been created to handle this, but until hwmod data is ready and drivers have been converted to use PM runtime calls in place of clk_enable()/clk_disable(), and must, unfortunately, remain.