pmc_clk
const struct pmc_clk *clks)
const struct pmc_clk *clks;
static const struct pmc_clk byt_clks[] = {
static const struct pmc_clk cht_clks[] = {
#define to_pmc_clk(_hw) container_of(_hw, struct pmc_clk, hw)
struct pmc_clk *clk = to_pmc_clk(hw);
struct pmc_clk *clk = to_pmc_clk(hw);
struct pmc_clk *clk = to_pmc_clk(hw);
struct pmc_clk *clk = to_pmc_clk(hw);
struct pmc_clk *clk = to_pmc_clk(hw);
struct pmc_clk *pmc_clk;
pmc_clk = devm_kzalloc(pmc->dev, sizeof(*pmc_clk), GFP_KERNEL);
if (!pmc_clk)
pmc_clk->hw.init = &init;
pmc_clk->pmc = pmc;
pmc_clk->offs = offset;
pmc_clk->mux_shift = data->mux_shift;
pmc_clk->force_en_shift = data->force_en_shift;
return clk_register(NULL, &pmc_clk->hw);
if (gs->pmc_clk)
gs->pmc_clk = devm_clk_get(dev, gmin_pmc_clk_name);
if (IS_ERR(gs->pmc_clk)) {
ret = PTR_ERR(gs->pmc_clk);
ret = clk_prepare_enable(gs->pmc_clk);
clk_disable_unprepare(gs->pmc_clk);
struct clk *pmc_clk;
ret = clk_set_rate(gs->pmc_clk,
ret = clk_prepare_enable(gs->pmc_clk);
clk_disable_unprepare(gs->pmc_clk);
const struct pmc_clk *clks;
rec->pmc_clk = rec->pmc_clk_stop - rec->pmc_clk_start;
rec->pmc_ipc_quotient = div_u64_rem(rec->pmc_inst, rec->pmc_clk,
pmc_ipc_div = rec->pmc_clk / 1000;
txt, rec.pmc_inst, rec.pmc_clk, rec.pmc_ipc_quotient,
rec->pmc_clk_start = pmc_clk();
rec->pmc_clk_stop = pmc_clk();
uint64_t pmc_inst, pmc_clk;