Lines Matching refs:par
197 static int simplefb_clocks_init(struct simplefb_par *par, in simplefb_clocks_init() argument
207 par->clk_count = of_clk_get_parent_count(np); in simplefb_clocks_init()
208 if (par->clk_count <= 0) in simplefb_clocks_init()
211 par->clks = kcalloc(par->clk_count, sizeof(struct clk *), GFP_KERNEL); in simplefb_clocks_init()
212 if (!par->clks) in simplefb_clocks_init()
215 for (i = 0; i < par->clk_count; i++) { in simplefb_clocks_init()
220 if (par->clks[i]) in simplefb_clocks_init()
221 clk_put(par->clks[i]); in simplefb_clocks_init()
223 kfree(par->clks); in simplefb_clocks_init()
230 par->clks[i] = clock; in simplefb_clocks_init()
233 for (i = 0; i < par->clk_count; i++) { in simplefb_clocks_init()
234 if (par->clks[i]) { in simplefb_clocks_init()
235 ret = clk_prepare_enable(par->clks[i]); in simplefb_clocks_init()
240 clk_put(par->clks[i]); in simplefb_clocks_init()
241 par->clks[i] = NULL; in simplefb_clocks_init()
249 static void simplefb_clocks_destroy(struct simplefb_par *par) in simplefb_clocks_destroy() argument
253 if (!par->clks) in simplefb_clocks_destroy()
256 for (i = 0; i < par->clk_count; i++) { in simplefb_clocks_destroy()
257 if (par->clks[i]) { in simplefb_clocks_destroy()
258 clk_disable_unprepare(par->clks[i]); in simplefb_clocks_destroy()
259 clk_put(par->clks[i]); in simplefb_clocks_destroy()
263 kfree(par->clks); in simplefb_clocks_destroy()
266 static int simplefb_clocks_init(struct simplefb_par *par, in simplefb_clocks_init() argument
268 static void simplefb_clocks_destroy(struct simplefb_par *par) { } in simplefb_clocks_destroy() argument
276 struct simplefb_par *par; in simplefb_probe() local
302 par = info->par; in simplefb_probe()
336 info->pseudo_palette = par->palette; in simplefb_probe()
338 ret = simplefb_clocks_init(par, pdev); in simplefb_probe()
361 simplefb_clocks_destroy(par); in simplefb_probe()
372 struct simplefb_par *par = info->par; in simplefb_remove() local
375 simplefb_clocks_destroy(par); in simplefb_remove()