Searched refs:s3c24xx_dclk (Results 1 - 1 of 1) sorted by relevance
/linux-4.1.27/drivers/clk/samsung/ |
H A D | clk-s3c2410-dclk.c | 122 struct s3c24xx_dclk { struct 133 container_of(x, struct s3c24xx_dclk, dclk0_div_change_nb) 136 container_of(x, struct s3c24xx_dclk, dclk1_div_change_nb) 166 static void s3c24xx_dclk_update_cmp(struct s3c24xx_dclk *s3c24xx_dclk, s3c24xx_dclk_update_cmp() argument 172 spin_lock_irqsave(&s3c24xx_dclk->dclk_lock, flags); s3c24xx_dclk_update_cmp() 174 dclk_con = readl_relaxed(s3c24xx_dclk->base); s3c24xx_dclk_update_cmp() 182 writel_relaxed(dclk_con, s3c24xx_dclk->base); s3c24xx_dclk_update_cmp() 184 spin_unlock_irqrestore(&s3c24xx_dclk->dclk_lock, flags); s3c24xx_dclk_update_cmp() 190 struct s3c24xx_dclk *s3c24xx_dclk = to_s3c24xx_dclk0(nb); s3c24xx_dclk0_div_notify() local 193 s3c24xx_dclk_update_cmp(s3c24xx_dclk, s3c24xx_dclk0_div_notify() 203 struct s3c24xx_dclk *s3c24xx_dclk = to_s3c24xx_dclk1(nb); s3c24xx_dclk1_div_notify() local 206 s3c24xx_dclk_update_cmp(s3c24xx_dclk, s3c24xx_dclk1_div_notify() 217 struct s3c24xx_dclk *s3c24xx_dclk = platform_get_drvdata(pdev); s3c24xx_dclk_suspend() local 219 s3c24xx_dclk->reg_save = readl_relaxed(s3c24xx_dclk->base); s3c24xx_dclk_suspend() 226 struct s3c24xx_dclk *s3c24xx_dclk = platform_get_drvdata(pdev); s3c24xx_dclk_resume() local 228 writel_relaxed(s3c24xx_dclk->reg_save, s3c24xx_dclk->base); s3c24xx_dclk_resume() 238 struct s3c24xx_dclk *s3c24xx_dclk; s3c24xx_dclk_probe() local 244 s3c24xx_dclk = devm_kzalloc(&pdev->dev, sizeof(*s3c24xx_dclk), s3c24xx_dclk_probe() 246 if (!s3c24xx_dclk) s3c24xx_dclk_probe() 249 s3c24xx_dclk->dev = &pdev->dev; s3c24xx_dclk_probe() 250 platform_set_drvdata(pdev, s3c24xx_dclk); s3c24xx_dclk_probe() 251 spin_lock_init(&s3c24xx_dclk->dclk_lock); s3c24xx_dclk_probe() 259 s3c24xx_dclk->clk_data.clks = clk_table; s3c24xx_dclk_probe() 260 s3c24xx_dclk->clk_data.clk_num = DCLK_MAX_CLKS; s3c24xx_dclk_probe() 263 s3c24xx_dclk->base = devm_ioremap_resource(&pdev->dev, mem); s3c24xx_dclk_probe() 264 if (IS_ERR(s3c24xx_dclk->base)) s3c24xx_dclk_probe() 265 return PTR_ERR(s3c24xx_dclk->base); s3c24xx_dclk_probe() 274 s3c24xx_dclk->base, 1, 1, 0, s3c24xx_dclk_probe() 275 &s3c24xx_dclk->dclk_lock); s3c24xx_dclk_probe() 279 s3c24xx_dclk->base, 17, 1, 0, s3c24xx_dclk_probe() 280 &s3c24xx_dclk->dclk_lock); s3c24xx_dclk_probe() 283 "mux_dclk0", 0, s3c24xx_dclk->base, s3c24xx_dclk_probe() 284 4, 4, 0, &s3c24xx_dclk->dclk_lock); s3c24xx_dclk_probe() 286 "mux_dclk1", 0, s3c24xx_dclk->base, s3c24xx_dclk_probe() 287 20, 4, 0, &s3c24xx_dclk->dclk_lock); s3c24xx_dclk_probe() 291 s3c24xx_dclk->base, 0, 0, s3c24xx_dclk_probe() 292 &s3c24xx_dclk->dclk_lock); s3c24xx_dclk_probe() 295 s3c24xx_dclk->base, 16, 0, s3c24xx_dclk_probe() 296 &s3c24xx_dclk->dclk_lock); s3c24xx_dclk_probe() 326 s3c24xx_dclk->dclk0_div_change_nb.notifier_call = s3c24xx_dclk_probe() 329 s3c24xx_dclk->dclk1_div_change_nb.notifier_call = s3c24xx_dclk_probe() 333 &s3c24xx_dclk->dclk0_div_change_nb); s3c24xx_dclk_probe() 338 &s3c24xx_dclk->dclk1_div_change_nb); s3c24xx_dclk_probe() 346 &s3c24xx_dclk->dclk0_div_change_nb); s3c24xx_dclk_probe() 357 struct s3c24xx_dclk *s3c24xx_dclk = platform_get_drvdata(pdev); s3c24xx_dclk_remove() local 358 struct clk **clk_table = s3c24xx_dclk->clk_data.clks; s3c24xx_dclk_remove() 362 &s3c24xx_dclk->dclk1_div_change_nb); s3c24xx_dclk_remove() 364 &s3c24xx_dclk->dclk0_div_change_nb); s3c24xx_dclk_remove()
|
Completed in 124 milliseconds