PebbleOS
Loading...
Searching...
No Matches
clk.h File Reference
#include <stdint.h>
#include <pbl/device.h>

Data Structures

struct  pbl_clk_controller_ops
 Clock controller driver operations, called with interrupts locked. More...
 
struct  pbl_clk_controller
 A clock controller. More...
 
struct  pbl_clk
 A clock, as used by a consumer. More...
 

Macros

#define PBL_CLK_CONTROLLER_STATE_DEFINE(sym, _num_clks)
 Define the class state of clock controller sym, for the driver's define macro.
 
#define PBL_CLK_CONTROLLER_INIT(sym, _name, _init, _parent, _ops)
 Initializer for the struct pbl_clk_controller of controller sym.
 
#define PBL_CLK(_ctrl, _id)   {.ctrl = (_ctrl), .id = (_id)}
 Initializer for a struct pbl_clk.
 

Functions

int pbl_clk_enable (const struct pbl_clk *clk)
 Take a reference on a clock, ungating it for the first user.
 
int pbl_clk_disable (const struct pbl_clk *clk)
 Drop a reference on a clock, gating it after the last user.
 
bool pbl_clk_is_enabled (const struct pbl_clk *clk)
 Check whether a clock has users.