diff options
Diffstat (limited to 'drivers/media/video/samsung/fimc/fimc_dev_u1.c')
-rw-r--r-- | drivers/media/video/samsung/fimc/fimc_dev_u1.c | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/drivers/media/video/samsung/fimc/fimc_dev_u1.c b/drivers/media/video/samsung/fimc/fimc_dev_u1.c index f36db5d..762256b 100644 --- a/drivers/media/video/samsung/fimc/fimc_dev_u1.c +++ b/drivers/media/video/samsung/fimc/fimc_dev_u1.c @@ -682,7 +682,7 @@ struct fimc_control *fimc_register_controller(struct platform_device *pdev) clk_put(fimc_src_clk); return NULL; } - clk_set_rate(sclk_fimc_lclk, FIMC_CLK_RATE); + clk_set_rate(sclk_fimc_lclk, fimc_clk_rate()); clk_put(sclk_fimc_lclk); clk_put(fimc_src_clk); @@ -1419,6 +1419,30 @@ static int fimc_init_global(struct platform_device *pdev) return 0; } +#ifdef CONFIG_DRM_EXYNOS_FIMD_WB +static BLOCKING_NOTIFIER_HEAD(fimc_notifier_client_list); + +int fimc_register_client(struct notifier_block *nb) +{ + return blocking_notifier_chain_register( + &fimc_notifier_client_list, nb); +} +EXPORT_SYMBOL(fimc_register_client); + +int fimc_unregister_client(struct notifier_block *nb) +{ + return blocking_notifier_chain_unregister( + &fimc_notifier_client_list, nb); +} +EXPORT_SYMBOL(fimc_unregister_client); + +int fimc_send_event(unsigned long val, void *v) +{ + return blocking_notifier_call_chain( + &fimc_notifier_client_list, val, v); +} +#endif + static int fimc_show_log_level(struct device *dev, struct device_attribute *attr, char *buf) { |