fimc-is: Remove pin_config_set() dependency
authorMarek Szyprowski <m.szyprowski@samsung.com>
Fri, 10 Jul 2015 12:21:45 +0000 (14:21 +0200)
committerJunghoon Kim <jhoon20.kim@samsung.com>
Thu, 14 Feb 2019 05:57:04 +0000 (14:57 +0900)
Change-Id: I70ba0537ffaff4d2b3ad858d41aaa28622d9800d
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
drivers/media/platform/exynos/fimc-is/fimc-is-device-af.c
drivers/media/platform/exynos/fimc-is/fimc-is-device-companion.c
drivers/media/platform/exynos/fimc-is/fimc-is-device-ois.c
drivers/media/platform/exynos/fimc-is/fimc-is-sec-define.c

index 367e3b1..ca5340a 100644 (file)
@@ -49,15 +49,15 @@ static void fimc_is_af_i2c_config(struct i2c_client *client, bool onoff)
 {
        struct device *i2c_dev = client->dev.parent->parent;
        struct pinctrl *pinctrl_i2c = NULL;
-
        info("(%s):onoff(%d)\n", __func__, onoff);
        if (onoff) {
                /* ON */
-               pin_config_set(FIMC_IS_SPI_PINNAME, "gpc2-2",
-                       PINCFG_PACK(PINCFG_TYPE_FUNC, 0));
-               pin_config_set(FIMC_IS_SPI_PINNAME, "gpc2-3",
-                       PINCFG_PACK(PINCFG_TYPE_FUNC, 0));
-
+               pinctrl_i2c = devm_pinctrl_get_select(i2c_dev, "default");
+               if (IS_ERR_OR_NULL(pinctrl_i2c)) {
+                       printk(KERN_ERR "%s: Failed to configure i2c pin\n", __func__);
+               } else {
+                       devm_pinctrl_put(pinctrl_i2c);
+               }
                pinctrl_i2c = devm_pinctrl_get_select(i2c_dev, "on_i2c");
                if (IS_ERR_OR_NULL(pinctrl_i2c)) {
                        printk(KERN_ERR "%s: Failed to configure i2c pin\n", __func__);
@@ -66,17 +66,18 @@ static void fimc_is_af_i2c_config(struct i2c_client *client, bool onoff)
                }
        } else {
                /* OFF */
+               pinctrl_i2c = devm_pinctrl_get_select(i2c_dev, "default");
+               if (IS_ERR_OR_NULL(pinctrl_i2c)) {
+                       printk(KERN_ERR "%s: Failed to configure i2c pin\n", __func__);
+               } else {
+                       devm_pinctrl_put(pinctrl_i2c);
+               }
                pinctrl_i2c = devm_pinctrl_get_select(i2c_dev, "off_i2c");
                if (IS_ERR_OR_NULL(pinctrl_i2c)) {
                        printk(KERN_ERR "%s: Failed to configure i2c pin\n", __func__);
                } else {
                        devm_pinctrl_put(pinctrl_i2c);
                }
-
-               pin_config_set(FIMC_IS_SPI_PINNAME, "gpc2-2",
-                       PINCFG_PACK(PINCFG_TYPE_FUNC, 2));
-               pin_config_set(FIMC_IS_SPI_PINNAME, "gpc2-3",
-                       PINCFG_PACK(PINCFG_TYPE_FUNC, 2));
     }
 }
 
index bf004a9..54681a3 100644 (file)
@@ -361,11 +361,6 @@ int fimc_is_companion_open(struct fimc_is_device_companion *device)
        /* TODO: loading firmware */
        fimc_is_s_int_comb_isp(core, false, INTMR2_INTMCIS22);
 
-       // Workaround for Host to use ISP-SPI. Will be removed later.
-       /* set pin output for Host to use SPI*/
-       pin_config_set(FIMC_IS_SPI_PINNAME, spi_gpio->spi_ssn,
-               PINCFG_PACK(PINCFG_TYPE_FUNC, FUNC_OUTPUT));
-
        fimc_is_set_spi_config(spi_gpio, FIMC_IS_SPI_FUNC, false);
 
        if (fimc_is_comp_is_valid(core) == 0) {
@@ -388,45 +383,16 @@ int fimc_is_companion_open(struct fimc_is_device_companion *device)
                }
        }
 
-       // Workaround for Host to use ISP-SPI. Will be removed later.
-       /* Set SPI pins to low before changing pin function */
-       pin_config_set(FIMC_IS_SPI_PINNAME, spi_gpio->spi_sclk,
-               PINCFG_PACK(PINCFG_TYPE_DAT, 0));
-       pin_config_set(FIMC_IS_SPI_PINNAME, spi_gpio->spi_ssn,
-               PINCFG_PACK(PINCFG_TYPE_DAT, 0));
-       pin_config_set(FIMC_IS_SPI_PINNAME, spi_gpio->spi_miso,
-               PINCFG_PACK(PINCFG_TYPE_DAT, 0));
-       pin_config_set(FIMC_IS_SPI_PINNAME, spi_gpio->spi_mois,
-               PINCFG_PACK(PINCFG_TYPE_DAT, 0));
-
-       /* Set pin function for A5 to use SPI */
-       pin_config_set(FIMC_IS_SPI_PINNAME, spi_gpio->spi_ssn,
-               PINCFG_PACK(PINCFG_TYPE_FUNC, 2));
-
        set_bit(FIMC_IS_COMPANION_OPEN, &device->state);
        device->companion_status = FIMC_IS_COMPANION_OPENDONE;
        fimc_is_companion_wakeup(device);
 
        if(core->use_ois) {
-               if (!core->use_ois_hsi2c) {
-                       pin_config_set(FIMC_IS_SPI_PINNAME, "gpc2-2",
-                               PINCFG_PACK(PINCFG_TYPE_FUNC, 1));
-                       pin_config_set(FIMC_IS_SPI_PINNAME, "gpc2-3",
-                               PINCFG_PACK(PINCFG_TYPE_FUNC, 1));
-               }
-
                if (!core->ois_ver_read) {
                        fimc_is_ois_check_fw(core);
                }
 
                fimc_is_ois_exif_data(core);
-
-               if (!core->use_ois_hsi2c) {
-                       pin_config_set(FIMC_IS_SPI_PINNAME, "gpc2-2",
-                               PINCFG_PACK(PINCFG_TYPE_FUNC, 2));
-                       pin_config_set(FIMC_IS_SPI_PINNAME, "gpc2-3",
-                               PINCFG_PACK(PINCFG_TYPE_FUNC, 2));
-               }
        }
 
        info("[COMP:D] %s(%d)status(%d)\n", __func__, ret, device->companion_status);
index 619e849..70cf630 100644 (file)
@@ -78,11 +78,12 @@ static void fimc_is_ois_i2c_config(struct i2c_client *client, bool onoff)
                        ois_device->ois_hsi2c_status, onoff);
 
                if (onoff) {
-                       pin_config_set(FIMC_IS_SPI_PINNAME, "gpc2-2",
-                               PINCFG_PACK(PINCFG_TYPE_FUNC, 0));
-                       pin_config_set(FIMC_IS_SPI_PINNAME, "gpc2-3",
-                               PINCFG_PACK(PINCFG_TYPE_FUNC, 0));
-
+                       pinctrl_i2c = devm_pinctrl_get_select(i2c_dev, "default");
+                       if (IS_ERR_OR_NULL(pinctrl_i2c)) {
+                               printk(KERN_ERR "%s: Failed to configure i2c pin\n", __func__);
+                       } else {
+                               devm_pinctrl_put(pinctrl_i2c);
+                       }
                        pinctrl_i2c = devm_pinctrl_get_select(i2c_dev, "on_i2c");
                        if (IS_ERR_OR_NULL(pinctrl_i2c)) {
                                printk(KERN_ERR "%s: Failed to configure i2c pin\n", __func__);
@@ -90,17 +91,18 @@ static void fimc_is_ois_i2c_config(struct i2c_client *client, bool onoff)
                                devm_pinctrl_put(pinctrl_i2c);
                        }
                } else {
+                       pinctrl_i2c = devm_pinctrl_get_select(i2c_dev, "default");
+                       if (IS_ERR_OR_NULL(pinctrl_i2c)) {
+                               printk(KERN_ERR "%s: Failed to configure i2c pin\n", __func__);
+                       } else {
+                               devm_pinctrl_put(pinctrl_i2c);
+                       }
                        pinctrl_i2c = devm_pinctrl_get_select(i2c_dev, "off_i2c");
                        if (IS_ERR_OR_NULL(pinctrl_i2c)) {
                                printk(KERN_ERR "%s: Failed to configure i2c pin\n", __func__);
                        } else {
                                devm_pinctrl_put(pinctrl_i2c);
                        }
-
-                       pin_config_set(FIMC_IS_SPI_PINNAME, "gpc2-2",
-                               PINCFG_PACK(PINCFG_TYPE_FUNC, 2));
-                       pin_config_set(FIMC_IS_SPI_PINNAME, "gpc2-3",
-                               PINCFG_PACK(PINCFG_TYPE_FUNC, 2));
                }
                ois_device->ois_hsi2c_status = onoff;
        }
@@ -1417,15 +1419,6 @@ static int fimc_is_ois_probe(struct i2c_client *client,
                devm_pinctrl_put(pinctrl_i2c);
        }
 
-       pin_config_set(FIMC_IS_SPI_PINNAME, "gpc2-2",
-               PINCFG_PACK(PINCFG_TYPE_FUNC, 0));
-       pin_config_set(FIMC_IS_SPI_PINNAME, "gpc2-3",
-               PINCFG_PACK(PINCFG_TYPE_FUNC, 0));
-       pin_config_set(FIMC_IS_SPI_PINNAME, "gpc2-2",
-               PINCFG_PACK(PINCFG_TYPE_PUD, 0));
-       pin_config_set(FIMC_IS_SPI_PINNAME, "gpc2-3",
-               PINCFG_PACK(PINCFG_TYPE_PUD, 0));
-
        return 0;
 }
 
index b50bb2e..087d6f9 100644 (file)
@@ -1084,6 +1084,7 @@ exit:
 }
 
 void fimc_is_set_spi_config(struct fimc_is_spi_gpio *spi_gpio, int func, bool ssn) {
+#if 0
        pin_config_set(FIMC_IS_SPI_PINNAME, spi_gpio->spi_sclk,
                        PINCFG_PACK(PINCFG_TYPE_FUNC, func));
        pin_config_set(FIMC_IS_SPI_PINNAME, spi_gpio->spi_miso,
@@ -1094,6 +1095,7 @@ void fimc_is_set_spi_config(struct fimc_is_spi_gpio *spi_gpio, int func, bool ss
                pin_config_set(FIMC_IS_SPI_PINNAME, spi_gpio->spi_ssn,
                                PINCFG_PACK(PINCFG_TYPE_FUNC, func));
        }
+#endif
 }
 
 int fimc_is_sec_concord_fw_sel(struct fimc_is_core *core, struct device *dev,