* published by the Free Software Foundation.
*/
+#include <linux/version.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/gpio.h>
/* not supported */
}
-static int __devinit nxp_74hc153_probe(struct platform_device *pdev)
+static int nxp_74hc153_probe(struct platform_device *pdev)
{
struct nxp_74hc153_platform_data *pdata;
struct nxp_74hc153_chip *nxp;
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);
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);
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);
static struct platform_driver nxp_74hc153_driver = {
.probe = nxp_74hc153_probe,
- .remove = __devexit_p(nxp_74hc153_remove),
+ .remove = nxp_74hc153_remove,
.driver = {
.name = NXP_74HC153_DRIVER_NAME,
.owner = THIS_MODULE,