Merge branch 'ib-mfd-regulator-gpio-4.6' of git://git.kernel.org/pub/scm/linux/kernel...
authorLinus Walleij <linus.walleij@linaro.org>
Wed, 9 Mar 2016 10:40:37 +0000 (17:40 +0700)
committerLinus Walleij <linus.walleij@linaro.org>
Wed, 9 Mar 2016 10:40:37 +0000 (17:40 +0700)
1  2 
drivers/gpio/Kconfig
drivers/gpio/gpio-tps65912.c

Simple merge
index e72302d2461acf80bda722c21ff2d7027376e2e7,3da3840201deaeb667e8246b85c5e3e589e9a1f1..e7886e712dc7b8750dcdb54784295c898cccabec
@@@ -90,54 -105,54 +105,45 @@@ static struct gpio_chip template_chip 
  
  static int tps65912_gpio_probe(struct platform_device *pdev)
  {
-       struct tps65912 *tps65912 = dev_get_drvdata(pdev->dev.parent);
-       struct tps65912_board *pdata = dev_get_platdata(tps65912->dev);
-       struct tps65912_gpio_data *tps65912_gpio;
+       struct tps65912 *tps = dev_get_drvdata(pdev->dev.parent);
+       struct tps65912_gpio *gpio;
        int ret;
  
-       tps65912_gpio = devm_kzalloc(&pdev->dev, sizeof(*tps65912_gpio),
-                                    GFP_KERNEL);
-       if (tps65912_gpio == NULL)
+       gpio = devm_kzalloc(&pdev->dev, sizeof(*gpio), GFP_KERNEL);
+       if (!gpio)
                return -ENOMEM;
  
-       tps65912_gpio->tps65912 = tps65912;
-       tps65912_gpio->gpio_chip = template_chip;
-       tps65912_gpio->gpio_chip.parent = &pdev->dev;
-       if (pdata && pdata->gpio_base)
-               tps65912_gpio->gpio_chip.base = pdata->gpio_base;
+       gpio->tps = dev_get_drvdata(pdev->dev.parent);
+       gpio->gpio_chip = template_chip;
+       gpio->gpio_chip.parent = tps->dev;
  
 -      ret = gpiochip_add_data(&gpio->gpio_chip, gpio);
 +      ret = devm_gpiochip_add_data(&pdev->dev, &tps65912_gpio->gpio_chip,
 +                                   tps65912_gpio);
        if (ret < 0) {
-               dev_err(&pdev->dev, "Failed to register gpiochip, %d\n", ret);
+               dev_err(&pdev->dev, "Could not register gpiochip, %d\n", ret);
                return ret;
        }
  
-       platform_set_drvdata(pdev, tps65912_gpio);
+       platform_set_drvdata(pdev, gpio);
  
-       return ret;
+       return 0;
  }
  
 -static int tps65912_gpio_remove(struct platform_device *pdev)
 -{
 -      struct tps65912_gpio *gpio = platform_get_drvdata(pdev);
 -
 -      gpiochip_remove(&gpio->gpio_chip);
 -
 -      return 0;
 -}
 -
+ static const struct platform_device_id tps65912_gpio_id_table[] = {
+       { "tps65912-gpio", },
+       { /* sentinel */ }
+ };
+ MODULE_DEVICE_TABLE(platform, tps65912_gpio_id_table);
  static struct platform_driver tps65912_gpio_driver = {
        .driver = {
                .name = "tps65912-gpio",
        },
        .probe = tps65912_gpio_probe,
 -      .remove = tps65912_gpio_remove,
+       .id_table = tps65912_gpio_id_table,
  };
+ module_platform_driver(tps65912_gpio_driver);
  
- static int __init tps65912_gpio_init(void)
- {
-       return platform_driver_register(&tps65912_gpio_driver);
- }
- subsys_initcall(tps65912_gpio_init);
- static void __exit tps65912_gpio_exit(void)
- {
-       platform_driver_unregister(&tps65912_gpio_driver);
- }
- module_exit(tps65912_gpio_exit);
- MODULE_AUTHOR("Margarita Olaya Cabrera <magi@slimlogic.co.uk>");
- MODULE_DESCRIPTION("GPIO interface for TPS65912 PMICs");
+ MODULE_AUTHOR("Andrew F. Davis <afd@ti.com>");
+ MODULE_DESCRIPTION("TPS65912 GPIO driver");
  MODULE_LICENSE("GPL v2");
- MODULE_ALIAS("platform:tps65912-gpio");