Rebased from upstream / out of band repository.
[librecmc/librecmc.git] / target / linux / ar71xx / files / drivers / gpio / gpio-nxp-74hc153.c
index 8c01efe4a00599877196c422ad606fd65dd5a946..82e6e943ff906a3aa38c7b1c74b348636cad0686 100644 (file)
@@ -168,7 +168,11 @@ static int nxp_74hc153_probe(struct platform_device *pdev)
        gc->base = pdata->gpio_base;
        gc->ngpio = NXP_74HC153_NUM_GPIOS;
        gc->label = dev_name(nxp->parent);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,5,0)
        gc->dev = nxp->parent;
+#else
+       gc->parent = nxp->parent;
+#endif
        gc->owner = THIS_MODULE;
 
        err = gpiochip_add(&nxp->gpio_chip);
@@ -199,19 +203,7 @@ static int nxp_74hc153_remove(struct platform_device *pdev)
        struct nxp_74hc153_platform_data *pdata = pdev->dev.platform_data;
 
        if (nxp) {
-#if LINUX_VERSION_CODE < KERNEL_VERSION(3,15,0)
-               int err;
-
-               err = gpiochip_remove(&nxp->gpio_chip);
-               if (err) {
-                       dev_err(&pdev->dev,
-                               "unable to remove gpio chip, err=%d\n",
-                               err);
-                       return err;
-               }
-#else
                gpiochip_remove(&nxp->gpio_chip);
-#endif
                gpio_free(pdata->gpio_pin_2y);
                gpio_free(pdata->gpio_pin_1y);
                gpio_free(pdata->gpio_pin_s1);