Hi Linus,

Today's linux-next merge of the gpio tree got a conflict in:

  drivers/gpio/gpio-tps65912.c

between commits:

  65b6555971d0 ("mfd: tps65912: Remove old driver in preparation for new 
driver")
  ca801a22f465 ("gpio: tps65912: Add GPIO driver for the TPS65912 PMIC")

from the mfd tree and commit:

  0964ac703edf ("gpio: tps65912: Use devm_gpiochip_add_data() for gpio 
registration")

from the gpio tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell

diff --cc drivers/gpio/gpio-tps65912.c
index 3da3840201de,e72302d2461a..000000000000
--- a/drivers/gpio/gpio-tps65912.c
+++ b/drivers/gpio/gpio-tps65912.c
@@@ -105,54 -90,54 +105,44 @@@ 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);
++      ret = devm_gpiochip_add_data(&pdev->dev, &gpio->gpio_chip, 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 <m...@slimlogic.co.uk>");
 -MODULE_DESCRIPTION("GPIO interface for TPS65912 PMICs");
 +MODULE_AUTHOR("Andrew F. Davis <a...@ti.com>");
 +MODULE_DESCRIPTION("TPS65912 GPIO driver");
  MODULE_LICENSE("GPL v2");
 -MODULE_ALIAS("platform:tps65912-gpio");

Reply via email to