int jz4780_clk_pll_register(struct clkdom *clkdom, struct clknode_init_def *clkdef, struct mtx *dev_mtx, struct resource *mem_res, uint32_t mem_reg) { struct clknode *clk; struct jz4780_clk_pll_sc *sc; clk = clknode_create(clkdom, &jz4780_clk_pll_class, clkdef); if (clk == NULL) return (1); sc = clknode_get_softc(clk); sc->clk_mtx = dev_mtx; sc->clk_res = mem_res; sc->clk_reg = mem_reg; clknode_register(clkdom, clk); return (0); }
int clknode_fixed_register(struct clkdom *clkdom, struct clk_fixed_def *clkdef) { struct clknode *clk; struct clknode_fixed_sc *sc; clk = clknode_create(clkdom, &clknode_fixed_class, &clkdef->clkdef); if (clk == NULL) return (1); sc = clknode_get_softc(clk); sc->fixed_flags = clkdef->fixed_flags; sc->freq = clkdef->freq; sc->mult = clkdef->mult; sc->div = clkdef->div; clknode_register(clkdom, clk); return (0); }
int clknode_fixed_register(struct clkdom *clkdom, struct clk_fixed_def *clkdef, struct mtx *dev_mtx) { struct clknode *clk; struct clknode_fixed_sc *sc; if ((clkdef->freq == 0) && (clkdef->clkdef.parent_cnt == 0)) panic("fixed clk: Frequency is not defined for clock source"); clk = clknode_create(clkdom, &clknode_fixed_class, &clkdef->clkdef); if (clk == NULL) return (1); sc = clknode_get_softc(clk); sc->mtx = dev_mtx; sc->fixed_flags = clkdef->fixed_flags; sc->freq = clkdef->freq; sc->mult = clkdef->mult; sc->div = clkdef->div; clknode_register(clkdom, clk); return (0); }