fimc-is: Use struct device rather than struct platform_device
authorSylwester Nawrocki <s.nawrocki@samsung.com>
Thu, 5 Apr 2018 13:46:28 +0000 (15:46 +0200)
committerJunghoon Kim <jhoon20.kim@samsung.com>
Thu, 14 Feb 2019 05:57:24 +0000 (14:57 +0900)
Change-Id: Ief3d4c4356b66e900bd76dc1bdecca02420916ae
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
12 files changed:
drivers/media/platform/exynos/fimc-is/exynos-fimc-is-sensor.h
drivers/media/platform/exynos/fimc-is/exynos-fimc-is.h
drivers/media/platform/exynos/fimc-is/fimc-is-device-companion.c
drivers/media/platform/exynos/fimc-is/fimc-is-device-ischain.c
drivers/media/platform/exynos/fimc-is/fimc-is-device-sensor.c
drivers/media/platform/exynos/fimc-is/fimc-is-hw-ischain.c
drivers/media/platform/exynos/fimc-is/fimc-is-interface.c
drivers/media/platform/exynos/fimc-is/fimc-is-video-companion.c
drivers/media/platform/exynos/fimc-is/fimc-is-video-isp.c
drivers/media/platform/exynos/fimc-is/setup-fimc-is-companion.c
drivers/media/platform/exynos/fimc-is/setup-fimc-is-sensor.c
drivers/media/platform/exynos/fimc-is/setup-fimc-is.c

index 85b1515..0a2c767 100644 (file)
@@ -254,11 +254,11 @@ struct exynos_sensor_pin {
  */
 struct exynos_platform_fimc_is_sensor {
        int (*gpio_cfg)(struct platform_device *pdev, u32 scenario, u32 enable);
-       int (*iclk_cfg)(struct platform_device *pdev, u32 scenario, u32 channel);
-       int (*iclk_on)(struct platform_device *pdev,u32 scenario, u32 channel);
-       int (*iclk_off)(struct platform_device *pdev, u32 scenario, u32 channel);
-       int (*mclk_on)(struct platform_device *pdev, u32 scenario, u32 channel);
-       int (*mclk_off)(struct platform_device *pdev, u32 scenario, u32 channel);
+       int (*iclk_cfg)(struct device *dev, u32 scenario, u32 channel);
+       int (*iclk_on)(struct device *dev,u32 scenario, u32 channel);
+       int (*iclk_off)(struct device *dev, u32 scenario, u32 channel);
+       int (*mclk_on)(struct device *dev, u32 scenario, u32 channel);
+       int (*mclk_off)(struct device *dev, u32 scenario, u32 channel);
        struct exynos_sensor_pin pin_ctrls[SENSOR_SCENARIO_MAX][GPIO_SCENARIO_MAX][GPIO_CTRL_MAX];
        char sensor_name[FIMC_IS_MAX_NAME_LEN];
        u32 scenario;
@@ -281,35 +281,35 @@ struct exynos_platform_fimc_is_sensor {
 extern int exynos_fimc_is_sensor_pins_cfg(struct platform_device *pdev,
        u32 scenario,
        u32 enable);
-extern int exynos_fimc_is_sensor_iclk_cfg(struct platform_device *pdev,
+extern int exynos_fimc_is_sensor_iclk_cfg(struct device *dev,
        u32 scenario,
        u32 channel);
-extern int exynos_fimc_is_sensor_iclk_on(struct platform_device *pdev,
+extern int exynos_fimc_is_sensor_iclk_on(struct device *dev,
        u32 scenario,
        u32 channel);
-extern int exynos_fimc_is_sensor_iclk_off(struct platform_device *pdev,
+extern int exynos_fimc_is_sensor_iclk_off(struct device *dev,
        u32 scenario,
        u32 channel);
-extern int exynos_fimc_is_sensor_mclk_on(struct platform_device *pdev,
+extern int exynos_fimc_is_sensor_mclk_on(struct device *dev,
        u32 scenario,
        u32 channel);
-extern int exynos_fimc_is_sensor_mclk_off(struct platform_device *pdev,
+extern int exynos_fimc_is_sensor_mclk_off(struct device *dev,
        u32 scenario,
        u32 channel);
 
-extern int exynos_fimc_is_companion_iclk_cfg(struct platform_device *pdev,
+extern int exynos_fimc_is_companion_iclk_cfg(struct device *dev,
        u32 scenario,
        u32 channel);
-extern int exynos_fimc_is_companion_iclk_on(struct platform_device *pdev,
+extern int exynos_fimc_is_companion_iclk_on(struct device *dev,
        u32 scenario,
        u32 channel);
-extern int exynos_fimc_is_companion_iclk_off(struct platform_device *pdev,
+extern int exynos_fimc_is_companion_iclk_off(struct device *dev,
        u32 scenario,
        u32 channel);
-extern int exynos_fimc_is_companion_mclk_on(struct platform_device *pdev,
+extern int exynos_fimc_is_companion_mclk_on(struct device *dev,
        u32 scenario,
        u32 channel);
-extern int exynos_fimc_is_companion_mclk_off(struct platform_device *pdev,
+extern int exynos_fimc_is_companion_mclk_off(struct device *dev,
        u32 scenario,
        u32 channel);
 
index 064842c..9279046 100644 (file)
@@ -169,13 +169,13 @@ struct exynos_fimc_is_subip_info {
 struct exynos_platform_fimc_is {
        int     hw_ver;
        struct exynos_fimc_is_subip_info *subip_info;
-       int     (*cfg_gpio)(struct platform_device *pdev, int channel, bool flag_on);
-       int     (*clk_cfg)(struct platform_device *pdev);
-       int     (*clk_on)(struct platform_device *pdev);
-       int     (*clk_off)(struct platform_device *pdev);
-       int     (*print_clk)(struct platform_device *pdev);
-       int     (*print_cfg)(struct platform_device *pdev, u32 channel);
-       int     (*print_pwr)(struct platform_device *pdev);
+       int     (*cfg_gpio)(struct device *dev, int channel, bool flag_on);
+       int     (*clk_cfg)(struct device *dev);
+       int     (*clk_on)(struct device *dev);
+       int     (*clk_off)(struct device *dev);
+       int     (*print_clk)(struct device *dev);
+       int     (*print_cfg)(struct device *dev, u32 channel);
+       int     (*print_pwr)(struct device *dev);
 
        u32     companion_spi_channel;
        bool    use_two_spi_line;
@@ -187,27 +187,22 @@ struct exynos_platform_fimc_is {
 
 extern struct device *fimc_is_dev;
 
-extern void exynos_fimc_is_set_platdata(struct exynos_platform_fimc_is *pd);
-
-int fimc_is_set_parent_dt(struct platform_device *pdev,
-       const char *child, const char *parent);
-int fimc_is_set_rate_dt(struct platform_device *pdev,
-       const char *conid, unsigned int rate);
-unsigned int  fimc_is_get_rate_dt(struct platform_device *pdev,
-       const char *conid);
-unsigned int  fimc_is_enable_dt(struct platform_device *pdev,
-       const char *conid);
-void  fimc_is_disable_dt(struct platform_device *pdev,
-       const char *conid);
+int fimc_is_set_parent_dt(struct device *dev, const char *child,
+                         const char *parent);
+int fimc_is_set_rate_dt(struct device *dev, const char *conid,
+                       unsigned int rate);
+unsigned int fimc_is_get_rate_dt(struct device *dev, const char *conid);
+unsigned int fimc_is_enable_dt(struct device *dev, const char *conid);
+void fimc_is_disable_dt(struct device *dev, const char *conid);
 
 /* platform specific clock functions */
 /* exynos 5 */
-extern int exynos_fimc_is_cfg_clk(struct platform_device *pdev);
-extern int exynos_fimc_is_cfg_cam_clk(struct platform_device *pdev);
-extern int exynos_fimc_is_clk_on(struct platform_device *pdev);
-extern int exynos_fimc_is_clk_off(struct platform_device *pdev);
-extern int exynos_fimc_is_print_clk(struct platform_device *pdev);
-
-extern int exynos_fimc_is_print_cfg(struct platform_device *pdev, u32 channel);
-extern int exynos_fimc_is_print_pwr(struct platform_device *pdev);
+extern int exynos_fimc_is_cfg_clk(struct device *dev);
+extern int exynos_fimc_is_cfg_cam_clk(struct device *dev);
+extern int exynos_fimc_is_clk_on(struct device *dev);
+extern int exynos_fimc_is_clk_off(struct device *dev);
+extern int exynos_fimc_is_print_clk(struct device *dev);
+
+extern int exynos_fimc_is_print_cfg(struct device *dev, u32 channel);
+extern int exynos_fimc_is_print_pwr(struct device *dev);
 #endif /* EXYNOS_FIMC_IS_H_ */
index deca8d6..53eed7c 100644 (file)
@@ -85,7 +85,7 @@ static int fimc_is_companion_mclk_on(struct fimc_is_device_companion *device)
                goto p_err;
        }
 
-       ret = pdata->mclk_on(pdev, pdata->scenario, pdata->mclk_ch);
+       ret = pdata->mclk_on(&pdev->dev, pdata->scenario, pdata->mclk_ch);
        if (ret) {
                err("mclk_on failed(%d)", ret);
                goto p_err;
@@ -121,7 +121,7 @@ static int fimc_is_companion_mclk_off(struct fimc_is_device_companion *device)
                goto p_err;
        }
 
-       ret = pdata->mclk_off(pdev, pdata->scenario, pdata->mclk_ch);
+       ret = pdata->mclk_off(&pdev->dev, pdata->scenario, pdata->mclk_ch);
        if (ret) {
                err("mclk_off failed(%d)", ret);
                goto p_err;
@@ -163,13 +163,13 @@ static int fimc_is_companion_iclk_on(struct fimc_is_device_companion *device)
                goto p_err;
        }
 
-       ret = pdata->iclk_cfg(pdev, pdata->scenario, 0);
+       ret = pdata->iclk_cfg(&pdev->dev, pdata->scenario, 0);
        if (ret) {
                err("iclk_cfg failed(%d)", ret);
                goto p_err;
        }
 
-       ret = pdata->iclk_on(pdev, pdata->scenario, 0);
+       ret = pdata->iclk_on(&pdev->dev, pdata->scenario, 0);
        if (ret) {
                err("iclk_on failed(%d)", ret);
                goto p_err;
@@ -205,7 +205,7 @@ static int fimc_is_companion_iclk_off(struct fimc_is_device_companion *device)
                goto p_err;
        }
 
-       ret = pdata->iclk_off(pdev, pdata->scenario, 0);
+       ret = pdata->iclk_off(&pdev->dev, pdata->scenario, 0);
        if (ret) {
                err("iclk_off failed(%d)", ret);
                goto p_err;
@@ -465,12 +465,9 @@ static int fimc_is_companion_probe(struct platform_device *pdev)
                return -EINVAL;
        }
 
-
        device = kzalloc(sizeof(struct fimc_is_device_companion), GFP_KERNEL);
-       if (!device) {
-               err("fimc_is_device_companion is NULL");
+       if (!device)
                return -ENOMEM;
-       }
 
        init_waitqueue_head(&device->init_wait_queue);
 
index 24a5e9a..65f6fe4 100644 (file)
@@ -1732,8 +1732,8 @@ static int fimc_is_itf_enum(struct fimc_is_device_ischain *device)
        ret = fimc_is_hw_enum(device->interface);
        if (ret) {
                merr("fimc_is_itf_enum failed(%d)", device, ret);
-               CALL_POPS(device, print_pwr, device->pdev);
-               CALL_POPS(device, print_clk, device->pdev);
+               CALL_POPS(device, print_pwr, &device->pdev->dev);
+               CALL_POPS(device, print_clk, &device->pdev->dev);
        }
 
        return ret;
@@ -1772,7 +1772,7 @@ static int fimc_is_itf_open(struct fimc_is_device_ischain *device,
                &device->margin_height);
        if (ret) {
                merr("fimc_is_hw_open failed", device);
-               CALL_POPS(device, print_cfg, device->pdev,
+               CALL_POPS(device, print_cfg, &device->pdev->dev,
                                fimc_is_sensor_g_instance(device->sensor));
                ret = -EINVAL;
                goto p_err;
@@ -1971,7 +1971,7 @@ int fimc_is_itf_stream_on(struct fimc_is_device_ischain *device)
        ret = fimc_is_hw_stream_on(device->interface, device->instance);
        if (ret) {
                merr("fimc_is_hw_stream_on failed(%d)", device, ret);
-               CALL_POPS(device, print_clk, device->pdev);
+               CALL_POPS(device, print_clk, &device->pdev->dev);
        }
 
 p_err:
index 1eb12cb..2fc5f6e 100644 (file)
@@ -175,7 +175,7 @@ static int fimc_is_sensor_mclk_on(struct fimc_is_device_sensor *device)
                goto p_err;
        }
 
-       ret = pdata->mclk_on(device->pdev, pdata->scenario, pdata->mclk_ch);
+       ret = pdata->mclk_on(&device->pdev->dev, pdata->scenario, pdata->mclk_ch);
        if (ret) {
                merr("mclk_on failed(%d)", device, ret);
                goto p_err;
@@ -209,7 +209,7 @@ static int fimc_is_sensor_mclk_off(struct fimc_is_device_sensor *device)
                goto p_err;
        }
 
-       ret = pdata->mclk_off(device->pdev, pdata->scenario, pdata->mclk_ch);
+       ret = pdata->mclk_off(&device->pdev->dev, pdata->scenario, pdata->mclk_ch);
        if (ret) {
                merr("mclk_off failed(%d)", device, ret);
                goto p_err;
@@ -252,13 +252,13 @@ static int fimc_is_sensor_iclk_on(struct fimc_is_device_sensor *device)
                goto p_err;
        }
 
-       ret = pdata->iclk_cfg(core->pdev, pdata->scenario, pdata->csi_ch);
+       ret = pdata->iclk_cfg(&core->pdev->dev, pdata->scenario, pdata->csi_ch);
        if (ret) {
                merr("iclk_cfg failed(%d)", device, ret);
                goto p_err;
        }
 
-       ret = pdata->iclk_on(core->pdev, pdata->scenario, pdata->csi_ch);
+       ret = pdata->iclk_on(&core->pdev->dev, pdata->scenario, pdata->csi_ch);
        if (ret) {
                merr("iclk_on failed(%d)", device, ret);
                goto p_err;
@@ -295,7 +295,7 @@ static int fimc_is_sensor_iclk_off(struct fimc_is_device_sensor *device)
                goto p_err;
        }
 
-       ret = pdata->iclk_off(core->pdev, pdata->scenario, pdata->csi_ch);
+       ret = pdata->iclk_off(&core->pdev->dev, pdata->scenario, pdata->csi_ch);
        if (ret) {
                merr("iclk_off failed(%d)", device, ret);
                goto p_err;
index 3672bf6..85dfca4 100644 (file)
@@ -61,17 +61,14 @@ int fimc_is_runtime_suspend_post(struct device *dev)
 
 int fimc_is_runtime_suspend(struct device *dev)
 {
-       struct platform_device *pdev = to_platform_device(dev);
-       struct fimc_is_core *core
-               = (struct fimc_is_core *)platform_get_drvdata(pdev);
+       struct fimc_is_core *core = dev_get_drvdata(dev);
 
        BUG_ON(!core);
        BUG_ON(!core->pdata);
        BUG_ON(!core->pdata->clk_off);
 
        pr_info("FIMC_IS runtime suspend in\n");
-
-       if (CALL_POPS(core, clk_off, pdev) < 0)
+       if (CALL_POPS(core, clk_off, dev) < 0)
                warn("clk_off failed\n");
 
        pr_info("FIMC_IS runtime suspend out\n");
@@ -82,10 +79,8 @@ int fimc_is_runtime_suspend(struct device *dev)
 
 int fimc_is_runtime_resume(struct device *dev)
 {
+       struct fimc_is_core *core = dev_get_drvdata(dev);
        int ret = 0;
-       struct platform_device *pdev = to_platform_device(dev);
-       struct fimc_is_core *core
-               = (struct fimc_is_core *)platform_get_drvdata(pdev);
 
        pm_stay_awake(dev);
        pr_info("FIMC_IS runtime resume in\n");
@@ -95,14 +90,14 @@ int fimc_is_runtime_resume(struct device *dev)
         */
 
        /* Low clock setting */
-       if (CALL_POPS(core, clk_cfg, core->pdev) < 0) {
+       if (CALL_POPS(core, clk_cfg, dev) < 0) {
                err("clk_cfg failed\n");
                ret = -EINVAL;
                goto p_err;
        }
 
        /* Clock on */
-       if (CALL_POPS(core, clk_on, core->pdev) < 0) {
+       if (CALL_POPS(core, clk_on, dev) < 0) {
                err("clk_on failed\n");
                ret = -EINVAL;
                goto p_err;
index fdb3f5a..adbf50c 100644 (file)
@@ -2125,8 +2125,8 @@ static void interface_timer(unsigned long data)
                                atomic_read(&itf->sensor_check[i]));
 
                        /* print sensor clk , pwr state */
-                       CALL_POPS(core, print_clk, device->pdev);
-                       CALL_POPS(core, print_pwr, device->pdev);
+                       CALL_POPS(core, print_clk, &device->pdev->dev);
+                       CALL_POPS(core, print_pwr, &device->pdev->dev);
 
                        /* print sensor info */
                        merr("sensor fcount : %d , framerate : %d\n", sensor,
index 9dd9523..fc70cc7 100644 (file)
@@ -125,15 +125,13 @@ static int fimc_is_comp_video_open(struct file *file)
        struct fimc_is_video *video;
        struct fimc_is_video_ctx *vctx;
        struct fimc_is_device_companion *device;
-       struct platform_device *fimc_is_pdev;
        struct fimc_is_core *core;
 
        /* HACK: ugly workaround to prevent systemd/udev messing in driver state */
        if (strcmp("v4l_id", current->comm) == 0)
                return -EINVAL;
 
-       fimc_is_pdev = to_platform_device(fimc_is_dev);
-       exynos_fimc_is_cfg_cam_clk(fimc_is_pdev);
+       exynos_fimc_is_cfg_cam_clk(fimc_is_dev);
 
        vctx = NULL;
        video = video_drvdata(file);
index 9bc3716..4471ec6 100644 (file)
@@ -508,7 +508,7 @@ static int fimc_is_isp_video_s_ctrl(struct file *file, void *priv,
                if (device != NULL) {
                        fimc_is_hw_logdump(device->interface);
                        fimc_is_hw_regdump(device->interface);
-                       CALL_POPS(device, print_clk, device->pdev);
+                       CALL_POPS(device, print_clk, &device->pdev->dev);
                }
                if (ctrl->value) {
                        err("BUG_ON from HAL");
index 1809938..547a16a 100644 (file)
 #include "exynos-fimc-is.h"
 #include "exynos-fimc-is-sensor.h"
 
-int exynos5430_fimc_is_companion_iclk_div_max(struct platform_device *pdev)
+int exynos5430_fimc_is_companion_iclk_div_max(struct device *dev)
 {
        /* SCLK */
        /* SCLK_SPI0 */
-       fimc_is_set_parent_dt(pdev, "mout_sclk_isp_spi0", "oscclk");
-       fimc_is_set_rate_dt(pdev, "dout_sclk_isp_spi0_a", 1);
-       fimc_is_set_rate_dt(pdev, "dout_sclk_isp_spi0_b", 1);
-       fimc_is_set_parent_dt(pdev, "mout_sclk_isp_spi0_user", "oscclk");
+       fimc_is_set_parent_dt(dev, "mout_sclk_isp_spi0", "oscclk");
+       fimc_is_set_rate_dt(dev, "dout_sclk_isp_spi0_a", 1);
+       fimc_is_set_rate_dt(dev, "dout_sclk_isp_spi0_b", 1);
+       fimc_is_set_parent_dt(dev, "mout_sclk_isp_spi0_user", "oscclk");
 
        return 0;
 }
 
-int exynos5430_fimc_is_companion_iclk_cfg(struct platform_device *pdev,
-       u32 scenario,
-       u32 channel)
+int exynos5430_fimc_is_companion_iclk_cfg(struct device *dev, u32 scenario,
+                                         u32 channel)
 {
        int ret = 0;
 
        pr_info("clk_cfg:(ch%d),scenario(%d)\n", channel, scenario);
 
        /* SCLK_SPI0_ISP */
-       fimc_is_set_parent_dt(pdev, "mout_sclk_isp_spi0", "mout_bus_pll_user");
-       fimc_is_set_rate_dt(pdev, "dout_sclk_isp_spi0_a", 200 * 1000000);
-       fimc_is_set_rate_dt(pdev, "dout_sclk_isp_spi0_b", 100 * 1000000);
-       fimc_is_set_parent_dt(pdev, "mout_sclk_isp_spi0_user", "sclk_isp_spi0_top");
+       fimc_is_set_parent_dt(dev, "mout_sclk_isp_spi0", "mout_bus_pll_user");
+       fimc_is_set_rate_dt(dev, "dout_sclk_isp_spi0_a", 200 * 1000000);
+       fimc_is_set_rate_dt(dev, "dout_sclk_isp_spi0_b", 100 * 1000000);
+       fimc_is_set_parent_dt(dev, "mout_sclk_isp_spi0_user", "sclk_isp_spi0_top");
 
        /* I2C */
        /* CMU TOP */
-       fimc_is_set_rate_dt(pdev, "dout_aclk_cam1_333", 333 * 1000000);
+       fimc_is_set_rate_dt(dev, "dout_aclk_cam1_333", 333 * 1000000);
 
        /* USER_MUX_SEL */
-       fimc_is_set_parent_dt(pdev, "mout_aclk_cam1_333_user", "aclk_cam1_333");
+       fimc_is_set_parent_dt(dev, "mout_aclk_cam1_333_user", "aclk_cam1_333");
        /* MPWM */
-       fimc_is_set_rate_dt(pdev, "dout_pclk_cam1_166", 167 * 1000000);
-       fimc_is_set_rate_dt(pdev, "dout_pclk_cam1_83", 84 * 1000000);
-       fimc_is_set_rate_dt(pdev, "dout_sclk_isp_mpwm", 84 * 1000000);
+       fimc_is_set_rate_dt(dev, "dout_pclk_cam1_166", 167 * 1000000);
+       fimc_is_set_rate_dt(dev, "dout_pclk_cam1_83", 84 * 1000000);
+       fimc_is_set_rate_dt(dev, "dout_sclk_isp_mpwm", 84 * 1000000);
 
        return ret;
 }
 
-int exynos5430_fimc_is_companion_iclk_on(struct platform_device *pdev,
-       u32 scenario,
-       u32 channel)
+int exynos5430_fimc_is_companion_iclk_on(struct device *dev, u32 scenario,
+                                        u32 channel)
 {
        /* SCLK clock enable */
-       fimc_is_enable_dt(pdev, "gate_isp_spi0");
+       fimc_is_enable_dt(dev, "gate_isp_spi0");
 
        return 0;
 }
 
-int exynos5430_fimc_is_companion_iclk_off(struct platform_device *pdev,
-       u32 scenario,
-       u32 channel)
+int exynos5430_fimc_is_companion_iclk_off(struct device *dev, u32 scenario,
+                                         u32 channel)
 {
-       exynos5430_fimc_is_companion_iclk_div_max(pdev);
+       exynos5430_fimc_is_companion_iclk_div_max(dev);
 
        /* SCLK clock disable */
-       fimc_is_disable_dt(pdev, "gate_isp_spi0");
+       fimc_is_disable_dt(dev, "gate_isp_spi0");
 
        return 0;
 }
 
-int exynos5430_fimc_is_companion_mclk_on(struct platform_device *pdev,
-       u32 scenario,
-       u32 channel)
+int exynos5430_fimc_is_companion_mclk_on(struct device *dev, u32 scenario,
+                                        u32 channel)
 {
        u32 frequency;
        char mux_name[30];
@@ -105,19 +101,18 @@ int exynos5430_fimc_is_companion_mclk_on(struct platform_device *pdev,
        snprintf(div_b_name, sizeof(div_b_name), "dout_sclk_isp_sensor%d_b", channel);
        snprintf(sclk_name, sizeof(sclk_name), "sclk_isp_sensor%d", channel);
 
-       fimc_is_set_parent_dt(pdev, mux_name, "oscclk");
-       fimc_is_set_rate_dt(pdev, div_a_name, 24 * 1000000);
-       fimc_is_set_rate_dt(pdev, div_b_name, 24 * 1000000);
-       frequency = fimc_is_get_rate_dt(pdev, sclk_name);
+       fimc_is_set_parent_dt(dev, mux_name, "oscclk");
+       fimc_is_set_rate_dt(dev, div_a_name, 24 * 1000000);
+       fimc_is_set_rate_dt(dev, div_b_name, 24 * 1000000);
+       frequency = fimc_is_get_rate_dt(dev, sclk_name);
 
        pr_info("%s(%d, mclk : %d)\n", __func__, channel, frequency);
 
        return 0;
 }
 
-int exynos5430_fimc_is_companion_mclk_off(struct platform_device *pdev,
-       u32 scenario,
-       u32 channel)
+int exynos5430_fimc_is_companion_mclk_off(struct device *dev, u32 scenario,
+                                         u32 channel)
 {
        pr_debug("%s\n", __func__);
 
@@ -125,42 +120,37 @@ int exynos5430_fimc_is_companion_mclk_off(struct platform_device *pdev,
 }
 
 /* Wrapper functions */
-int exynos_fimc_is_companion_iclk_cfg(struct platform_device *pdev,
-       u32 scenario,
-       u32 channel)
+int exynos_fimc_is_companion_iclk_cfg(struct device *dev, u32 scenario,
+                                     u32 channel)
 {
-       exynos5430_fimc_is_companion_iclk_cfg(pdev, scenario, channel);
+       exynos5430_fimc_is_companion_iclk_cfg(dev, scenario, channel);
        return 0;
 }
 
-int exynos_fimc_is_companion_iclk_on(struct platform_device *pdev,
-       u32 scenario,
-       u32 channel)
+int exynos_fimc_is_companion_iclk_on(struct device *dev, u32 scenario,
+                                    u32 channel)
 {
-       exynos5430_fimc_is_companion_iclk_on(pdev, scenario, channel);
+       exynos5430_fimc_is_companion_iclk_on(dev, scenario, channel);
        return 0;
 }
 
-int exynos_fimc_is_companion_iclk_off(struct platform_device *pdev,
-       u32 scenario,
-       u32 channel)
+int exynos_fimc_is_companion_iclk_off(struct device *dev, u32 scenario,
+                                     u32 channel)
 {
-       exynos5430_fimc_is_companion_iclk_off(pdev, scenario, channel);
+       exynos5430_fimc_is_companion_iclk_off(dev, scenario, channel);
        return 0;
 }
 
-int exynos_fimc_is_companion_mclk_on(struct platform_device *pdev,
-       u32 scenario,
-       u32 channel)
+int exynos_fimc_is_companion_mclk_on(struct device *dev, u32 scenario,
+                                    u32 channel)
 {
-       exynos5430_fimc_is_companion_mclk_on(pdev, scenario, channel);
+       exynos5430_fimc_is_companion_mclk_on(dev, scenario, channel);
        return 0;
 }
 
-int exynos_fimc_is_companion_mclk_off(struct platform_device *pdev,
-       u32 scenario,
-       u32 channel)
+int exynos_fimc_is_companion_mclk_off(struct device *dev, u32 scenario,
+                                     u32 channel)
 {
-       exynos5430_fimc_is_companion_mclk_off(pdev, scenario, channel);
+       exynos5430_fimc_is_companion_mclk_off(dev, scenario, channel);
        return 0;
 }
index 3601929..3658328 100644 (file)
@@ -183,9 +183,8 @@ p_err:
 
 }
 
-int exynos5430_fimc_is_sensor_iclk_cfg(struct platform_device *pdev,
-       u32 scenario,
-       u32 channel)
+int exynos5430_fimc_is_sensor_iclk_cfg(struct device *dev, u32 scenario,
+                                      u32 channel)
 {
        int ret = 0;
 
@@ -197,139 +196,139 @@ int exynos5430_fimc_is_sensor_iclk_cfg(struct platform_device *pdev,
        switch (channel) {
        case 0:
                /* USER_MUX_SEL */
-               fimc_is_set_parent_dt(pdev, "mout_aclk_cam0_552_user", "oscclk");
-               fimc_is_set_parent_dt(pdev, "mout_aclk_cam0_400_user", "oscclk");
-               fimc_is_set_parent_dt(pdev, "mout_aclk_cam0_333_user", "oscclk");
+               fimc_is_set_parent_dt(dev, "mout_aclk_cam0_552_user", "oscclk");
+               fimc_is_set_parent_dt(dev, "mout_aclk_cam0_400_user", "oscclk");
+               fimc_is_set_parent_dt(dev, "mout_aclk_cam0_333_user", "oscclk");
 
                /* MIPI-CSIS PHY */
-               fimc_is_set_parent_dt(pdev, "mout_phyclk_rxbyteclkhs0_s4", "oscclk");
+               fimc_is_set_parent_dt(dev, "mout_phyclk_rxbyteclkhs0_s4", "oscclk");
 
                /* MIPI-CSIS0 */
-               fimc_is_set_rate_dt(pdev, "dout_aclk_csis0", 1);
+               fimc_is_set_rate_dt(dev, "dout_aclk_csis0", 1);
 
                /* FIMC-LITE0 */
-               fimc_is_set_rate_dt(pdev, "dout_aclk_lite_a", 1);
-               fimc_is_set_rate_dt(pdev, "dout_pclk_lite_a", 1);
+               fimc_is_set_rate_dt(dev, "dout_aclk_lite_a", 1);
+               fimc_is_set_rate_dt(dev, "dout_pclk_lite_a", 1);
 
                /* FIMC-LITE3 */
-               fimc_is_set_rate_dt(pdev, "dout_aclk_lite_d", 1);
-               fimc_is_set_rate_dt(pdev, "dout_pclk_lite_d", 1);
+               fimc_is_set_rate_dt(dev, "dout_aclk_lite_d", 1);
+               fimc_is_set_rate_dt(dev, "dout_pclk_lite_d", 1);
 
                /* ASYNC, FLITE, 3AA, SMMU, QE ... */
-               fimc_is_set_rate_dt(pdev, "dout_aclk_cam0_400", 1);
-               fimc_is_set_rate_dt(pdev, "dout_aclk_cam0_200", 1);
-               fimc_is_set_rate_dt(pdev, "dout_pclk_cam0_50", 1);
+               fimc_is_set_rate_dt(dev, "dout_aclk_cam0_400", 1);
+               fimc_is_set_rate_dt(dev, "dout_aclk_cam0_200", 1);
+               fimc_is_set_rate_dt(dev, "dout_pclk_cam0_50", 1);
 
                /* USER_MUX_SEL */
-               fimc_is_set_parent_dt(pdev, "mout_aclk_cam0_552_user", "aclk_cam0_552");
-               fimc_is_set_parent_dt(pdev, "mout_aclk_cam0_400_user", "aclk_cam0_400");
-               fimc_is_set_parent_dt(pdev, "mout_aclk_cam0_333_user", "aclk_cam0_333");
+               fimc_is_set_parent_dt(dev, "mout_aclk_cam0_552_user", "aclk_cam0_552");
+               fimc_is_set_parent_dt(dev, "mout_aclk_cam0_400_user", "aclk_cam0_400");
+               fimc_is_set_parent_dt(dev, "mout_aclk_cam0_333_user", "aclk_cam0_333");
 
                /* MIPI-CSIS PHY */
-               fimc_is_set_parent_dt(pdev, "mout_phyclk_rxbyteclkhs0_s4", "phyclk_rxbyteclkhs0_s4");
+               fimc_is_set_parent_dt(dev, "mout_phyclk_rxbyteclkhs0_s4", "phyclk_rxbyteclkhs0_s4");
 
                /* MIPI-CSIS0 */
-               fimc_is_set_parent_dt(pdev, "mout_aclk_csis0_a", "mout_aclk_cam0_552_user");
-               fimc_is_set_parent_dt(pdev, "mout_aclk_csis0_b", "mout_aclk_csis0_a");
-               fimc_is_set_rate_dt(pdev, "dout_aclk_csis0", 552 * 1000000);
+               fimc_is_set_parent_dt(dev, "mout_aclk_csis0_a", "mout_aclk_cam0_552_user");
+               fimc_is_set_parent_dt(dev, "mout_aclk_csis0_b", "mout_aclk_csis0_a");
+               fimc_is_set_rate_dt(dev, "dout_aclk_csis0", 552 * 1000000);
 
                /* FIMC-LITE0 */
-               fimc_is_set_parent_dt(pdev, "mout_aclk_lite_a_a", "mout_aclk_cam0_552_user");
-               fimc_is_set_parent_dt(pdev, "mout_aclk_lite_a_b", "mout_aclk_lite_a_a");
-               fimc_is_set_rate_dt(pdev, "dout_aclk_lite_a", 552 * 1000000);
-               fimc_is_set_rate_dt(pdev, "dout_pclk_lite_a", 276 * 1000000);
+               fimc_is_set_parent_dt(dev, "mout_aclk_lite_a_a", "mout_aclk_cam0_552_user");
+               fimc_is_set_parent_dt(dev, "mout_aclk_lite_a_b", "mout_aclk_lite_a_a");
+               fimc_is_set_rate_dt(dev, "dout_aclk_lite_a", 552 * 1000000);
+               fimc_is_set_rate_dt(dev, "dout_pclk_lite_a", 276 * 1000000);
 
                /* FIMC-LITE3 */
-               fimc_is_set_parent_dt(pdev, "mout_aclk_lite_d_a", "mout_aclk_cam0_552_user");
-               fimc_is_set_parent_dt(pdev, "mout_aclk_lite_d_b", "mout_aclk_lite_d_a");
-               fimc_is_set_rate_dt(pdev, "dout_aclk_lite_d", 552 * 1000000);
-               fimc_is_set_rate_dt(pdev, "dout_pclk_lite_d", 276 * 1000000);
+               fimc_is_set_parent_dt(dev, "mout_aclk_lite_d_a", "mout_aclk_cam0_552_user");
+               fimc_is_set_parent_dt(dev, "mout_aclk_lite_d_b", "mout_aclk_lite_d_a");
+               fimc_is_set_rate_dt(dev, "dout_aclk_lite_d", 552 * 1000000);
+               fimc_is_set_rate_dt(dev, "dout_pclk_lite_d", 276 * 1000000);
 
                /* ASYNC, FLITE, 3AA, SMMU, QE ... */
-               fimc_is_set_parent_dt(pdev, "mout_aclk_cam0_400", "mout_aclk_cam0_400_user");
-               fimc_is_set_rate_dt(pdev, "dout_aclk_cam0_400", 400 * 1000000);
-               fimc_is_set_rate_dt(pdev, "dout_aclk_cam0_200", 200 * 1000000);
-               fimc_is_set_rate_dt(pdev, "dout_pclk_cam0_50", 50 * 1000000);
+               fimc_is_set_parent_dt(dev, "mout_aclk_cam0_400", "mout_aclk_cam0_400_user");
+               fimc_is_set_rate_dt(dev, "dout_aclk_cam0_400", 400 * 1000000);
+               fimc_is_set_rate_dt(dev, "dout_aclk_cam0_200", 200 * 1000000);
+               fimc_is_set_rate_dt(dev, "dout_pclk_cam0_50", 50 * 1000000);
 
                /* FIMC-LITE2 PIXELASYNC */
-               fimc_is_set_rate_dt(pdev, "dout_sclk_pixelasync_lite_c_init", 1);
-               fimc_is_set_rate_dt(pdev, "dout_pclk_pixelasync_lite_c", 1);
-               fimc_is_set_rate_dt(pdev, "dout_sclk_pixelasync_lite_c", 1);
+               fimc_is_set_rate_dt(dev, "dout_sclk_pixelasync_lite_c_init", 1);
+               fimc_is_set_rate_dt(dev, "dout_pclk_pixelasync_lite_c", 1);
+               fimc_is_set_rate_dt(dev, "dout_sclk_pixelasync_lite_c", 1);
 
                /* FIMC-LITE2 PIXELASYNC */
-               fimc_is_set_parent_dt(pdev, "mout_sclk_pixelasync_lite_c_init_a", "mout_aclk_cam0_552_user");
-               fimc_is_set_parent_dt(pdev, "mout_sclk_pixelasync_lite_c_init_b", "mout_sclk_pixelasync_lite_c_init_a");
-               fimc_is_set_rate_dt(pdev, "dout_sclk_pixelasync_lite_c_init", 552 * 1000000);
-               fimc_is_set_rate_dt(pdev, "dout_pclk_pixelasync_lite_c", 276 * 1000000);
+               fimc_is_set_parent_dt(dev, "mout_sclk_pixelasync_lite_c_init_a", "mout_aclk_cam0_552_user");
+               fimc_is_set_parent_dt(dev, "mout_sclk_pixelasync_lite_c_init_b", "mout_sclk_pixelasync_lite_c_init_a");
+               fimc_is_set_rate_dt(dev, "dout_sclk_pixelasync_lite_c_init", 552 * 1000000);
+               fimc_is_set_rate_dt(dev, "dout_pclk_pixelasync_lite_c", 276 * 1000000);
 
-               fimc_is_set_parent_dt(pdev, "mout_sclk_pixelasync_lite_c_a", "mout_aclk_cam0_552_user");
-               fimc_is_set_parent_dt(pdev, "mout_sclk_pixelasync_lite_c_b", "mout_aclk_cam0_333_user");
-               fimc_is_set_rate_dt(pdev, "dout_sclk_pixelasync_lite_c", 333 * 1000000);
+               fimc_is_set_parent_dt(dev, "mout_sclk_pixelasync_lite_c_a", "mout_aclk_cam0_552_user");
+               fimc_is_set_parent_dt(dev, "mout_sclk_pixelasync_lite_c_b", "mout_aclk_cam0_333_user");
+               fimc_is_set_rate_dt(dev, "dout_sclk_pixelasync_lite_c", 333 * 1000000);
 
                break;
        case 1:
                /* USER_MUX_SEL */
-               fimc_is_set_parent_dt(pdev, "mout_aclk_cam0_552_user", "oscclk");
-               fimc_is_set_parent_dt(pdev, "mout_aclk_cam0_400_user", "oscclk");
-               fimc_is_set_parent_dt(pdev, "mout_aclk_cam0_333_user", "oscclk");
+               fimc_is_set_parent_dt(dev, "mout_aclk_cam0_552_user", "oscclk");
+               fimc_is_set_parent_dt(dev, "mout_aclk_cam0_400_user", "oscclk");
+               fimc_is_set_parent_dt(dev, "mout_aclk_cam0_333_user", "oscclk");
 
                /* MIPI-CSIS PHY */
-               fimc_is_set_parent_dt(pdev, "mout_phyclk_rxbyteclkhs0_s2a", "oscclk");
+               fimc_is_set_parent_dt(dev, "mout_phyclk_rxbyteclkhs0_s2a", "oscclk");
 
                /* MIPI-CSIS1 */
-               fimc_is_set_rate_dt(pdev, "dout_aclk_csis1", 1);
+               fimc_is_set_rate_dt(dev, "dout_aclk_csis1", 1);
 
                /* FIMC-LITE1 */
-               fimc_is_set_rate_dt(pdev, "dout_aclk_lite_b", 1);
-               fimc_is_set_rate_dt(pdev, "dout_pclk_lite_b", 1);
+               fimc_is_set_rate_dt(dev, "dout_aclk_lite_b", 1);
+               fimc_is_set_rate_dt(dev, "dout_pclk_lite_b", 1);
 
                /* USER_MUX_SEL */
-               fimc_is_set_parent_dt(pdev, "mout_aclk_cam0_552_user", "aclk_cam0_552");
-               fimc_is_set_parent_dt(pdev, "mout_aclk_cam0_400_user", "aclk_cam0_400");
-               fimc_is_set_parent_dt(pdev, "mout_aclk_cam0_333_user", "aclk_cam0_333");
+               fimc_is_set_parent_dt(dev, "mout_aclk_cam0_552_user", "aclk_cam0_552");
+               fimc_is_set_parent_dt(dev, "mout_aclk_cam0_400_user", "aclk_cam0_400");
+               fimc_is_set_parent_dt(dev, "mout_aclk_cam0_333_user", "aclk_cam0_333");
 
                /* MIPI-CSIS PHY */
-               fimc_is_set_parent_dt(pdev, "mout_phyclk_rxbyteclkhs0_s2a", "phyclk_rxbyteclkhs0_s2a");
+               fimc_is_set_parent_dt(dev, "mout_phyclk_rxbyteclkhs0_s2a", "phyclk_rxbyteclkhs0_s2a");
 
                /* MIPI-CSIS1 */
-               fimc_is_set_parent_dt(pdev, "mout_aclk_csis1_a", "mout_aclk_cam0_400_user");
-               fimc_is_set_parent_dt(pdev, "mout_aclk_csis1_b", "mout_aclk_csis1_a");
-               fimc_is_set_rate_dt(pdev, "dout_aclk_csis1", 552 * 1000000);
+               fimc_is_set_parent_dt(dev, "mout_aclk_csis1_a", "mout_aclk_cam0_400_user");
+               fimc_is_set_parent_dt(dev, "mout_aclk_csis1_b", "mout_aclk_csis1_a");
+               fimc_is_set_rate_dt(dev, "dout_aclk_csis1", 552 * 1000000);
 
                /* FIMC-LITE1 */
-               fimc_is_set_parent_dt(pdev, "mout_aclk_lite_b_a", "mout_aclk_cam0_400_user");
-               fimc_is_set_parent_dt(pdev, "mout_aclk_lite_b_b", "mout_aclk_lite_b_a");
-               fimc_is_set_rate_dt(pdev, "dout_aclk_lite_b", 552 * 1000000);
-               fimc_is_set_rate_dt(pdev, "dout_pclk_lite_b", 276 * 1000000);
+               fimc_is_set_parent_dt(dev, "mout_aclk_lite_b_a", "mout_aclk_cam0_400_user");
+               fimc_is_set_parent_dt(dev, "mout_aclk_lite_b_b", "mout_aclk_lite_b_a");
+               fimc_is_set_rate_dt(dev, "dout_aclk_lite_b", 552 * 1000000);
+               fimc_is_set_rate_dt(dev, "dout_pclk_lite_b", 276 * 1000000);
                break;
        case 2:
                /* USER_MUX_SEL */
-               fimc_is_set_parent_dt(pdev, "mout_aclk_cam1_552_user", "oscclk");
-               fimc_is_set_parent_dt(pdev, "mout_aclk_cam1_400_user", "oscclk");
-               fimc_is_set_parent_dt(pdev, "mout_aclk_cam1_333_user", "oscclk");
+               fimc_is_set_parent_dt(dev, "mout_aclk_cam1_552_user", "oscclk");
+               fimc_is_set_parent_dt(dev, "mout_aclk_cam1_400_user", "oscclk");
+               fimc_is_set_parent_dt(dev, "mout_aclk_cam1_333_user", "oscclk");
 
                /* MIPI-CSIS PHY */
-               fimc_is_set_parent_dt(pdev, "mout_phyclk_rxbyteclkhs0_s2b", "oscclk");
+               fimc_is_set_parent_dt(dev, "mout_phyclk_rxbyteclkhs0_s2b", "oscclk");
 
                /*  MIPI-CSIS2 */
-               fimc_is_set_rate_dt(pdev, "dout_aclk_csis2_a", 1);
+               fimc_is_set_rate_dt(dev, "dout_aclk_csis2_a", 1);
 
                /* FIMC-LITE2 */
-               fimc_is_set_rate_dt(pdev, "dout_aclk_lite_c", 1);
-               fimc_is_set_rate_dt(pdev, "dout_pclk_lite_c", 1);
+               fimc_is_set_rate_dt(dev, "dout_aclk_lite_c", 1);
+               fimc_is_set_rate_dt(dev, "dout_pclk_lite_c", 1);
 
                /* USER_MUX_SEL */
-               fimc_is_set_parent_dt(pdev, "mout_aclk_cam1_552_user", "aclk_cam1_552");
-               fimc_is_set_parent_dt(pdev, "mout_aclk_cam1_400_user", "aclk_cam1_400");
-               fimc_is_set_parent_dt(pdev, "mout_aclk_cam1_333_user", "aclk_cam1_333");
+               fimc_is_set_parent_dt(dev, "mout_aclk_cam1_552_user", "aclk_cam1_552");
+               fimc_is_set_parent_dt(dev, "mout_aclk_cam1_400_user", "aclk_cam1_400");
+               fimc_is_set_parent_dt(dev, "mout_aclk_cam1_333_user", "aclk_cam1_333");
 
                /* MIPI-CSIS PHY */
-               fimc_is_set_parent_dt(pdev, "mout_phyclk_rxbyteclkhs0_s2b", "phyclk_rxbyteclkhs0_s2b");
+               fimc_is_set_parent_dt(dev, "mout_phyclk_rxbyteclkhs0_s2b", "phyclk_rxbyteclkhs0_s2b");
 
                /*  MIPI-CSIS2 */
-               fimc_is_set_parent_dt(pdev, "mout_aclk_csis2_a", "mout_aclk_cam1_400_user");
-               fimc_is_set_parent_dt(pdev, "mout_aclk_csis2_b", "mout_aclk_cam1_333_user");
-               fimc_is_set_rate_dt(pdev, "dout_aclk_csis2_a", 333 * 1000000);
+               fimc_is_set_parent_dt(dev, "mout_aclk_csis2_a", "mout_aclk_cam1_400_user");
+               fimc_is_set_parent_dt(dev, "mout_aclk_csis2_b", "mout_aclk_cam1_333_user");
+               fimc_is_set_rate_dt(dev, "dout_aclk_csis2_a", 333 * 1000000);
                break;
        default:
                pr_err("channel is invalid(%d)\n", channel);
@@ -339,25 +338,24 @@ int exynos5430_fimc_is_sensor_iclk_cfg(struct platform_device *pdev,
        return ret;
 }
 
-int exynos5430_fimc_is_sensor_iclk_on(struct platform_device *pdev,
-       u32 scenario,
-       u32 channel)
+int exynos5430_fimc_is_sensor_iclk_on(struct device *dev, u32 scenario,
+                                     u32 channel)
 {
        switch (channel) {
        case 0:
-               fimc_is_enable_dt(pdev, "aclk_csis0");
-               fimc_is_enable_dt(pdev, "pclk_csis0");
-               fimc_is_enable_dt(pdev, "gate_lite_a");
-               fimc_is_enable_dt(pdev, "gate_lite_d");
+               fimc_is_enable_dt(dev, "aclk_csis0");
+               fimc_is_enable_dt(dev, "pclk_csis0");
+               fimc_is_enable_dt(dev, "gate_lite_a");
+               fimc_is_enable_dt(dev, "gate_lite_d");
                break;
        case 1:
-               fimc_is_enable_dt(pdev, "aclk_csis1");
-               fimc_is_enable_dt(pdev, "pclk_csis1");
-               fimc_is_enable_dt(pdev, "gate_lite_b");
+               fimc_is_enable_dt(dev, "aclk_csis1");
+               fimc_is_enable_dt(dev, "pclk_csis1");
+               fimc_is_enable_dt(dev, "gate_lite_b");
                break;
        case 2:
-               fimc_is_enable_dt(pdev, "gate_csis2");
-               fimc_is_enable_dt(pdev, "gate_lite_c");
+               fimc_is_enable_dt(dev, "gate_csis2");
+               fimc_is_enable_dt(dev, "gate_lite_c");
                break;
        default:
                pr_err("channel is invalid(%d)\n", channel);
@@ -367,25 +365,24 @@ int exynos5430_fimc_is_sensor_iclk_on(struct platform_device *pdev,
        return 0;
 }
 
-int exynos5430_fimc_is_sensor_iclk_off(struct platform_device *pdev,
-       u32 scenario,
-       u32 channel)
+int exynos5430_fimc_is_sensor_iclk_off(struct device *dev, u32 scenario,
+                                      u32 channel)
 {
        switch (channel) {
        case 0:
-               fimc_is_disable_dt(pdev, "aclk_csis0");
-               fimc_is_disable_dt(pdev, "pclk_csis0");
-               fimc_is_disable_dt(pdev, "gate_lite_a");
-               fimc_is_disable_dt(pdev, "gate_lite_d");
+               fimc_is_disable_dt(dev, "aclk_csis0");
+               fimc_is_disable_dt(dev, "pclk_csis0");
+               fimc_is_disable_dt(dev, "gate_lite_a");
+               fimc_is_disable_dt(dev, "gate_lite_d");
                break;
        case 1:
-               fimc_is_disable_dt(pdev, "aclk_csis1");
-               fimc_is_disable_dt(pdev, "pclk_csis1");
-               fimc_is_disable_dt(pdev, "gate_lite_b");
+               fimc_is_disable_dt(dev, "aclk_csis1");
+               fimc_is_disable_dt(dev, "pclk_csis1");
+               fimc_is_disable_dt(dev, "gate_lite_b");
                break;
        case 2:
-               fimc_is_disable_dt(pdev, "gate_csis2");
-               fimc_is_disable_dt(pdev, "gate_lite_c");
+               fimc_is_disable_dt(dev, "gate_csis2");
+               fimc_is_disable_dt(dev, "gate_lite_c");
                break;
        default:
                pr_err("channel is invalid(%d)\n", channel);
@@ -395,9 +392,8 @@ int exynos5430_fimc_is_sensor_iclk_off(struct platform_device *pdev,
        return 0;
 }
 
-int exynos5430_fimc_is_sensor_mclk_on(struct platform_device *pdev,
-       u32 scenario,
-       u32 channel)
+int exynos5430_fimc_is_sensor_mclk_on(struct device *dev, u32 scenario,
+                                     u32 channel)
 {
        u32 frequency;
        char mux_name[30];
@@ -412,19 +408,18 @@ int exynos5430_fimc_is_sensor_mclk_on(struct platform_device *pdev,
        snprintf(div_b_name, sizeof(div_b_name), "dout_sclk_isp_sensor%d_b", channel);
        snprintf(sclk_name, sizeof(sclk_name), "sclk_isp_sensor%d", channel);
 
-       fimc_is_set_parent_dt(pdev, mux_name, "oscclk");
-       fimc_is_set_rate_dt(pdev, div_a_name, 24 * 1000000);
-       fimc_is_set_rate_dt(pdev, div_b_name, 24 * 1000000);
-       frequency = fimc_is_get_rate_dt(pdev, sclk_name);
+       fimc_is_set_parent_dt(dev, mux_name, "oscclk");
+       fimc_is_set_rate_dt(dev, div_a_name, 24 * 1000000);
+       fimc_is_set_rate_dt(dev, div_b_name, 24 * 1000000);
+       frequency = fimc_is_get_rate_dt(dev, sclk_name);
 
        pr_info("%s(%d, mclk : %d)\n", __func__, channel, frequency);
 
        return 0;
 }
 
-int exynos5430_fimc_is_sensor_mclk_off(struct platform_device *pdev,
-       u32 scenario,
-       u32 channel)
+int exynos5430_fimc_is_sensor_mclk_off(struct device *dev, u32 scenario,
+                                      u32 channel)
 {
        char mux_name[30];
        char div_a_name[30];
@@ -438,51 +433,46 @@ int exynos5430_fimc_is_sensor_mclk_off(struct platform_device *pdev,
        snprintf(div_b_name, sizeof(div_b_name), "dout_sclk_isp_sensor%d_b", channel);
        snprintf(sclk_name, sizeof(sclk_name), "sclk_isp_sensor%d", channel);
 
-       fimc_is_set_parent_dt(pdev, mux_name, "oscclk");
-       fimc_is_set_rate_dt(pdev, div_a_name, 24 * 1000000);
-       fimc_is_set_rate_dt(pdev, div_b_name, 24 * 1000000);
-       fimc_is_get_rate_dt(pdev, sclk_name);
+       fimc_is_set_parent_dt(dev, mux_name, "oscclk");
+       fimc_is_set_rate_dt(dev, div_a_name, 24 * 1000000);
+       fimc_is_set_rate_dt(dev, div_b_name, 24 * 1000000);
+       fimc_is_get_rate_dt(dev, sclk_name);
 
        return 0;
 }
 
 /* Wrapper functions */
-int exynos_fimc_is_sensor_iclk_cfg(struct platform_device *pdev,
-       u32 scenario,
-       u32 channel)
+int exynos_fimc_is_sensor_iclk_cfg(struct device *dev, u32 scenario,
+                                  u32 channel)
 {
-       exynos5430_fimc_is_sensor_iclk_cfg(pdev, scenario, channel);
+       exynos5430_fimc_is_sensor_iclk_cfg(dev, scenario, channel);
        return 0;
 }
 
-int exynos_fimc_is_sensor_iclk_on(struct platform_device *pdev,
-       u32 scenario,
-       u32 channel)
+int exynos_fimc_is_sensor_iclk_on(struct device *dev, u32 scenario,
+                                 u32 channel)
 {
-       exynos5430_fimc_is_sensor_iclk_on(pdev, scenario, channel);
+       exynos5430_fimc_is_sensor_iclk_on(dev, scenario, channel);
        return 0;
 }
 
-int exynos_fimc_is_sensor_iclk_off(struct platform_device *pdev,
-       u32 scenario,
-       u32 channel)
+int exynos_fimc_is_sensor_iclk_off(struct device *dev, u32 scenario,
+                                  u32 channel)
 {
-       exynos5430_fimc_is_sensor_iclk_off(pdev, scenario, channel);
+       exynos5430_fimc_is_sensor_iclk_off(dev, scenario, channel);
        return 0;
 }
 
-int exynos_fimc_is_sensor_mclk_on(struct platform_device *pdev,
-       u32 scenario,
-       u32 channel)
+int exynos_fimc_is_sensor_mclk_on(struct device *dev, u32 scenario,
+                                 u32 channel)
 {
-       exynos5430_fimc_is_sensor_mclk_on(pdev, scenario, channel);
+       exynos5430_fimc_is_sensor_mclk_on(dev, scenario, channel);
        return 0;
 }
 
-int exynos_fimc_is_sensor_mclk_off(struct platform_device *pdev,
-       u32 scenario,
-       u32 channel)
+int exynos_fimc_is_sensor_mclk_off(struct device *dev, u32 scenario,
+                                  u32 channel)
 {
-       exynos5430_fimc_is_sensor_mclk_off(pdev, scenario, channel);
+       exynos5430_fimc_is_sensor_mclk_off(dev, scenario, channel);
        return 0;
 }
index 76a9338..c8444d1 100644 (file)
@@ -30,7 +30,7 @@ struct platform_device; /* don't need the contents */
 /*------------------------------------------------------*/
 /*             Common control                                                                  */
 /*------------------------------------------------------*/
-int exynos_fimc_is_print_cfg(struct platform_device *pdev, u32 channel)
+int exynos_fimc_is_print_cfg(struct device *dev, u32 channel)
 {
        pr_debug("%s\n", __func__);
 
@@ -38,19 +38,19 @@ int exynos_fimc_is_print_cfg(struct platform_device *pdev, u32 channel)
 }
 
 /* utility function to set parent with DT */
-int fimc_is_set_parent_dt(struct platform_device *pdev,
-       const char *child, const char *parent)
+int fimc_is_set_parent_dt(struct device *dev, const char *child,
+                         const char *parent)
 {
        struct clk *p;
        struct clk *c;
 
-       p = devm_clk_get(&pdev->dev, parent);
+       p = devm_clk_get(dev, parent);
        if (IS_ERR(p)) {
                pr_err("%s: could not lookup clock : %s\n", __func__, parent);
                return -EINVAL;
        }
 
-       c = devm_clk_get(&pdev->dev, child);
+       c = devm_clk_get(dev, child);
        if (IS_ERR(c)) {
                pr_err("%s: could not lookup clock : %s\n", __func__, child);
                return -EINVAL;
@@ -60,12 +60,12 @@ int fimc_is_set_parent_dt(struct platform_device *pdev,
 }
 
 /* utility function to set rate with DT */
-int fimc_is_set_rate_dt(struct platform_device *pdev,
-       const char *conid, unsigned int rate)
+int fimc_is_set_rate_dt(struct device *dev, const char *conid,
+                       unsigned int rate)
 {
        struct clk *target;
 
-       target = devm_clk_get(&pdev->dev, conid);
+       target = devm_clk_get(dev, conid);
        if (IS_ERR(target)) {
                pr_err("%s: could not lookup clock : %s\n", __func__, conid);
                return -EINVAL;
@@ -75,13 +75,12 @@ int fimc_is_set_rate_dt(struct platform_device *pdev,
 }
 
 /* utility function to get rate with DT */
-unsigned int  fimc_is_get_rate_dt(struct platform_device *pdev,
-       const char *conid)
+unsigned int fimc_is_get_rate_dt(struct device *dev, const char *conid)
 {
        struct clk *target;
        unsigned int rate_target;
 
-       target = devm_clk_get(&pdev->dev, conid);
+       target = devm_clk_get(dev, conid);
        if (IS_ERR(target)) {
                pr_err("%s: could not lookup clock : %s\n", __func__, conid);
                return -EINVAL;
@@ -94,12 +93,11 @@ unsigned int  fimc_is_get_rate_dt(struct platform_device *pdev,
 }
 
 /* utility function to eable with DT */
-unsigned int  fimc_is_enable_dt(struct platform_device *pdev,
-               const char *conid)
+unsigned int fimc_is_enable_dt(struct device *dev, const char *conid)
 {
        struct clk *target;
 
-       target = devm_clk_get(&pdev->dev, conid);
+       target = devm_clk_get(dev, conid);
        if (IS_ERR(target)) {
                pr_err("%s: could not lookup clock : %s\n", __func__, conid);
                return -EINVAL;
@@ -111,12 +109,11 @@ unsigned int  fimc_is_enable_dt(struct platform_device *pdev,
 }
 
 /* utility function to disable with DT */
-void  fimc_is_disable_dt(struct platform_device *pdev,
-               const char *conid)
+void  fimc_is_disable_dt(struct device *dev, const char *conid)
 {
        struct clk *target;
 
-       target = devm_clk_get(&pdev->dev, conid);
+       target = devm_clk_get(dev, conid);
        if (IS_ERR(target)) {
                pr_err("%s: could not lookup clock : %s\n", __func__, conid);
        }
@@ -125,146 +122,146 @@ void  fimc_is_disable_dt(struct platform_device *pdev,
        clk_unprepare(target);
 }
 
-static int exynos5430_cfg_clk_isp_pll_on(struct platform_device *pdev)
+static int exynos5430_cfg_clk_isp_pll_on(struct device *dev)
 {
        pr_info("%s\n", __func__);
 
-       fimc_is_enable_dt(pdev, "fout_isp_pll");
-       fimc_is_set_parent_dt(pdev, "mout_isp_pll", "fout_isp_pll");
+       fimc_is_enable_dt(dev, "fout_isp_pll");
+       fimc_is_set_parent_dt(dev, "mout_isp_pll", "fout_isp_pll");
 
        return 0;
 }
 
-static int exynos5430_cfg_clk_isp_pll_off(struct platform_device *pdev)
+static int exynos5430_cfg_clk_isp_pll_off(struct device *dev)
 {
        pr_info("%s\n", __func__);
 
-       fimc_is_set_parent_dt(pdev, "mout_isp_pll", "fin_pll");
-       fimc_is_disable_dt(pdev, "fout_isp_pll");
+       fimc_is_set_parent_dt(dev, "mout_isp_pll", "fin_pll");
+       fimc_is_disable_dt(dev, "fout_isp_pll");
 
        return 0;
 }
 
-int exynos5430_cfg_clk_div_max(struct platform_device *pdev)
+int exynos5430_cfg_clk_div_max(struct device *dev)
 {
 
-       fimc_is_set_parent_dt(pdev, "mout_aclk_cam0_552_user", "oscclk");
-       fimc_is_set_parent_dt(pdev, "mout_aclk_cam0_400_user", "oscclk");
-       fimc_is_set_parent_dt(pdev, "mout_aclk_cam0_333_user", "oscclk");
+       fimc_is_set_parent_dt(dev, "mout_aclk_cam0_552_user", "oscclk");
+       fimc_is_set_parent_dt(dev, "mout_aclk_cam0_400_user", "oscclk");
+       fimc_is_set_parent_dt(dev, "mout_aclk_cam0_333_user", "oscclk");
 
        /* MIPI-CSIS PHY */
-       fimc_is_set_parent_dt(pdev, "mout_phyclk_rxbyteclkhs0_s4", "oscclk");
-       fimc_is_set_parent_dt(pdev, "mout_phyclk_rxbyteclkhs0_s2a", "oscclk");
+       fimc_is_set_parent_dt(dev, "mout_phyclk_rxbyteclkhs0_s4", "oscclk");
+       fimc_is_set_parent_dt(dev, "mout_phyclk_rxbyteclkhs0_s2a", "oscclk");
 
        /* USER_MUX_SEL */
-       fimc_is_set_parent_dt(pdev, "mout_aclk_cam1_552_user", "oscclk");
-       fimc_is_set_parent_dt(pdev, "mout_aclk_cam1_400_user", "oscclk");
-       fimc_is_set_parent_dt(pdev, "mout_aclk_cam1_333_user", "oscclk");
+       fimc_is_set_parent_dt(dev, "mout_aclk_cam1_552_user", "oscclk");
+       fimc_is_set_parent_dt(dev, "mout_aclk_cam1_400_user", "oscclk");
+       fimc_is_set_parent_dt(dev, "mout_aclk_cam1_333_user", "oscclk");
 
        /* MIPI-CSIS PHY */
-       fimc_is_set_parent_dt(pdev, "mout_phyclk_rxbyteclkhs0_s2b", "oscclk");
+       fimc_is_set_parent_dt(dev, "mout_phyclk_rxbyteclkhs0_s2b", "oscclk");
 
        /* SCLK */
 
        /* SCLK_UART */
-       fimc_is_set_parent_dt(pdev, "mout_sclk_isp_uart", "oscclk");
-       fimc_is_set_rate_dt(pdev, "dout_sclk_isp_uart", 1);
-       fimc_is_set_parent_dt(pdev, "mout_sclk_isp_uart_user", "oscclk");
+       fimc_is_set_parent_dt(dev, "mout_sclk_isp_uart", "oscclk");
+       fimc_is_set_rate_dt(dev, "dout_sclk_isp_uart", 1);
+       fimc_is_set_parent_dt(dev, "mout_sclk_isp_uart_user", "oscclk");
 
        /* CAM1 */
        /* C-A5 */
-       fimc_is_set_rate_dt(pdev, "dout_atclk_cam1", 1);
-       fimc_is_set_rate_dt(pdev, "dout_pclk_dbg_cam1", 1);
+       fimc_is_set_rate_dt(dev, "dout_atclk_cam1", 1);
+       fimc_is_set_rate_dt(dev, "dout_pclk_dbg_cam1", 1);
 
-       fimc_is_set_parent_dt(pdev, "mout_aclk_isp_400_user", "oscclk");
-       fimc_is_set_parent_dt(pdev, "mout_aclk_isp_dis_400_user", "oscclk");
+       fimc_is_set_parent_dt(dev, "mout_aclk_isp_400_user", "oscclk");
+       fimc_is_set_parent_dt(dev, "mout_aclk_isp_dis_400_user", "oscclk");
 
        return 0;
 }
 
-int exynos5430_cfg_clk_sclk(struct platform_device *pdev)
+int exynos5430_cfg_clk_sclk(struct device *dev)
 {
        /* SCLK_SPI1 */
-       fimc_is_set_parent_dt(pdev, "mout_sclk_isp_spi1", "mout_bus_pll_user");
-       fimc_is_set_rate_dt(pdev, "dout_sclk_isp_spi1_a", 275 * 1000000);
-       fimc_is_set_rate_dt(pdev, "dout_sclk_isp_spi1_b", 46 * 1000000);
-       fimc_is_set_parent_dt(pdev, "mout_sclk_isp_spi1_user", "sclk_isp_spi1_top");
+       fimc_is_set_parent_dt(dev, "mout_sclk_isp_spi1", "mout_bus_pll_user");
+       fimc_is_set_rate_dt(dev, "dout_sclk_isp_spi1_a", 275 * 1000000);
+       fimc_is_set_rate_dt(dev, "dout_sclk_isp_spi1_b", 46 * 1000000);
+       fimc_is_set_parent_dt(dev, "mout_sclk_isp_spi1_user", "sclk_isp_spi1_top");
 
        return 0;
 }
 
-int exynos5430_cfg_clk_cam0(struct platform_device *pdev)
+int exynos5430_cfg_clk_cam0(struct device *dev)
 {
        /* USER_MUX_SEL */
-       fimc_is_set_parent_dt(pdev, "mout_aclk_cam0_552_user", "aclk_cam0_552");
-       fimc_is_set_parent_dt(pdev, "mout_aclk_cam0_400_user", "aclk_cam0_400");
-       fimc_is_set_parent_dt(pdev, "mout_aclk_cam0_333_user", "aclk_cam0_333");
-       fimc_is_set_parent_dt(pdev, "mout_phyclk_rxbyteclkhs0_s4", "phyclk_rxbyteclkhs0_s4");
-       fimc_is_set_parent_dt(pdev, "mout_phyclk_rxbyteclkhs0_s2a", "phyclk_rxbyteclkhs0_s2a");
-       fimc_is_set_parent_dt(pdev, "mout_phyclk_rxbyteclkhs0_s2b", "phyclk_rxbyteclkhs0_s2b");
+       fimc_is_set_parent_dt(dev, "mout_aclk_cam0_552_user", "aclk_cam0_552");
+       fimc_is_set_parent_dt(dev, "mout_aclk_cam0_400_user", "aclk_cam0_400");
+       fimc_is_set_parent_dt(dev, "mout_aclk_cam0_333_user", "aclk_cam0_333");
+       fimc_is_set_parent_dt(dev, "mout_phyclk_rxbyteclkhs0_s4", "phyclk_rxbyteclkhs0_s4");
+       fimc_is_set_parent_dt(dev, "mout_phyclk_rxbyteclkhs0_s2a", "phyclk_rxbyteclkhs0_s2a");
+       fimc_is_set_parent_dt(dev, "mout_phyclk_rxbyteclkhs0_s2b", "phyclk_rxbyteclkhs0_s2b");
 
        /* LITE A */
-       fimc_is_set_parent_dt(pdev, "mout_aclk_lite_a_a", "mout_aclk_cam0_552_user");
-       fimc_is_set_parent_dt(pdev, "mout_aclk_lite_a_b", "mout_aclk_lite_a_a");
-       fimc_is_set_rate_dt(pdev, "dout_aclk_lite_a", 552 * 1000000);
-       fimc_is_set_rate_dt(pdev, "dout_pclk_lite_a", 276 * 1000000);
+       fimc_is_set_parent_dt(dev, "mout_aclk_lite_a_a", "mout_aclk_cam0_552_user");
+       fimc_is_set_parent_dt(dev, "mout_aclk_lite_a_b", "mout_aclk_lite_a_a");
+       fimc_is_set_rate_dt(dev, "dout_aclk_lite_a", 552 * 1000000);
+       fimc_is_set_rate_dt(dev, "dout_pclk_lite_a", 276 * 1000000);
 
        /* LITE B */
-       fimc_is_set_parent_dt(pdev, "mout_aclk_lite_b_a", "mout_aclk_cam0_552_user");
-       fimc_is_set_parent_dt(pdev, "mout_aclk_lite_b_b", "mout_aclk_lite_b_a");
-       fimc_is_set_rate_dt(pdev, "dout_aclk_lite_b", 552 * 1000000);
-       fimc_is_set_rate_dt(pdev, "dout_pclk_lite_b", 276 * 1000000);
+       fimc_is_set_parent_dt(dev, "mout_aclk_lite_b_a", "mout_aclk_cam0_552_user");
+       fimc_is_set_parent_dt(dev, "mout_aclk_lite_b_b", "mout_aclk_lite_b_a");
+       fimc_is_set_rate_dt(dev, "dout_aclk_lite_b", 552 * 1000000);
+       fimc_is_set_rate_dt(dev, "dout_pclk_lite_b", 276 * 1000000);
 
        /* LITE D */
-       fimc_is_set_parent_dt(pdev, "mout_aclk_lite_d_a", "mout_aclk_cam0_552_user");
-       fimc_is_set_parent_dt(pdev, "mout_aclk_lite_d_b", "mout_aclk_lite_d_a");
-       fimc_is_set_rate_dt(pdev, "dout_aclk_lite_d", 552 * 1000000);
-       fimc_is_set_rate_dt(pdev, "dout_pclk_lite_d", 276 * 1000000);
+       fimc_is_set_parent_dt(dev, "mout_aclk_lite_d_a", "mout_aclk_cam0_552_user");
+       fimc_is_set_parent_dt(dev, "mout_aclk_lite_d_b", "mout_aclk_lite_d_a");
+       fimc_is_set_rate_dt(dev, "dout_aclk_lite_d", 552 * 1000000);
+       fimc_is_set_rate_dt(dev, "dout_pclk_lite_d", 276 * 1000000);
 
        /* LITE C PIXELASYNC */
-       fimc_is_set_parent_dt(pdev, "mout_sclk_pixelasync_lite_c_init_a", "mout_aclk_cam0_552_user");
-       fimc_is_set_parent_dt(pdev, "mout_sclk_pixelasync_lite_c_init_b", "mout_sclk_pixelasync_lite_c_init_a");
-       fimc_is_set_rate_dt(pdev, "dout_sclk_pixelasync_lite_c_init", 552 * 1000000);
-       fimc_is_set_rate_dt(pdev, "dout_pclk_pixelasync_lite_c", 276 * 1000000);
+       fimc_is_set_parent_dt(dev, "mout_sclk_pixelasync_lite_c_init_a", "mout_aclk_cam0_552_user");
+       fimc_is_set_parent_dt(dev, "mout_sclk_pixelasync_lite_c_init_b", "mout_sclk_pixelasync_lite_c_init_a");
+       fimc_is_set_rate_dt(dev, "dout_sclk_pixelasync_lite_c_init", 552 * 1000000);
+       fimc_is_set_rate_dt(dev, "dout_pclk_pixelasync_lite_c", 276 * 1000000);
 
-       fimc_is_set_parent_dt(pdev, "mout_sclk_pixelasync_lite_c_a", "mout_aclk_cam0_552_user");
-       fimc_is_set_parent_dt(pdev, "mout_sclk_pixelasync_lite_c_b", "mout_aclk_cam0_333_user");
-       fimc_is_set_rate_dt(pdev, "dout_sclk_pixelasync_lite_c", 333 * 1000000);
+       fimc_is_set_parent_dt(dev, "mout_sclk_pixelasync_lite_c_a", "mout_aclk_cam0_552_user");
+       fimc_is_set_parent_dt(dev, "mout_sclk_pixelasync_lite_c_b", "mout_aclk_cam0_333_user");
+       fimc_is_set_rate_dt(dev, "dout_sclk_pixelasync_lite_c", 333 * 1000000);
 
        /* 3AA 0 */
-       fimc_is_set_parent_dt(pdev, "mout_aclk_3aa0_a", "mout_aclk_cam0_552_user");
-       fimc_is_set_parent_dt(pdev, "mout_aclk_3aa0_b", "mout_aclk_3aa0_a");
-       fimc_is_set_rate_dt(pdev, "dout_aclk_3aa0", 552 * 1000000);
-       fimc_is_set_rate_dt(pdev, "dout_pclk_3aa0", 276 * 1000000);
+       fimc_is_set_parent_dt(dev, "mout_aclk_3aa0_a", "mout_aclk_cam0_552_user");
+       fimc_is_set_parent_dt(dev, "mout_aclk_3aa0_b", "mout_aclk_3aa0_a");
+       fimc_is_set_rate_dt(dev, "dout_aclk_3aa0", 552 * 1000000);
+       fimc_is_set_rate_dt(dev, "dout_pclk_3aa0", 276 * 1000000);
 
        /* 3AA 0 */
-       fimc_is_set_parent_dt(pdev, "mout_aclk_3aa1_a", "mout_aclk_cam0_552_user");
-       fimc_is_set_parent_dt(pdev, "mout_aclk_3aa1_b", "mout_aclk_3aa1_a");
-       fimc_is_set_rate_dt(pdev, "dout_aclk_3aa1", 552 * 1000000);
-       fimc_is_set_rate_dt(pdev, "dout_pclk_3aa1", 276 * 1000000);
+       fimc_is_set_parent_dt(dev, "mout_aclk_3aa1_a", "mout_aclk_cam0_552_user");
+       fimc_is_set_parent_dt(dev, "mout_aclk_3aa1_b", "mout_aclk_3aa1_a");
+       fimc_is_set_rate_dt(dev, "dout_aclk_3aa1", 552 * 1000000);
+       fimc_is_set_rate_dt(dev, "dout_pclk_3aa1", 276 * 1000000);
 
        /* CSI 0 */
-       fimc_is_set_parent_dt(pdev, "mout_aclk_csis0_a", "mout_aclk_cam0_552_user");
-       fimc_is_set_parent_dt(pdev, "mout_aclk_csis0_b", "mout_aclk_csis0_a");
-       fimc_is_set_rate_dt(pdev, "dout_aclk_csis0", 552 * 1000000);
+       fimc_is_set_parent_dt(dev, "mout_aclk_csis0_a", "mout_aclk_cam0_552_user");
+       fimc_is_set_parent_dt(dev, "mout_aclk_csis0_b", "mout_aclk_csis0_a");
+       fimc_is_set_rate_dt(dev, "dout_aclk_csis0", 552 * 1000000);
 
        /* CSI 1 */
-       fimc_is_set_parent_dt(pdev, "mout_aclk_csis1_a", "mout_aclk_cam0_552_user");
-       fimc_is_set_parent_dt(pdev, "mout_aclk_csis1_b", "mout_aclk_csis1_a");
-       fimc_is_set_rate_dt(pdev, "dout_aclk_csis1", 552 * 1000000);
+       fimc_is_set_parent_dt(dev, "mout_aclk_csis1_a", "mout_aclk_cam0_552_user");
+       fimc_is_set_parent_dt(dev, "mout_aclk_csis1_b", "mout_aclk_csis1_a");
+       fimc_is_set_rate_dt(dev, "dout_aclk_csis1", 552 * 1000000);
 
        /* CAM0 400 */
-       fimc_is_set_parent_dt(pdev, "mout_aclk_cam0_400", "mout_aclk_cam0_400_user");
-       fimc_is_set_rate_dt(pdev, "dout_aclk_cam0_400", 413 * 1000000);
-       fimc_is_set_rate_dt(pdev, "dout_aclk_cam0_200", 207 * 1000000);
-       fimc_is_set_rate_dt(pdev, "dout_pclk_cam0_50", 52 * 1000000);
+       fimc_is_set_parent_dt(dev, "mout_aclk_cam0_400", "mout_aclk_cam0_400_user");
+       fimc_is_set_rate_dt(dev, "dout_aclk_cam0_400", 413 * 1000000);
+       fimc_is_set_rate_dt(dev, "dout_aclk_cam0_200", 207 * 1000000);
+       fimc_is_set_rate_dt(dev, "dout_pclk_cam0_50", 52 * 1000000);
 
        return 0;
 }
 
-int exynos5430_cfg_clk_cam1(struct platform_device *pdev)
+int exynos5430_cfg_clk_cam1(struct device *dev)
 {
-       struct fimc_is_core *core = platform_get_drvdata(pdev);
+       struct fimc_is_core *core = dev_get_drvdata(dev);
        /*
         * It's not clear to me why, but the front camera doesn't work properly
         * (only empty buffers dequeued) when this ACLK_CAM1_552_USER mux is
@@ -275,159 +272,159 @@ int exynos5430_cfg_clk_cam1(struct platform_device *pdev)
         */
        /* USER_MUX_SEL */
        if (core->id == 0)
-               fimc_is_set_parent_dt(pdev, "mout_aclk_cam1_552_user",
+               fimc_is_set_parent_dt(dev, "mout_aclk_cam1_552_user",
                                      "aclk_cam1_552");
-       fimc_is_set_parent_dt(pdev, "mout_aclk_cam1_400_user", "aclk_cam1_400");
-       fimc_is_set_parent_dt(pdev, "mout_aclk_cam1_333_user", "aclk_cam1_333");
+       fimc_is_set_parent_dt(dev, "mout_aclk_cam1_400_user", "aclk_cam1_400");
+       fimc_is_set_parent_dt(dev, "mout_aclk_cam1_333_user", "aclk_cam1_333");
 
        /* C-A5 */
-       fimc_is_set_rate_dt(pdev, "dout_atclk_cam1", 276 * 1000000);
-       fimc_is_set_rate_dt(pdev, "dout_pclk_dbg_cam1", 138 * 1000000);
+       fimc_is_set_rate_dt(dev, "dout_atclk_cam1", 276 * 1000000);
+       fimc_is_set_rate_dt(dev, "dout_pclk_dbg_cam1", 138 * 1000000);
 
        /* LITE A */
-       fimc_is_set_parent_dt(pdev, "mout_aclk_lite_c_a", "mout_aclk_cam1_400_user");
-       fimc_is_set_parent_dt(pdev, "mout_aclk_lite_c_b", "mout_aclk_cam1_333_user");
-       fimc_is_set_rate_dt(pdev, "dout_aclk_lite_c", 333 * 1000000);
-       fimc_is_set_rate_dt(pdev, "dout_pclk_lite_c", 166 * 1000000);
+       fimc_is_set_parent_dt(dev, "mout_aclk_lite_c_a", "mout_aclk_cam1_400_user");
+       fimc_is_set_parent_dt(dev, "mout_aclk_lite_c_b", "mout_aclk_cam1_333_user");
+       fimc_is_set_rate_dt(dev, "dout_aclk_lite_c", 333 * 1000000);
+       fimc_is_set_rate_dt(dev, "dout_pclk_lite_c", 166 * 1000000);
 
        /* FD */
-       fimc_is_set_parent_dt(pdev, "mout_aclk_fd_a", "mout_aclk_cam1_400_user");
-       fimc_is_set_parent_dt(pdev, "mout_aclk_fd_b", "mout_aclk_fd_a");
-       fimc_is_set_rate_dt(pdev, "dout_aclk_fd", 413 * 1000000);
-       fimc_is_set_rate_dt(pdev, "dout_pclk_fd", 207 * 1000000);
+       fimc_is_set_parent_dt(dev, "mout_aclk_fd_a", "mout_aclk_cam1_400_user");
+       fimc_is_set_parent_dt(dev, "mout_aclk_fd_b", "mout_aclk_fd_a");
+       fimc_is_set_rate_dt(dev, "dout_aclk_fd", 413 * 1000000);
+       fimc_is_set_rate_dt(dev, "dout_pclk_fd", 207 * 1000000);
 
        /* CSI 2 */
-       fimc_is_set_parent_dt(pdev, "mout_aclk_csis2_a", "mout_aclk_cam1_400_user");
-       fimc_is_set_parent_dt(pdev, "mout_aclk_csis2_b", "mout_aclk_cam1_333_user");
-       fimc_is_set_rate_dt(pdev, "dout_aclk_csis2_a", 333 * 1000000);
+       fimc_is_set_parent_dt(dev, "mout_aclk_csis2_a", "mout_aclk_cam1_400_user");
+       fimc_is_set_parent_dt(dev, "mout_aclk_csis2_b", "mout_aclk_cam1_333_user");
+       fimc_is_set_rate_dt(dev, "dout_aclk_csis2_a", 333 * 1000000);
 
        /* MPWM */
-       fimc_is_set_rate_dt(pdev, "dout_pclk_cam1_166", 167 * 1000000);
-       fimc_is_set_rate_dt(pdev, "dout_pclk_cam1_83", 84 * 1000000);
-       fimc_is_set_rate_dt(pdev, "dout_sclk_isp_mpwm", 84 * 1000000);
+       fimc_is_set_rate_dt(dev, "dout_pclk_cam1_166", 167 * 1000000);
+       fimc_is_set_rate_dt(dev, "dout_pclk_cam1_83", 84 * 1000000);
+       fimc_is_set_rate_dt(dev, "dout_sclk_isp_mpwm", 84 * 1000000);
 
        /* CAM1 QE CLK GATE */
-       fimc_is_enable_dt(pdev, "gate_bts_fd");
-       fimc_is_disable_dt(pdev, "gate_bts_fd");
+       fimc_is_enable_dt(dev, "gate_bts_fd");
+       fimc_is_disable_dt(dev, "gate_bts_fd");
 
        return 0;
 }
 
-int exynos5430_cfg_clk_cam1_spi(struct platform_device *pdev)
+int exynos5430_cfg_clk_cam1_spi(struct device *dev)
 {
        /* USER_MUX_SEL */
-       fimc_is_set_parent_dt(pdev, "mout_aclk_cam1_333_user", "aclk_cam1_333");
+       fimc_is_set_parent_dt(dev, "mout_aclk_cam1_333_user", "aclk_cam1_333");
 
        /* SPI */
-       fimc_is_set_rate_dt(pdev, "dout_pclk_cam1_83", 84 * 1000000);
+       fimc_is_set_rate_dt(dev, "dout_pclk_cam1_83", 84 * 1000000);
 
        return 0;
 }
 
-int exynos5430_cfg_clk_isp(struct platform_device *pdev)
+int exynos5430_cfg_clk_isp(struct device *dev)
 {
        /* CMU_ISP */
        /* USER_MUX_SEL */
-       fimc_is_set_parent_dt(pdev, "mout_aclk_isp_400_user", "aclk_isp_400");
-       fimc_is_set_parent_dt(pdev, "mout_aclk_isp_dis_400_user", "aclk_isp_dis_400");
+       fimc_is_set_parent_dt(dev, "mout_aclk_isp_400_user", "aclk_isp_400");
+       fimc_is_set_parent_dt(dev, "mout_aclk_isp_dis_400_user", "aclk_isp_dis_400");
        /* ISP */
-       fimc_is_set_rate_dt(pdev, "dout_aclk_isp_c_200", 207 * 1000000);
-       fimc_is_set_rate_dt(pdev, "dout_aclk_isp_d_200", 207 * 1000000);
-       fimc_is_set_rate_dt(pdev, "dout_pclk_isp", 83 * 1000000);
+       fimc_is_set_rate_dt(dev, "dout_aclk_isp_c_200", 207 * 1000000);
+       fimc_is_set_rate_dt(dev, "dout_aclk_isp_d_200", 207 * 1000000);
+       fimc_is_set_rate_dt(dev, "dout_pclk_isp", 83 * 1000000);
        /* DIS */
-       fimc_is_set_rate_dt(pdev, "dout_pclk_isp_dis", 207 * 1000000);
+       fimc_is_set_rate_dt(dev, "dout_pclk_isp_dis", 207 * 1000000);
 
        /* ISP QE CLK GATE */
-       fimc_is_enable_dt(pdev, "gate_bts_3dnr");
-       fimc_is_enable_dt(pdev, "gate_bts_dis1");
-       fimc_is_enable_dt(pdev, "gate_bts_dis0");
-       fimc_is_enable_dt(pdev, "gate_bts_scalerc");
-       fimc_is_enable_dt(pdev, "gate_bts_drc");
-       fimc_is_disable_dt(pdev, "gate_bts_3dnr");
-       fimc_is_disable_dt(pdev, "gate_bts_dis1");
-       fimc_is_disable_dt(pdev, "gate_bts_dis0");
-       fimc_is_disable_dt(pdev, "gate_bts_scalerc");
-       fimc_is_disable_dt(pdev, "gate_bts_drc");
+       fimc_is_enable_dt(dev, "gate_bts_3dnr");
+       fimc_is_enable_dt(dev, "gate_bts_dis1");
+       fimc_is_enable_dt(dev, "gate_bts_dis0");
+       fimc_is_enable_dt(dev, "gate_bts_scalerc");
+       fimc_is_enable_dt(dev, "gate_bts_drc");
+       fimc_is_disable_dt(dev, "gate_bts_3dnr");
+       fimc_is_disable_dt(dev, "gate_bts_dis1");
+       fimc_is_disable_dt(dev, "gate_bts_dis0");
+       fimc_is_disable_dt(dev, "gate_bts_scalerc");
+       fimc_is_disable_dt(dev, "gate_bts_drc");
 
        return 0;
 }
 
-int exynos5430_fimc_is_cfg_clk(struct platform_device *pdev)
+int exynos5430_fimc_is_cfg_clk(struct device *dev)
 {
        pr_debug("%s\n", __func__);
 
-       exynos5430_cfg_clk_isp_pll_on(pdev);
-       exynos5430_cfg_clk_div_max(pdev);
+       exynos5430_cfg_clk_isp_pll_on(dev);
+       exynos5430_cfg_clk_div_max(dev);
 
        /* initialize Clocks */
-       exynos5430_cfg_clk_sclk(pdev);
-       exynos5430_cfg_clk_cam0(pdev);
-       exynos5430_cfg_clk_cam1(pdev);
-       exynos5430_cfg_clk_isp(pdev);
+       exynos5430_cfg_clk_sclk(dev);
+       exynos5430_cfg_clk_cam0(dev);
+       exynos5430_cfg_clk_cam1(dev);
+       exynos5430_cfg_clk_isp(dev);
 
        return 0;
 }
 
-static int exynos_fimc_is_sensor_iclk_init(struct platform_device *pdev)
+static int exynos_fimc_is_sensor_iclk_init(struct device *dev)
 {
-       fimc_is_enable_dt(pdev, "aclk_csis0");
-       fimc_is_enable_dt(pdev, "pclk_csis0");
-       fimc_is_enable_dt(pdev, "aclk_csis1");
-       fimc_is_enable_dt(pdev, "pclk_csis1");
-       fimc_is_enable_dt(pdev, "gate_csis2");
-       fimc_is_enable_dt(pdev, "gate_lite_a");
-       fimc_is_enable_dt(pdev, "gate_lite_b");
-       fimc_is_enable_dt(pdev, "gate_lite_d");
-       fimc_is_enable_dt(pdev, "gate_lite_c");
-       fimc_is_enable_dt(pdev, "gate_lite_freecnt");
+       fimc_is_enable_dt(dev, "aclk_csis0");
+       fimc_is_enable_dt(dev, "pclk_csis0");
+       fimc_is_enable_dt(dev, "aclk_csis1");
+       fimc_is_enable_dt(dev, "pclk_csis1");
+       fimc_is_enable_dt(dev, "gate_csis2");
+       fimc_is_enable_dt(dev, "gate_lite_a");
+       fimc_is_enable_dt(dev, "gate_lite_b");
+       fimc_is_enable_dt(dev, "gate_lite_d");
+       fimc_is_enable_dt(dev, "gate_lite_c");
+       fimc_is_enable_dt(dev, "gate_lite_freecnt");
 
        return 0;
 }
 
-static int exynos_fimc_is_sensor_iclk_deinit(struct platform_device *pdev)
+static int exynos_fimc_is_sensor_iclk_deinit(struct device *dev)
 {
-       fimc_is_disable_dt(pdev, "aclk_csis0");
-       fimc_is_disable_dt(pdev, "pclk_csis0");
-       fimc_is_disable_dt(pdev, "aclk_csis1");
-       fimc_is_disable_dt(pdev, "pclk_csis1");
-       fimc_is_disable_dt(pdev, "gate_csis2");
-       fimc_is_disable_dt(pdev, "gate_lite_a");
-       fimc_is_disable_dt(pdev, "gate_lite_b");
-       fimc_is_disable_dt(pdev, "gate_lite_d");
-       fimc_is_disable_dt(pdev, "gate_lite_c");
-       fimc_is_disable_dt(pdev, "gate_lite_freecnt");
+       fimc_is_disable_dt(dev, "aclk_csis0");
+       fimc_is_disable_dt(dev, "pclk_csis0");
+       fimc_is_disable_dt(dev, "aclk_csis1");
+       fimc_is_disable_dt(dev, "pclk_csis1");
+       fimc_is_disable_dt(dev, "gate_csis2");
+       fimc_is_disable_dt(dev, "gate_lite_a");
+       fimc_is_disable_dt(dev, "gate_lite_b");
+       fimc_is_disable_dt(dev, "gate_lite_d");
+       fimc_is_disable_dt(dev, "gate_lite_c");
+       fimc_is_disable_dt(dev, "gate_lite_freecnt");
 
        return 0;
 }
 
-int exynos5430_fimc_is_clk_on(struct platform_device *pdev)
+int exynos5430_fimc_is_clk_on(struct device *dev)
 {
        pr_debug("%s\n", __func__);
 
-       exynos_fimc_is_sensor_iclk_init(pdev);
-       exynos_fimc_is_sensor_iclk_deinit(pdev);
+       exynos_fimc_is_sensor_iclk_init(dev);
+       exynos_fimc_is_sensor_iclk_deinit(dev);
 
        return 0;
 }
 
-int exynos5430_fimc_is_clk_off(struct platform_device *pdev)
+int exynos5430_fimc_is_clk_off(struct device *dev)
 {
        pr_debug("%s\n", __func__);
 
-       exynos5430_cfg_clk_div_max(pdev);
-       exynos5430_cfg_clk_isp_pll_off(pdev);
+       exynos5430_cfg_clk_div_max(dev);
+       exynos5430_cfg_clk_isp_pll_off(dev);
 
        return 0;
 }
 
-int exynos5430_fimc_is_print_clk(struct platform_device *pdev)
+int exynos5430_fimc_is_print_clk(struct device *dev)
 {
        pr_debug("%s\n", __func__);
 
        return 0;
 }
 
-int exynos5430_fimc_is_print_pwr(struct platform_device *pdev)
+int exynos5430_fimc_is_print_pwr(struct device *dev)
 {
        pr_debug("%s\n", __func__);
 
@@ -436,39 +433,39 @@ int exynos5430_fimc_is_print_pwr(struct platform_device *pdev)
 
 
 /* Wrapper functions */
-int exynos_fimc_is_cfg_clk(struct platform_device *pdev)
+int exynos_fimc_is_cfg_clk(struct device *dev)
 {
-       exynos5430_fimc_is_cfg_clk(pdev);
+       exynos5430_fimc_is_cfg_clk(dev);
        return 0;
 }
 
-int exynos_fimc_is_cfg_cam_clk(struct platform_device *pdev)
+int exynos_fimc_is_cfg_cam_clk(struct device *dev)
 {
-       exynos5430_cfg_clk_sclk(pdev);
-       exynos5430_cfg_clk_cam1_spi(pdev);
+       exynos5430_cfg_clk_sclk(dev);
+       exynos5430_cfg_clk_cam1_spi(dev);
        return 0;
 }
 
-int exynos_fimc_is_clk_on(struct platform_device *pdev)
+int exynos_fimc_is_clk_on(struct device *dev)
 {
-       exynos5430_fimc_is_clk_on(pdev);
+       exynos5430_fimc_is_clk_on(dev);
        return 0;
 }
 
-int exynos_fimc_is_clk_off(struct platform_device *pdev)
+int exynos_fimc_is_clk_off(struct device *dev)
 {
-       exynos5430_fimc_is_clk_off(pdev);
+       exynos5430_fimc_is_clk_off(dev);
        return 0;
 }
 
-int exynos_fimc_is_print_clk(struct platform_device *pdev)
+int exynos_fimc_is_print_clk(struct device *dev)
 {
-       exynos5430_fimc_is_print_clk(pdev);
+       exynos5430_fimc_is_print_clk(dev);
        return 0;
 }
 
-int exynos_fimc_is_print_pwr(struct platform_device *pdev)
+int exynos_fimc_is_print_pwr(struct device *dev)
 {
-       exynos5430_fimc_is_print_pwr(pdev);
+       exynos5430_fimc_is_print_pwr(dev);
        return 0;
 }