linux-pwm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] drivers/gpio : Remove redundant platform_set_drvdata().
@ 2023-03-19 11:59 Lizhe
  2023-03-19 12:21 ` Christophe JAILLET
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Lizhe @ 2023-03-19 11:59 UTC (permalink / raw)
  To: linus.walleij, brgl, geert+renesas, info, rjui,
	bcm-kernel-feedback-list, f.fainelli, sbranden, shc_work,
	j-keerthy, hoan, fancer.lancer, orsonzhai, baolin.wang,
	zhang.lyra, shawnguo, s.hauer, kernel, festevam, linux-imx,
	kaloz, khalasa, keguang.zhang, daniel, romain.perier,
	matthias.bgg, angelogioacchino.delregno, thierry.reding,
	u.kleine-koenig, grygorii.strashko, ssantosh, khilman, mani,
	ludovic.desroches, andy, palmer, paul.walmsley, jonathanh,
	sathyanarayanan.kuppuswamy, michal.simek
  Cc: linux-gpio, linux-kernel, linux-arm-kernel, linux-mips,
	linux-mediatek, linux-pwm, linux-omap, linux-unisoc, linux-riscv,
	linux-tegra, Lizhe

platform_set_drvdata() is redundant in these functions.
the purpose of calling this function is to place data
in *driver_data. but the data is not retrieved in these
functions

Signed-off-by: Lizhe <sensor1010@163.com>
---
 drivers/gpio/gpio-74xx-mmio.c      | 2 --
 drivers/gpio/gpio-aggregator.c     | 1 -
 drivers/gpio/gpio-amd-fch.c        | 2 --
 drivers/gpio/gpio-bcm-kona.c       | 1 -
 drivers/gpio/gpio-clps711x.c       | 1 -
 drivers/gpio/gpio-davinci.c        | 1 -
 drivers/gpio/gpio-dwapb.c          | 2 --
 drivers/gpio/gpio-eic-sprd.c       | 1 -
 drivers/gpio/gpio-em.c             | 1 -
 drivers/gpio/gpio-exar.c           | 2 --
 drivers/gpio/gpio-f7188x.c         | 2 --
 drivers/gpio/gpio-htc-egpio.c      | 3 ---
 drivers/gpio/gpio-imx-scu.c        | 2 --
 drivers/gpio/gpio-ixp4xx.c         | 1 -
 drivers/gpio/gpio-janz-ttl.c       | 1 -
 drivers/gpio/gpio-kempld.c         | 2 --
 drivers/gpio/gpio-latch.c          | 2 --
 drivers/gpio/gpio-logicvc.c        | 2 --
 drivers/gpio/gpio-loongson1.c      | 1 -
 drivers/gpio/gpio-lp3943.c         | 2 --
 drivers/gpio/gpio-lp873x.c         | 2 --
 drivers/gpio/gpio-max77620.c       | 2 --
 drivers/gpio/gpio-mlxbf.c          | 1 -
 drivers/gpio/gpio-mlxbf2.c         | 2 --
 drivers/gpio/gpio-mmio.c           | 2 --
 drivers/gpio/gpio-msc313.c         | 2 --
 drivers/gpio/gpio-mt7621.c         | 1 -
 drivers/gpio/gpio-mvebu.c          | 2 --
 drivers/gpio/gpio-mxc.c            | 2 --
 drivers/gpio/gpio-omap.c           | 4 ----
 drivers/gpio/gpio-palmas.c         | 1 -
 drivers/gpio/gpio-pmic-eic-sprd.c  | 1 -
 drivers/gpio/gpio-rc5t583.c        | 2 --
 drivers/gpio/gpio-rcar.c           | 2 --
 drivers/gpio/gpio-rda.c            | 2 --
 drivers/gpio/gpio-rdc321x.c        | 2 --
 drivers/gpio/gpio-sama5d2-piobu.c  | 1 -
 drivers/gpio/gpio-sch.c            | 2 --
 drivers/gpio/gpio-sch311x.c        | 2 --
 drivers/gpio/gpio-sifive.c         | 1 -
 drivers/gpio/gpio-syscon.c         | 2 --
 drivers/gpio/gpio-tegra.c          | 2 --
 drivers/gpio/gpio-timberdale.c     | 2 --
 drivers/gpio/gpio-tqmx86.c         | 2 --
 drivers/gpio/gpio-ts4800.c         | 2 --
 drivers/gpio/gpio-vx855.c          | 2 --
 drivers/gpio/gpio-wcove.c          | 2 --
 drivers/gpio/gpio-xgene.c          | 2 --
 drivers/gpio/gpio-zevio.c          | 2 --
 drivers/gpio/gpio-zynqmp-modepin.c | 2 --
 50 files changed, 88 deletions(-)

diff --git a/drivers/gpio/gpio-74xx-mmio.c b/drivers/gpio/gpio-74xx-mmio.c
index 0464f1ecd20d..c7ac5a9ffb1f 100644
--- a/drivers/gpio/gpio-74xx-mmio.c
+++ b/drivers/gpio/gpio-74xx-mmio.c
@@ -135,8 +135,6 @@ static int mmio_74xx_gpio_probe(struct platform_device *pdev)
 	priv->gc.ngpio = MMIO_74XX_BIT_CNT(priv->flags);
 	priv->gc.owner = THIS_MODULE;
 
-	platform_set_drvdata(pdev, priv);
-
 	return devm_gpiochip_add_data(&pdev->dev, &priv->gc, priv);
 }
 
diff --git a/drivers/gpio/gpio-aggregator.c b/drivers/gpio/gpio-aggregator.c
index 6d17d262ad91..f67d1d46c093 100644
--- a/drivers/gpio/gpio-aggregator.c
+++ b/drivers/gpio/gpio-aggregator.c
@@ -495,7 +495,6 @@ static int gpio_aggregator_probe(struct platform_device *pdev)
 	if (IS_ERR(fwd))
 		return PTR_ERR(fwd);
 
-	platform_set_drvdata(pdev, fwd);
 	return 0;
 }
 
diff --git a/drivers/gpio/gpio-amd-fch.c b/drivers/gpio/gpio-amd-fch.c
index 2a21354ed6a0..8a7f861513eb 100644
--- a/drivers/gpio/gpio-amd-fch.c
+++ b/drivers/gpio/gpio-amd-fch.c
@@ -172,8 +172,6 @@ static int amd_fch_gpio_probe(struct platform_device *pdev)
 	if (IS_ERR(priv->base))
 		return PTR_ERR(priv->base);
 
-	platform_set_drvdata(pdev, priv);
-
 	return devm_gpiochip_add_data(&pdev->dev, &priv->gc, priv);
 }
 
diff --git a/drivers/gpio/gpio-bcm-kona.c b/drivers/gpio/gpio-bcm-kona.c
index 70770429ba48..2e50a07a43e6 100644
--- a/drivers/gpio/gpio-bcm-kona.c
+++ b/drivers/gpio/gpio-bcm-kona.c
@@ -597,7 +597,6 @@ static int bcm_kona_gpio_probe(struct platform_device *pdev)
 		return -ENOMEM;
 
 	kona_gpio->pdev = pdev;
-	platform_set_drvdata(pdev, kona_gpio);
 	chip->parent = dev;
 	chip->ngpio = kona_gpio->num_bank * GPIO_PER_BANK;
 
diff --git a/drivers/gpio/gpio-clps711x.c b/drivers/gpio/gpio-clps711x.c
index 75f6f8d4323e..b9ba85ef94b2 100644
--- a/drivers/gpio/gpio-clps711x.c
+++ b/drivers/gpio/gpio-clps711x.c
@@ -62,7 +62,6 @@ static int clps711x_gpio_probe(struct platform_device *pdev)
 
 	gc->base = -1;
 	gc->owner = THIS_MODULE;
-	platform_set_drvdata(pdev, gc);
 
 	return devm_gpiochip_add_data(&pdev->dev, gc, NULL);
 }
diff --git a/drivers/gpio/gpio-davinci.c b/drivers/gpio/gpio-davinci.c
index 26b1f7465e09..ec619c3fde90 100644
--- a/drivers/gpio/gpio-davinci.c
+++ b/drivers/gpio/gpio-davinci.c
@@ -266,7 +266,6 @@ static int davinci_gpio_probe(struct platform_device *pdev)
 	if (ret)
 		return ret;
 
-	platform_set_drvdata(pdev, chips);
 	ret = davinci_gpio_irq_setup(pdev);
 	if (ret)
 		return ret;
diff --git a/drivers/gpio/gpio-dwapb.c b/drivers/gpio/gpio-dwapb.c
index c22fcaa44a61..8db67674078e 100644
--- a/drivers/gpio/gpio-dwapb.c
+++ b/drivers/gpio/gpio-dwapb.c
@@ -734,8 +734,6 @@ static int dwapb_gpio_probe(struct platform_device *pdev)
 			return err;
 	}
 
-	platform_set_drvdata(pdev, gpio);
-
 	return 0;
 }
 
diff --git a/drivers/gpio/gpio-eic-sprd.c b/drivers/gpio/gpio-eic-sprd.c
index 84352a6f4973..53db88ae2a20 100644
--- a/drivers/gpio/gpio-eic-sprd.c
+++ b/drivers/gpio/gpio-eic-sprd.c
@@ -653,7 +653,6 @@ static int sprd_eic_probe(struct platform_device *pdev)
 		return ret;
 	}
 
-	platform_set_drvdata(pdev, sprd_eic);
 	return 0;
 }
 
diff --git a/drivers/gpio/gpio-em.c b/drivers/gpio/gpio-em.c
index 858e6ebbb584..3707cb4c1b79 100644
--- a/drivers/gpio/gpio-em.c
+++ b/drivers/gpio/gpio-em.c
@@ -281,7 +281,6 @@ static int em_gio_probe(struct platform_device *pdev)
 		return -ENOMEM;
 
 	p->pdev = pdev;
-	platform_set_drvdata(pdev, p);
 	spin_lock_init(&p->sense_lock);
 
 	irq[0] = platform_get_irq(pdev, 0);
diff --git a/drivers/gpio/gpio-exar.c b/drivers/gpio/gpio-exar.c
index df1bdaae441c..5170fe7599cd 100644
--- a/drivers/gpio/gpio-exar.c
+++ b/drivers/gpio/gpio-exar.c
@@ -217,8 +217,6 @@ static int gpio_exar_probe(struct platform_device *pdev)
 	if (ret)
 		return ret;
 
-	platform_set_drvdata(pdev, exar_gpio);
-
 	return 0;
 }
 
diff --git a/drivers/gpio/gpio-f7188x.c b/drivers/gpio/gpio-f7188x.c
index 9effa7769bef..5475614c1872 100644
--- a/drivers/gpio/gpio-f7188x.c
+++ b/drivers/gpio/gpio-f7188x.c
@@ -499,8 +499,6 @@ static int f7188x_gpio_probe(struct platform_device *pdev)
 	}
 	data->sio = sio;
 
-	platform_set_drvdata(pdev, data);
-
 	/* For each GPIO bank, register a GPIO chip. */
 	for (i = 0; i < data->nr_bank; i++) {
 		struct f7188x_gpio_bank *bank = &data->bank[i];
diff --git a/drivers/gpio/gpio-htc-egpio.c b/drivers/gpio/gpio-htc-egpio.c
index a40bd56673fe..0938c0712732 100644
--- a/drivers/gpio/gpio-htc-egpio.c
+++ b/drivers/gpio/gpio-htc-egpio.c
@@ -299,9 +299,6 @@ static int __init egpio_probe(struct platform_device *pdev)
 	pr_debug("reg_shift = %d\n", ei->reg_shift);
 
 	ei->reg_mask = (1 << pdata->reg_width) - 1;
-
-	platform_set_drvdata(pdev, ei);
-
 	ei->nchips = pdata->num_chips;
 	ei->chip = devm_kcalloc(&pdev->dev,
 				ei->nchips, sizeof(struct egpio_chip),
diff --git a/drivers/gpio/gpio-imx-scu.c b/drivers/gpio/gpio-imx-scu.c
index 17be21b8f3b7..bcc12105878e 100644
--- a/drivers/gpio/gpio-imx-scu.c
+++ b/drivers/gpio/gpio-imx-scu.c
@@ -109,8 +109,6 @@ static int imx_scu_gpio_probe(struct platform_device *pdev)
 	gc->set = imx_scu_gpio_set;
 	gc->get_direction = imx_scu_gpio_get_direction;
 
-	platform_set_drvdata(pdev, priv);
-
 	return devm_gpiochip_add_data(dev, gc, priv);
 }
 
diff --git a/drivers/gpio/gpio-ixp4xx.c b/drivers/gpio/gpio-ixp4xx.c
index 56656fb519f8..3f59658dd316 100644
--- a/drivers/gpio/gpio-ixp4xx.c
+++ b/drivers/gpio/gpio-ixp4xx.c
@@ -287,7 +287,6 @@ static int ixp4xx_gpio_probe(struct platform_device *pdev)
 		return ret;
 	}
 
-	platform_set_drvdata(pdev, g);
 	dev_info(dev, "IXP4 GPIO registered\n");
 
 	return 0;
diff --git a/drivers/gpio/gpio-janz-ttl.c b/drivers/gpio/gpio-janz-ttl.c
index cdf50e4ea165..ea68f49c1824 100644
--- a/drivers/gpio/gpio-janz-ttl.c
+++ b/drivers/gpio/gpio-janz-ttl.c
@@ -154,7 +154,6 @@ static int ttl_probe(struct platform_device *pdev)
 	if (!mod)
 		return -ENOMEM;
 
-	platform_set_drvdata(pdev, mod);
 	spin_lock_init(&mod->lock);
 
 	/* get access to the MODULbus registers for this module */
diff --git a/drivers/gpio/gpio-kempld.c b/drivers/gpio/gpio-kempld.c
index 4ea15f08e0f4..2065a8a121b2 100644
--- a/drivers/gpio/gpio-kempld.c
+++ b/drivers/gpio/gpio-kempld.c
@@ -151,8 +151,6 @@ static int kempld_gpio_probe(struct platform_device *pdev)
 
 	gpio->pld = pld;
 
-	platform_set_drvdata(pdev, gpio);
-
 	chip = &gpio->chip;
 	chip->label = "gpio-kempld";
 	chip->owner = THIS_MODULE;
diff --git a/drivers/gpio/gpio-latch.c b/drivers/gpio/gpio-latch.c
index d7c3b20c8482..cf0f86b87c87 100644
--- a/drivers/gpio/gpio-latch.c
+++ b/drivers/gpio/gpio-latch.c
@@ -192,8 +192,6 @@ static int gpio_latch_probe(struct platform_device *pdev)
 	priv->gc.base = -1;
 	priv->gc.parent = &pdev->dev;
 
-	platform_set_drvdata(pdev, priv);
-
 	return devm_gpiochip_add_data(&pdev->dev, &priv->gc, priv);
 }
 
diff --git a/drivers/gpio/gpio-logicvc.c b/drivers/gpio/gpio-logicvc.c
index 992cc958a43f..9b4789deae45 100644
--- a/drivers/gpio/gpio-logicvc.c
+++ b/drivers/gpio/gpio-logicvc.c
@@ -139,8 +139,6 @@ static int logicvc_gpio_probe(struct platform_device *pdev)
 	logicvc->chip.set = logicvc_gpio_set;
 	logicvc->chip.direction_output = logicvc_gpio_direction_output;
 
-	platform_set_drvdata(pdev, logicvc);
-
 	return devm_gpiochip_add_data(dev, &logicvc->chip, logicvc);
 }
 
diff --git a/drivers/gpio/gpio-loongson1.c b/drivers/gpio/gpio-loongson1.c
index 5d90b3bc5a25..0ff4ea7af9c0 100644
--- a/drivers/gpio/gpio-loongson1.c
+++ b/drivers/gpio/gpio-loongson1.c
@@ -72,7 +72,6 @@ static int ls1x_gpio_probe(struct platform_device *pdev)
 	if (ret)
 		goto err;
 
-	platform_set_drvdata(pdev, gc);
 	dev_info(dev, "Loongson1 GPIO driver registered\n");
 
 	return 0;
diff --git a/drivers/gpio/gpio-lp3943.c b/drivers/gpio/gpio-lp3943.c
index 79edd5db49d2..8e58242f5123 100644
--- a/drivers/gpio/gpio-lp3943.c
+++ b/drivers/gpio/gpio-lp3943.c
@@ -199,8 +199,6 @@ static int lp3943_gpio_probe(struct platform_device *pdev)
 	lp3943_gpio->chip = lp3943_gpio_chip;
 	lp3943_gpio->chip.parent = &pdev->dev;
 
-	platform_set_drvdata(pdev, lp3943_gpio);
-
 	return devm_gpiochip_add_data(&pdev->dev, &lp3943_gpio->chip,
 				      lp3943_gpio);
 }
diff --git a/drivers/gpio/gpio-lp873x.c b/drivers/gpio/gpio-lp873x.c
index 5c79ba1f229c..7427a74ce4e2 100644
--- a/drivers/gpio/gpio-lp873x.c
+++ b/drivers/gpio/gpio-lp873x.c
@@ -140,8 +140,6 @@ static int lp873x_gpio_probe(struct platform_device *pdev)
 	if (!gpio)
 		return -ENOMEM;
 
-	platform_set_drvdata(pdev, gpio);
-
 	gpio->lp873 = dev_get_drvdata(pdev->dev.parent);
 	gpio->chip = template_chip;
 	gpio->chip.parent = gpio->lp873->dev;
diff --git a/drivers/gpio/gpio-max77620.c b/drivers/gpio/gpio-max77620.c
index c18b60e39a94..8c2a5609161f 100644
--- a/drivers/gpio/gpio-max77620.c
+++ b/drivers/gpio/gpio-max77620.c
@@ -331,8 +331,6 @@ static int max77620_gpio_probe(struct platform_device *pdev)
 	girq->init_hw = max77620_gpio_irq_init_hw;
 	girq->threaded = true;
 
-	platform_set_drvdata(pdev, mgpio);
-
 	ret = devm_gpiochip_add_data(&pdev->dev, &mgpio->gpio_chip, mgpio);
 	if (ret < 0) {
 		dev_err(&pdev->dev, "gpio_init: Failed to add max77620_gpio\n");
diff --git a/drivers/gpio/gpio-mlxbf.c b/drivers/gpio/gpio-mlxbf.c
index 1fa9973f55b9..f38faf40c92a 100644
--- a/drivers/gpio/gpio-mlxbf.c
+++ b/drivers/gpio/gpio-mlxbf.c
@@ -82,7 +82,6 @@ static int mlxbf_gpio_probe(struct platform_device *pdev)
 		return ret;
 	}
 
-	platform_set_drvdata(pdev, gs);
 	dev_info(&pdev->dev, "registered Mellanox BlueField GPIO");
 	return 0;
 }
diff --git a/drivers/gpio/gpio-mlxbf2.c b/drivers/gpio/gpio-mlxbf2.c
index 77a41151c921..fdc4e66eae12 100644
--- a/drivers/gpio/gpio-mlxbf2.c
+++ b/drivers/gpio/gpio-mlxbf2.c
@@ -402,8 +402,6 @@ mlxbf2_gpio_probe(struct platform_device *pdev)
 		}
 	}
 
-	platform_set_drvdata(pdev, gs);
-
 	ret = devm_gpiochip_add_data(dev, &gs->gc, gs);
 	if (ret) {
 		dev_err(dev, "Failed adding memory mapped gpiochip\n");
diff --git a/drivers/gpio/gpio-mmio.c b/drivers/gpio/gpio-mmio.c
index d9dff3dc92ae..c085c60584a8 100644
--- a/drivers/gpio/gpio-mmio.c
+++ b/drivers/gpio/gpio-mmio.c
@@ -787,8 +787,6 @@ static int bgpio_pdev_probe(struct platform_device *pdev)
 			gc->ngpio = pdata->ngpio;
 	}
 
-	platform_set_drvdata(pdev, gc);
-
 	return devm_gpiochip_add_data(&pdev->dev, gc, NULL);
 }
 
diff --git a/drivers/gpio/gpio-msc313.c b/drivers/gpio/gpio-msc313.c
index b0773e5652fa..0a12948defc0 100644
--- a/drivers/gpio/gpio-msc313.c
+++ b/drivers/gpio/gpio-msc313.c
@@ -625,8 +625,6 @@ static int msc313_gpio_probe(struct platform_device *pdev)
 	if (IS_ERR(gpio->base))
 		return PTR_ERR(gpio->base);
 
-	platform_set_drvdata(pdev, gpio);
-
 	gpiochip = devm_kzalloc(dev, sizeof(*gpiochip), GFP_KERNEL);
 	if (!gpiochip)
 		return -ENOMEM;
diff --git a/drivers/gpio/gpio-mt7621.c b/drivers/gpio/gpio-mt7621.c
index 93facbebb80e..c0c715167d9c 100644
--- a/drivers/gpio/gpio-mt7621.c
+++ b/drivers/gpio/gpio-mt7621.c
@@ -315,7 +315,6 @@ mediatek_gpio_probe(struct platform_device *pdev)
 		return mtk->gpio_irq;
 
 	mtk->dev = dev;
-	platform_set_drvdata(pdev, mtk);
 
 	for (i = 0; i < MTK_BANK_CNT; i++) {
 		ret = mediatek_gpio_bank_probe(dev, i);
diff --git a/drivers/gpio/gpio-mvebu.c b/drivers/gpio/gpio-mvebu.c
index a68f682aec01..699c9378bda7 100644
--- a/drivers/gpio/gpio-mvebu.c
+++ b/drivers/gpio/gpio-mvebu.c
@@ -1143,8 +1143,6 @@ static int mvebu_gpio_probe(struct platform_device *pdev)
 	if (!mvchip)
 		return -ENOMEM;
 
-	platform_set_drvdata(pdev, mvchip);
-
 	if (of_property_read_u32(pdev->dev.of_node, "ngpios", &ngpios)) {
 		dev_err(&pdev->dev, "Missing ngpios OF property\n");
 		return -ENODEV;
diff --git a/drivers/gpio/gpio-mxc.c b/drivers/gpio/gpio-mxc.c
index 9d0cec4b82a3..ac8b12606eae 100644
--- a/drivers/gpio/gpio-mxc.c
+++ b/drivers/gpio/gpio-mxc.c
@@ -489,8 +489,6 @@ static int mxc_gpio_probe(struct platform_device *pdev)
 
 	list_add_tail(&port->node, &mxc_gpio_ports);
 
-	platform_set_drvdata(pdev, port);
-
 	return 0;
 
 out_irqdomain_remove:
diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c
index f5f3d4b22452..acbdb4fd922e 100644
--- a/drivers/gpio/gpio-omap.c
+++ b/drivers/gpio/gpio-omap.c
@@ -762,8 +762,6 @@ static struct platform_device omap_mpuio_device = {
 
 static inline void omap_mpuio_init(struct gpio_bank *bank)
 {
-	platform_set_drvdata(&omap_mpuio_device, bank);
-
 	if (platform_driver_register(&omap_mpuio_driver) == 0)
 		(void) platform_device_register(&omap_mpuio_device);
 }
@@ -1457,8 +1455,6 @@ static int omap_gpio_probe(struct platform_device *pdev)
 		}
 	}
 
-	platform_set_drvdata(pdev, bank);
-
 	pm_runtime_enable(dev);
 	pm_runtime_get_sync(dev);
 
diff --git a/drivers/gpio/gpio-palmas.c b/drivers/gpio/gpio-palmas.c
index bac10c2faf56..dd8a287ff6d0 100644
--- a/drivers/gpio/gpio-palmas.c
+++ b/drivers/gpio/gpio-palmas.c
@@ -184,7 +184,6 @@ static int palmas_gpio_probe(struct platform_device *pdev)
 		return ret;
 	}
 
-	platform_set_drvdata(pdev, palmas_gpio);
 	return ret;
 }
 
diff --git a/drivers/gpio/gpio-pmic-eic-sprd.c b/drivers/gpio/gpio-pmic-eic-sprd.c
index c3e4d90f6b18..bfb003ccbd99 100644
--- a/drivers/gpio/gpio-pmic-eic-sprd.c
+++ b/drivers/gpio/gpio-pmic-eic-sprd.c
@@ -363,7 +363,6 @@ static int sprd_pmic_eic_probe(struct platform_device *pdev)
 		return ret;
 	}
 
-	platform_set_drvdata(pdev, pmic_eic);
 	return 0;
 }
 
diff --git a/drivers/gpio/gpio-rc5t583.c b/drivers/gpio/gpio-rc5t583.c
index 4fae3ebea790..c34dcadaee36 100644
--- a/drivers/gpio/gpio-rc5t583.c
+++ b/drivers/gpio/gpio-rc5t583.c
@@ -121,8 +121,6 @@ static int rc5t583_gpio_probe(struct platform_device *pdev)
 	if (pdata && pdata->gpio_base)
 		rc5t583_gpio->gpio_chip.base = pdata->gpio_base;
 
-	platform_set_drvdata(pdev, rc5t583_gpio);
-
 	return devm_gpiochip_add_data(&pdev->dev, &rc5t583_gpio->gpio_chip,
 				      rc5t583_gpio);
 }
diff --git a/drivers/gpio/gpio-rcar.c b/drivers/gpio/gpio-rcar.c
index 5b117f3bd322..f00a0c2f9dc1 100644
--- a/drivers/gpio/gpio-rcar.c
+++ b/drivers/gpio/gpio-rcar.c
@@ -513,8 +513,6 @@ static int gpio_rcar_probe(struct platform_device *pdev)
 	if (ret < 0)
 		return ret;
 
-	platform_set_drvdata(pdev, p);
-
 	pm_runtime_enable(dev);
 
 	ret = platform_get_irq(pdev, 0);
diff --git a/drivers/gpio/gpio-rda.c b/drivers/gpio/gpio-rda.c
index 62ba18b3a602..04059c5b3d9e 100644
--- a/drivers/gpio/gpio-rda.c
+++ b/drivers/gpio/gpio-rda.c
@@ -263,8 +263,6 @@ static int rda_gpio_probe(struct platform_device *pdev)
 		girq->parents[0] = rda_gpio->irq;
 	}
 
-	platform_set_drvdata(pdev, rda_gpio);
-
 	return devm_gpiochip_add_data(dev, &rda_gpio->chip, rda_gpio);
 }
 
diff --git a/drivers/gpio/gpio-rdc321x.c b/drivers/gpio/gpio-rdc321x.c
index 01ed2517e9fd..4d3c6c9adfcd 100644
--- a/drivers/gpio/gpio-rdc321x.c
+++ b/drivers/gpio/gpio-rdc321x.c
@@ -161,8 +161,6 @@ static int rdc321x_gpio_probe(struct platform_device *pdev)
 	rdc321x_gpio_dev->chip.base = 0;
 	rdc321x_gpio_dev->chip.ngpio = pdata->max_gpios;
 
-	platform_set_drvdata(pdev, rdc321x_gpio_dev);
-
 	/* This might not be, what others (BIOS, bootloader, etc.)
 	   wrote to these registers before, but it's a good guess. Still
 	   better than just using 0xffffffff. */
diff --git a/drivers/gpio/gpio-sama5d2-piobu.c b/drivers/gpio/gpio-sama5d2-piobu.c
index 3e95da717fc9..7c3f4a268829 100644
--- a/drivers/gpio/gpio-sama5d2-piobu.c
+++ b/drivers/gpio/gpio-sama5d2-piobu.c
@@ -189,7 +189,6 @@ static int sama5d2_piobu_probe(struct platform_device *pdev)
 	if (!piobu)
 		return -ENOMEM;
 
-	platform_set_drvdata(pdev, piobu);
 	piobu->chip.label = pdev->name;
 	piobu->chip.parent = &pdev->dev;
 	piobu->chip.owner = THIS_MODULE,
diff --git a/drivers/gpio/gpio-sch.c b/drivers/gpio/gpio-sch.c
index 8a83f7bf4382..e48392074e4b 100644
--- a/drivers/gpio/gpio-sch.c
+++ b/drivers/gpio/gpio-sch.c
@@ -380,8 +380,6 @@ static int sch_gpio_probe(struct platform_device *pdev)
 		return -ENODEV;
 	}
 
-	platform_set_drvdata(pdev, sch);
-
 	girq = &sch->chip.irq;
 	gpio_irq_chip_set_chip(girq, &sch_irqchip);
 	girq->num_parents = 0;
diff --git a/drivers/gpio/gpio-sch311x.c b/drivers/gpio/gpio-sch311x.c
index da01e1cad7cb..63b757e7e507 100644
--- a/drivers/gpio/gpio-sch311x.c
+++ b/drivers/gpio/gpio-sch311x.c
@@ -281,8 +281,6 @@ static int sch311x_gpio_probe(struct platform_device *pdev)
 	if (!priv)
 		return -ENOMEM;
 
-	platform_set_drvdata(pdev, priv);
-
 	for (i = 0; i < ARRAY_SIZE(priv->blocks); i++) {
 		block = &priv->blocks[i];
 
diff --git a/drivers/gpio/gpio-sifive.c b/drivers/gpio/gpio-sifive.c
index bc5660f61c57..65d1b6437136 100644
--- a/drivers/gpio/gpio-sifive.c
+++ b/drivers/gpio/gpio-sifive.c
@@ -256,7 +256,6 @@ static int sifive_gpio_probe(struct platform_device *pdev)
 	girq->handler = handle_bad_irq;
 	girq->default_type = IRQ_TYPE_NONE;
 
-	platform_set_drvdata(pdev, chip);
 	return gpiochip_add_data(&chip->gc, chip);
 }
 
diff --git a/drivers/gpio/gpio-syscon.c b/drivers/gpio/gpio-syscon.c
index 6076937b18e7..afceb7e17ad8 100644
--- a/drivers/gpio/gpio-syscon.c
+++ b/drivers/gpio/gpio-syscon.c
@@ -249,8 +249,6 @@ static int syscon_gpio_probe(struct platform_device *pdev)
 		priv->chip.direction_output = syscon_gpio_dir_out;
 	}
 
-	platform_set_drvdata(pdev, priv);
-
 	return devm_gpiochip_add_data(&pdev->dev, &priv->chip, priv);
 }
 
diff --git a/drivers/gpio/gpio-tegra.c b/drivers/gpio/gpio-tegra.c
index 5b265a6fd3c1..8a1731a13b5a 100644
--- a/drivers/gpio/gpio-tegra.c
+++ b/drivers/gpio/gpio-tegra.c
@@ -728,8 +728,6 @@ static int tegra_gpio_probe(struct platform_device *pdev)
 	tgi->gc.ngpio			= tgi->bank_count * 32;
 	tgi->gc.parent			= &pdev->dev;
 
-	platform_set_drvdata(pdev, tgi);
-
 	if (tgi->soc->debounce_supported)
 		tgi->gc.set_config = tegra_gpio_set_config;
 
diff --git a/drivers/gpio/gpio-timberdale.c b/drivers/gpio/gpio-timberdale.c
index de14949a3fe5..bbd9e9191199 100644
--- a/drivers/gpio/gpio-timberdale.c
+++ b/drivers/gpio/gpio-timberdale.c
@@ -256,8 +256,6 @@ static int timbgpio_probe(struct platform_device *pdev)
 	if (err)
 		return err;
 
-	platform_set_drvdata(pdev, tgpio);
-
 	/* make sure to disable interrupts */
 	iowrite32(0x0, tgpio->membase + TGPIO_IER);
 
diff --git a/drivers/gpio/gpio-tqmx86.c b/drivers/gpio/gpio-tqmx86.c
index e739dcea61b2..f0a2cf4b0679 100644
--- a/drivers/gpio/gpio-tqmx86.c
+++ b/drivers/gpio/gpio-tqmx86.c
@@ -259,8 +259,6 @@ static int tqmx86_gpio_probe(struct platform_device *pdev)
 
 	tqmx86_gpio_write(gpio, (u8)~TQMX86_DIR_INPUT_MASK, TQMX86_GPIODD);
 
-	platform_set_drvdata(pdev, gpio);
-
 	chip = &gpio->chip;
 	chip->label = "gpio-tqmx86";
 	chip->owner = THIS_MODULE;
diff --git a/drivers/gpio/gpio-ts4800.c b/drivers/gpio/gpio-ts4800.c
index 95d80ba14bee..b0b338480516 100644
--- a/drivers/gpio/gpio-ts4800.c
+++ b/drivers/gpio/gpio-ts4800.c
@@ -52,8 +52,6 @@ static int ts4800_gpio_probe(struct platform_device *pdev)
 
 	chip->ngpio = ngpios;
 
-	platform_set_drvdata(pdev, chip);
-
 	return devm_gpiochip_add_data(&pdev->dev, chip, NULL);
 }
 
diff --git a/drivers/gpio/gpio-vx855.c b/drivers/gpio/gpio-vx855.c
index 69713fd5485b..8fd6c3913d69 100644
--- a/drivers/gpio/gpio-vx855.c
+++ b/drivers/gpio/gpio-vx855.c
@@ -240,8 +240,6 @@ static int vx855gpio_probe(struct platform_device *pdev)
 	if (!vg)
 		return -ENOMEM;
 
-	platform_set_drvdata(pdev, vg);
-
 	dev_info(&pdev->dev, "found VX855 GPIO controller\n");
 	vg->io_gpi = res_gpi->start;
 	vg->io_gpo = res_gpo->start;
diff --git a/drivers/gpio/gpio-wcove.c b/drivers/gpio/gpio-wcove.c
index c18b6b47384f..15e59f95b8d0 100644
--- a/drivers/gpio/gpio-wcove.c
+++ b/drivers/gpio/gpio-wcove.c
@@ -433,8 +433,6 @@ static int wcove_gpio_probe(struct platform_device *pdev)
 
 	wg->regmap_irq_chip = pmic->irq_chip_data;
 
-	platform_set_drvdata(pdev, wg);
-
 	mutex_init(&wg->buslock);
 	wg->chip.label = KBUILD_MODNAME;
 	wg->chip.direction_input = wcove_gpio_dir_in;
diff --git a/drivers/gpio/gpio-xgene.c b/drivers/gpio/gpio-xgene.c
index fb4b0c67aeef..f2702065dae6 100644
--- a/drivers/gpio/gpio-xgene.c
+++ b/drivers/gpio/gpio-xgene.c
@@ -180,8 +180,6 @@ static int xgene_gpio_probe(struct platform_device *pdev)
 	gpio->chip.label = dev_name(&pdev->dev);
 	gpio->chip.base = -1;
 
-	platform_set_drvdata(pdev, gpio);
-
 	return devm_gpiochip_add_data(&pdev->dev, &gpio->chip, gpio);
 }
 
diff --git a/drivers/gpio/gpio-zevio.c b/drivers/gpio/gpio-zevio.c
index f0f571b323f2..2de61337ad3b 100644
--- a/drivers/gpio/gpio-zevio.c
+++ b/drivers/gpio/gpio-zevio.c
@@ -176,8 +176,6 @@ static int zevio_gpio_probe(struct platform_device *pdev)
 	if (!controller)
 		return -ENOMEM;
 
-	platform_set_drvdata(pdev, controller);
-
 	/* Copy our reference */
 	controller->chip = zevio_gpio_chip;
 	controller->chip.parent = &pdev->dev;
diff --git a/drivers/gpio/gpio-zynqmp-modepin.c b/drivers/gpio/gpio-zynqmp-modepin.c
index a0d69387c153..cfe540a3cfb4 100644
--- a/drivers/gpio/gpio-zynqmp-modepin.c
+++ b/drivers/gpio/gpio-zynqmp-modepin.c
@@ -120,8 +120,6 @@ static int modepin_gpio_probe(struct platform_device *pdev)
 	if (!chip)
 		return -ENOMEM;
 
-	platform_set_drvdata(pdev, chip);
-
 	/* configure the gpio chip */
 	chip->base = -1;
 	chip->ngpio = MODE_PINS;
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH v2] drivers/gpio : Remove redundant platform_set_drvdata().
  2023-03-19 11:59 [PATCH v2] drivers/gpio : Remove redundant platform_set_drvdata() Lizhe
@ 2023-03-19 12:21 ` Christophe JAILLET
       [not found]   ` <3d85bea8.19f3.186f9d80b0c.Coremail.sensor1010@163.com>
  2023-03-19 21:20 ` Linus Walleij
  2023-03-20 10:10 ` Andy Shevchenko
  2 siblings, 1 reply; 7+ messages in thread
From: Christophe JAILLET @ 2023-03-19 12:21 UTC (permalink / raw)
  To: Lizhe, linus.walleij, brgl, geert+renesas, info, rjui,
	bcm-kernel-feedback-list, f.fainelli, sbranden, shc_work,
	j-keerthy, hoan, fancer.lancer, orsonzhai, baolin.wang,
	zhang.lyra, shawnguo, s.hauer, kernel, festevam, linux-imx,
	kaloz, khalasa, keguang.zhang, daniel, romain.perier,
	matthias.bgg, angelogioacchino.delregno, thierry.reding,
	u.kleine-koenig, grygorii.strashko, ssantosh, khilman, mani,
	ludovic.desroches, andy, palmer, paul.walmsley
  Cc: linux-gpio, linux-kernel, linux-arm-kernel, linux-mips,
	linux-mediatek, linux-pwm, linux-omap, linux-unisoc, linux-riscv,
	linux-tegra

Le 19/03/2023 à 12:59, Lizhe a écrit :
> platform_set_drvdata() is redundant in these functions.
> the purpose of calling this function is to place data
> in *driver_data. but the data is not retrieved in these
> functions
> 
> Signed-off-by: Lizhe <sensor1010@163.com>
> ---

Hi, I just randomly choose one driver, and:

>   drivers/gpio/gpio-74xx-mmio.c      | 2 --
>   drivers/gpio/gpio-aggregator.c     | 1 -
>   drivers/gpio/gpio-amd-fch.c        | 2 --
>   drivers/gpio/gpio-bcm-kona.c       | 1 -
>   drivers/gpio/gpio-clps711x.c       | 1 -
>   drivers/gpio/gpio-davinci.c        | 1 -

https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/drivers/gpio/gpio-davinci.c#n485

So more care should be given to avoid to break existing code.

How have you generated/checked your patch?

Just my 2c,

CJ

>   drivers/gpio/gpio-dwapb.c          | 2 --
>   drivers/gpio/gpio-eic-sprd.c       | 1 -
>   drivers/gpio/gpio-em.c             | 1 -
>   drivers/gpio/gpio-exar.c           | 2 --
>   drivers/gpio/gpio-f7188x.c         | 2 --
>   drivers/gpio/gpio-htc-egpio.c      | 3 ---
>   drivers/gpio/gpio-imx-scu.c        | 2 --
>   drivers/gpio/gpio-ixp4xx.c         | 1 -
>   drivers/gpio/gpio-janz-ttl.c       | 1 -
>   drivers/gpio/gpio-kempld.c         | 2 --
>   drivers/gpio/gpio-latch.c          | 2 --
>   drivers/gpio/gpio-logicvc.c        | 2 --
>   drivers/gpio/gpio-loongson1.c      | 1 -
>   drivers/gpio/gpio-lp3943.c         | 2 --
>   drivers/gpio/gpio-lp873x.c         | 2 --
>   drivers/gpio/gpio-max77620.c       | 2 --
>   drivers/gpio/gpio-mlxbf.c          | 1 -
>   drivers/gpio/gpio-mlxbf2.c         | 2 --
>   drivers/gpio/gpio-mmio.c           | 2 --
>   drivers/gpio/gpio-msc313.c         | 2 --
>   drivers/gpio/gpio-mt7621.c         | 1 -
>   drivers/gpio/gpio-mvebu.c          | 2 --
>   drivers/gpio/gpio-mxc.c            | 2 --
>   drivers/gpio/gpio-omap.c           | 4 ----
>   drivers/gpio/gpio-palmas.c         | 1 -
>   drivers/gpio/gpio-pmic-eic-sprd.c  | 1 -
>   drivers/gpio/gpio-rc5t583.c        | 2 --
>   drivers/gpio/gpio-rcar.c           | 2 --
>   drivers/gpio/gpio-rda.c            | 2 --
>   drivers/gpio/gpio-rdc321x.c        | 2 --
>   drivers/gpio/gpio-sama5d2-piobu.c  | 1 -
>   drivers/gpio/gpio-sch.c            | 2 --
>   drivers/gpio/gpio-sch311x.c        | 2 --
>   drivers/gpio/gpio-sifive.c         | 1 -
>   drivers/gpio/gpio-syscon.c         | 2 --
>   drivers/gpio/gpio-tegra.c          | 2 --
>   drivers/gpio/gpio-timberdale.c     | 2 --
>   drivers/gpio/gpio-tqmx86.c         | 2 --
>   drivers/gpio/gpio-ts4800.c         | 2 --
>   drivers/gpio/gpio-vx855.c          | 2 --
>   drivers/gpio/gpio-wcove.c          | 2 --
>   drivers/gpio/gpio-xgene.c          | 2 --
>   drivers/gpio/gpio-zevio.c          | 2 --
>   drivers/gpio/gpio-zynqmp-modepin.c | 2 --
>   50 files changed, 88 deletions(-)
> 
> diff --git a/drivers/gpio/gpio-74xx-mmio.c b/drivers/gpio/gpio-74xx-mmio.c
> index 0464f1ecd20d..c7ac5a9ffb1f 100644
> --- a/drivers/gpio/gpio-74xx-mmio.c
> +++ b/drivers/gpio/gpio-74xx-mmio.c
> @@ -135,8 +135,6 @@ static int mmio_74xx_gpio_probe(struct platform_device *pdev)
>   	priv->gc.ngpio = MMIO_74XX_BIT_CNT(priv->flags);
>   	priv->gc.owner = THIS_MODULE;
>   
> -	platform_set_drvdata(pdev, priv);
> -
>   	return devm_gpiochip_add_data(&pdev->dev, &priv->gc, priv);
>   }
>   
> diff --git a/drivers/gpio/gpio-aggregator.c b/drivers/gpio/gpio-aggregator.c
> index 6d17d262ad91..f67d1d46c093 100644
> --- a/drivers/gpio/gpio-aggregator.c
> +++ b/drivers/gpio/gpio-aggregator.c
> @@ -495,7 +495,6 @@ static int gpio_aggregator_probe(struct platform_device *pdev)
>   	if (IS_ERR(fwd))
>   		return PTR_ERR(fwd);
>   
> -	platform_set_drvdata(pdev, fwd);
>   	return 0;
>   }
>   
> diff --git a/drivers/gpio/gpio-amd-fch.c b/drivers/gpio/gpio-amd-fch.c
> index 2a21354ed6a0..8a7f861513eb 100644
> --- a/drivers/gpio/gpio-amd-fch.c
> +++ b/drivers/gpio/gpio-amd-fch.c
> @@ -172,8 +172,6 @@ static int amd_fch_gpio_probe(struct platform_device *pdev)
>   	if (IS_ERR(priv->base))
>   		return PTR_ERR(priv->base);
>   
> -	platform_set_drvdata(pdev, priv);
> -
>   	return devm_gpiochip_add_data(&pdev->dev, &priv->gc, priv);
>   }
>   
> diff --git a/drivers/gpio/gpio-bcm-kona.c b/drivers/gpio/gpio-bcm-kona.c
> index 70770429ba48..2e50a07a43e6 100644
> --- a/drivers/gpio/gpio-bcm-kona.c
> +++ b/drivers/gpio/gpio-bcm-kona.c
> @@ -597,7 +597,6 @@ static int bcm_kona_gpio_probe(struct platform_device *pdev)
>   		return -ENOMEM;
>   
>   	kona_gpio->pdev = pdev;
> -	platform_set_drvdata(pdev, kona_gpio);
>   	chip->parent = dev;
>   	chip->ngpio = kona_gpio->num_bank * GPIO_PER_BANK;
>   
> diff --git a/drivers/gpio/gpio-clps711x.c b/drivers/gpio/gpio-clps711x.c
> index 75f6f8d4323e..b9ba85ef94b2 100644
> --- a/drivers/gpio/gpio-clps711x.c
> +++ b/drivers/gpio/gpio-clps711x.c
> @@ -62,7 +62,6 @@ static int clps711x_gpio_probe(struct platform_device *pdev)
>   
>   	gc->base = -1;
>   	gc->owner = THIS_MODULE;
> -	platform_set_drvdata(pdev, gc);
>   
>   	return devm_gpiochip_add_data(&pdev->dev, gc, NULL);
>   }
> diff --git a/drivers/gpio/gpio-davinci.c b/drivers/gpio/gpio-davinci.c
> index 26b1f7465e09..ec619c3fde90 100644
> --- a/drivers/gpio/gpio-davinci.c
> +++ b/drivers/gpio/gpio-davinci.c
> @@ -266,7 +266,6 @@ static int davinci_gpio_probe(struct platform_device *pdev)
>   	if (ret)
>   		return ret;
>   
> -	platform_set_drvdata(pdev, chips);
>   	ret = davinci_gpio_irq_setup(pdev);
>   	if (ret)
>   		return ret;
> diff --git a/drivers/gpio/gpio-dwapb.c b/drivers/gpio/gpio-dwapb.c
> index c22fcaa44a61..8db67674078e 100644
> --- a/drivers/gpio/gpio-dwapb.c
> +++ b/drivers/gpio/gpio-dwapb.c
> @@ -734,8 +734,6 @@ static int dwapb_gpio_probe(struct platform_device *pdev)
>   			return err;
>   	}
>   
> -	platform_set_drvdata(pdev, gpio);
> -
>   	return 0;
>   }
>   
> diff --git a/drivers/gpio/gpio-eic-sprd.c b/drivers/gpio/gpio-eic-sprd.c
> index 84352a6f4973..53db88ae2a20 100644
> --- a/drivers/gpio/gpio-eic-sprd.c
> +++ b/drivers/gpio/gpio-eic-sprd.c
> @@ -653,7 +653,6 @@ static int sprd_eic_probe(struct platform_device *pdev)
>   		return ret;
>   	}
>   
> -	platform_set_drvdata(pdev, sprd_eic);
>   	return 0;
>   }
>   
> diff --git a/drivers/gpio/gpio-em.c b/drivers/gpio/gpio-em.c
> index 858e6ebbb584..3707cb4c1b79 100644
> --- a/drivers/gpio/gpio-em.c
> +++ b/drivers/gpio/gpio-em.c
> @@ -281,7 +281,6 @@ static int em_gio_probe(struct platform_device *pdev)
>   		return -ENOMEM;
>   
>   	p->pdev = pdev;
> -	platform_set_drvdata(pdev, p);
>   	spin_lock_init(&p->sense_lock);
>   
>   	irq[0] = platform_get_irq(pdev, 0);
> diff --git a/drivers/gpio/gpio-exar.c b/drivers/gpio/gpio-exar.c
> index df1bdaae441c..5170fe7599cd 100644
> --- a/drivers/gpio/gpio-exar.c
> +++ b/drivers/gpio/gpio-exar.c
> @@ -217,8 +217,6 @@ static int gpio_exar_probe(struct platform_device *pdev)
>   	if (ret)
>   		return ret;
>   
> -	platform_set_drvdata(pdev, exar_gpio);
> -
>   	return 0;
>   }
>   
> diff --git a/drivers/gpio/gpio-f7188x.c b/drivers/gpio/gpio-f7188x.c
> index 9effa7769bef..5475614c1872 100644
> --- a/drivers/gpio/gpio-f7188x.c
> +++ b/drivers/gpio/gpio-f7188x.c
> @@ -499,8 +499,6 @@ static int f7188x_gpio_probe(struct platform_device *pdev)
>   	}
>   	data->sio = sio;
>   
> -	platform_set_drvdata(pdev, data);
> -
>   	/* For each GPIO bank, register a GPIO chip. */
>   	for (i = 0; i < data->nr_bank; i++) {
>   		struct f7188x_gpio_bank *bank = &data->bank[i];
> diff --git a/drivers/gpio/gpio-htc-egpio.c b/drivers/gpio/gpio-htc-egpio.c
> index a40bd56673fe..0938c0712732 100644
> --- a/drivers/gpio/gpio-htc-egpio.c
> +++ b/drivers/gpio/gpio-htc-egpio.c
> @@ -299,9 +299,6 @@ static int __init egpio_probe(struct platform_device *pdev)
>   	pr_debug("reg_shift = %d\n", ei->reg_shift);
>   
>   	ei->reg_mask = (1 << pdata->reg_width) - 1;
> -
> -	platform_set_drvdata(pdev, ei);
> -
>   	ei->nchips = pdata->num_chips;
>   	ei->chip = devm_kcalloc(&pdev->dev,
>   				ei->nchips, sizeof(struct egpio_chip),
> diff --git a/drivers/gpio/gpio-imx-scu.c b/drivers/gpio/gpio-imx-scu.c
> index 17be21b8f3b7..bcc12105878e 100644
> --- a/drivers/gpio/gpio-imx-scu.c
> +++ b/drivers/gpio/gpio-imx-scu.c
> @@ -109,8 +109,6 @@ static int imx_scu_gpio_probe(struct platform_device *pdev)
>   	gc->set = imx_scu_gpio_set;
>   	gc->get_direction = imx_scu_gpio_get_direction;
>   
> -	platform_set_drvdata(pdev, priv);
> -
>   	return devm_gpiochip_add_data(dev, gc, priv);
>   }
>   
> diff --git a/drivers/gpio/gpio-ixp4xx.c b/drivers/gpio/gpio-ixp4xx.c
> index 56656fb519f8..3f59658dd316 100644
> --- a/drivers/gpio/gpio-ixp4xx.c
> +++ b/drivers/gpio/gpio-ixp4xx.c
> @@ -287,7 +287,6 @@ static int ixp4xx_gpio_probe(struct platform_device *pdev)
>   		return ret;
>   	}
>   
> -	platform_set_drvdata(pdev, g);
>   	dev_info(dev, "IXP4 GPIO registered\n");
>   
>   	return 0;
> diff --git a/drivers/gpio/gpio-janz-ttl.c b/drivers/gpio/gpio-janz-ttl.c
> index cdf50e4ea165..ea68f49c1824 100644
> --- a/drivers/gpio/gpio-janz-ttl.c
> +++ b/drivers/gpio/gpio-janz-ttl.c
> @@ -154,7 +154,6 @@ static int ttl_probe(struct platform_device *pdev)
>   	if (!mod)
>   		return -ENOMEM;
>   
> -	platform_set_drvdata(pdev, mod);
>   	spin_lock_init(&mod->lock);
>   
>   	/* get access to the MODULbus registers for this module */
> diff --git a/drivers/gpio/gpio-kempld.c b/drivers/gpio/gpio-kempld.c
> index 4ea15f08e0f4..2065a8a121b2 100644
> --- a/drivers/gpio/gpio-kempld.c
> +++ b/drivers/gpio/gpio-kempld.c
> @@ -151,8 +151,6 @@ static int kempld_gpio_probe(struct platform_device *pdev)
>   
>   	gpio->pld = pld;
>   
> -	platform_set_drvdata(pdev, gpio);
> -
>   	chip = &gpio->chip;
>   	chip->label = "gpio-kempld";
>   	chip->owner = THIS_MODULE;
> diff --git a/drivers/gpio/gpio-latch.c b/drivers/gpio/gpio-latch.c
> index d7c3b20c8482..cf0f86b87c87 100644
> --- a/drivers/gpio/gpio-latch.c
> +++ b/drivers/gpio/gpio-latch.c
> @@ -192,8 +192,6 @@ static int gpio_latch_probe(struct platform_device *pdev)
>   	priv->gc.base = -1;
>   	priv->gc.parent = &pdev->dev;
>   
> -	platform_set_drvdata(pdev, priv);
> -
>   	return devm_gpiochip_add_data(&pdev->dev, &priv->gc, priv);
>   }
>   
> diff --git a/drivers/gpio/gpio-logicvc.c b/drivers/gpio/gpio-logicvc.c
> index 992cc958a43f..9b4789deae45 100644
> --- a/drivers/gpio/gpio-logicvc.c
> +++ b/drivers/gpio/gpio-logicvc.c
> @@ -139,8 +139,6 @@ static int logicvc_gpio_probe(struct platform_device *pdev)
>   	logicvc->chip.set = logicvc_gpio_set;
>   	logicvc->chip.direction_output = logicvc_gpio_direction_output;
>   
> -	platform_set_drvdata(pdev, logicvc);
> -
>   	return devm_gpiochip_add_data(dev, &logicvc->chip, logicvc);
>   }
>   
> diff --git a/drivers/gpio/gpio-loongson1.c b/drivers/gpio/gpio-loongson1.c
> index 5d90b3bc5a25..0ff4ea7af9c0 100644
> --- a/drivers/gpio/gpio-loongson1.c
> +++ b/drivers/gpio/gpio-loongson1.c
> @@ -72,7 +72,6 @@ static int ls1x_gpio_probe(struct platform_device *pdev)
>   	if (ret)
>   		goto err;
>   
> -	platform_set_drvdata(pdev, gc);
>   	dev_info(dev, "Loongson1 GPIO driver registered\n");
>   
>   	return 0;
> diff --git a/drivers/gpio/gpio-lp3943.c b/drivers/gpio/gpio-lp3943.c
> index 79edd5db49d2..8e58242f5123 100644
> --- a/drivers/gpio/gpio-lp3943.c
> +++ b/drivers/gpio/gpio-lp3943.c
> @@ -199,8 +199,6 @@ static int lp3943_gpio_probe(struct platform_device *pdev)
>   	lp3943_gpio->chip = lp3943_gpio_chip;
>   	lp3943_gpio->chip.parent = &pdev->dev;
>   
> -	platform_set_drvdata(pdev, lp3943_gpio);
> -
>   	return devm_gpiochip_add_data(&pdev->dev, &lp3943_gpio->chip,
>   				      lp3943_gpio);
>   }
> diff --git a/drivers/gpio/gpio-lp873x.c b/drivers/gpio/gpio-lp873x.c
> index 5c79ba1f229c..7427a74ce4e2 100644
> --- a/drivers/gpio/gpio-lp873x.c
> +++ b/drivers/gpio/gpio-lp873x.c
> @@ -140,8 +140,6 @@ static int lp873x_gpio_probe(struct platform_device *pdev)
>   	if (!gpio)
>   		return -ENOMEM;
>   
> -	platform_set_drvdata(pdev, gpio);
> -
>   	gpio->lp873 = dev_get_drvdata(pdev->dev.parent);
>   	gpio->chip = template_chip;
>   	gpio->chip.parent = gpio->lp873->dev;
> diff --git a/drivers/gpio/gpio-max77620.c b/drivers/gpio/gpio-max77620.c
> index c18b60e39a94..8c2a5609161f 100644
> --- a/drivers/gpio/gpio-max77620.c
> +++ b/drivers/gpio/gpio-max77620.c
> @@ -331,8 +331,6 @@ static int max77620_gpio_probe(struct platform_device *pdev)
>   	girq->init_hw = max77620_gpio_irq_init_hw;
>   	girq->threaded = true;
>   
> -	platform_set_drvdata(pdev, mgpio);
> -
>   	ret = devm_gpiochip_add_data(&pdev->dev, &mgpio->gpio_chip, mgpio);
>   	if (ret < 0) {
>   		dev_err(&pdev->dev, "gpio_init: Failed to add max77620_gpio\n");
> diff --git a/drivers/gpio/gpio-mlxbf.c b/drivers/gpio/gpio-mlxbf.c
> index 1fa9973f55b9..f38faf40c92a 100644
> --- a/drivers/gpio/gpio-mlxbf.c
> +++ b/drivers/gpio/gpio-mlxbf.c
> @@ -82,7 +82,6 @@ static int mlxbf_gpio_probe(struct platform_device *pdev)
>   		return ret;
>   	}
>   
> -	platform_set_drvdata(pdev, gs);
>   	dev_info(&pdev->dev, "registered Mellanox BlueField GPIO");
>   	return 0;
>   }
> diff --git a/drivers/gpio/gpio-mlxbf2.c b/drivers/gpio/gpio-mlxbf2.c
> index 77a41151c921..fdc4e66eae12 100644
> --- a/drivers/gpio/gpio-mlxbf2.c
> +++ b/drivers/gpio/gpio-mlxbf2.c
> @@ -402,8 +402,6 @@ mlxbf2_gpio_probe(struct platform_device *pdev)
>   		}
>   	}
>   
> -	platform_set_drvdata(pdev, gs);
> -
>   	ret = devm_gpiochip_add_data(dev, &gs->gc, gs);
>   	if (ret) {
>   		dev_err(dev, "Failed adding memory mapped gpiochip\n");
> diff --git a/drivers/gpio/gpio-mmio.c b/drivers/gpio/gpio-mmio.c
> index d9dff3dc92ae..c085c60584a8 100644
> --- a/drivers/gpio/gpio-mmio.c
> +++ b/drivers/gpio/gpio-mmio.c
> @@ -787,8 +787,6 @@ static int bgpio_pdev_probe(struct platform_device *pdev)
>   			gc->ngpio = pdata->ngpio;
>   	}
>   
> -	platform_set_drvdata(pdev, gc);
> -
>   	return devm_gpiochip_add_data(&pdev->dev, gc, NULL);
>   }
>   
> diff --git a/drivers/gpio/gpio-msc313.c b/drivers/gpio/gpio-msc313.c
> index b0773e5652fa..0a12948defc0 100644
> --- a/drivers/gpio/gpio-msc313.c
> +++ b/drivers/gpio/gpio-msc313.c
> @@ -625,8 +625,6 @@ static int msc313_gpio_probe(struct platform_device *pdev)
>   	if (IS_ERR(gpio->base))
>   		return PTR_ERR(gpio->base);
>   
> -	platform_set_drvdata(pdev, gpio);
> -
>   	gpiochip = devm_kzalloc(dev, sizeof(*gpiochip), GFP_KERNEL);
>   	if (!gpiochip)
>   		return -ENOMEM;
> diff --git a/drivers/gpio/gpio-mt7621.c b/drivers/gpio/gpio-mt7621.c
> index 93facbebb80e..c0c715167d9c 100644
> --- a/drivers/gpio/gpio-mt7621.c
> +++ b/drivers/gpio/gpio-mt7621.c
> @@ -315,7 +315,6 @@ mediatek_gpio_probe(struct platform_device *pdev)
>   		return mtk->gpio_irq;
>   
>   	mtk->dev = dev;
> -	platform_set_drvdata(pdev, mtk);
>   
>   	for (i = 0; i < MTK_BANK_CNT; i++) {
>   		ret = mediatek_gpio_bank_probe(dev, i);
> diff --git a/drivers/gpio/gpio-mvebu.c b/drivers/gpio/gpio-mvebu.c
> index a68f682aec01..699c9378bda7 100644
> --- a/drivers/gpio/gpio-mvebu.c
> +++ b/drivers/gpio/gpio-mvebu.c
> @@ -1143,8 +1143,6 @@ static int mvebu_gpio_probe(struct platform_device *pdev)
>   	if (!mvchip)
>   		return -ENOMEM;
>   
> -	platform_set_drvdata(pdev, mvchip);
> -
>   	if (of_property_read_u32(pdev->dev.of_node, "ngpios", &ngpios)) {
>   		dev_err(&pdev->dev, "Missing ngpios OF property\n");
>   		return -ENODEV;
> diff --git a/drivers/gpio/gpio-mxc.c b/drivers/gpio/gpio-mxc.c
> index 9d0cec4b82a3..ac8b12606eae 100644
> --- a/drivers/gpio/gpio-mxc.c
> +++ b/drivers/gpio/gpio-mxc.c
> @@ -489,8 +489,6 @@ static int mxc_gpio_probe(struct platform_device *pdev)
>   
>   	list_add_tail(&port->node, &mxc_gpio_ports);
>   
> -	platform_set_drvdata(pdev, port);
> -
>   	return 0;
>   
>   out_irqdomain_remove:
> diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c
> index f5f3d4b22452..acbdb4fd922e 100644
> --- a/drivers/gpio/gpio-omap.c
> +++ b/drivers/gpio/gpio-omap.c
> @@ -762,8 +762,6 @@ static struct platform_device omap_mpuio_device = {
>   
>   static inline void omap_mpuio_init(struct gpio_bank *bank)
>   {
> -	platform_set_drvdata(&omap_mpuio_device, bank);
> -
>   	if (platform_driver_register(&omap_mpuio_driver) == 0)
>   		(void) platform_device_register(&omap_mpuio_device);
>   }
> @@ -1457,8 +1455,6 @@ static int omap_gpio_probe(struct platform_device *pdev)
>   		}
>   	}
>   
> -	platform_set_drvdata(pdev, bank);
> -
>   	pm_runtime_enable(dev);
>   	pm_runtime_get_sync(dev);
>   
> diff --git a/drivers/gpio/gpio-palmas.c b/drivers/gpio/gpio-palmas.c
> index bac10c2faf56..dd8a287ff6d0 100644
> --- a/drivers/gpio/gpio-palmas.c
> +++ b/drivers/gpio/gpio-palmas.c
> @@ -184,7 +184,6 @@ static int palmas_gpio_probe(struct platform_device *pdev)
>   		return ret;
>   	}
>   
> -	platform_set_drvdata(pdev, palmas_gpio);
>   	return ret;
>   }
>   
> diff --git a/drivers/gpio/gpio-pmic-eic-sprd.c b/drivers/gpio/gpio-pmic-eic-sprd.c
> index c3e4d90f6b18..bfb003ccbd99 100644
> --- a/drivers/gpio/gpio-pmic-eic-sprd.c
> +++ b/drivers/gpio/gpio-pmic-eic-sprd.c
> @@ -363,7 +363,6 @@ static int sprd_pmic_eic_probe(struct platform_device *pdev)
>   		return ret;
>   	}
>   
> -	platform_set_drvdata(pdev, pmic_eic);
>   	return 0;
>   }
>   
> diff --git a/drivers/gpio/gpio-rc5t583.c b/drivers/gpio/gpio-rc5t583.c
> index 4fae3ebea790..c34dcadaee36 100644
> --- a/drivers/gpio/gpio-rc5t583.c
> +++ b/drivers/gpio/gpio-rc5t583.c
> @@ -121,8 +121,6 @@ static int rc5t583_gpio_probe(struct platform_device *pdev)
>   	if (pdata && pdata->gpio_base)
>   		rc5t583_gpio->gpio_chip.base = pdata->gpio_base;
>   
> -	platform_set_drvdata(pdev, rc5t583_gpio);
> -
>   	return devm_gpiochip_add_data(&pdev->dev, &rc5t583_gpio->gpio_chip,
>   				      rc5t583_gpio);
>   }
> diff --git a/drivers/gpio/gpio-rcar.c b/drivers/gpio/gpio-rcar.c
> index 5b117f3bd322..f00a0c2f9dc1 100644
> --- a/drivers/gpio/gpio-rcar.c
> +++ b/drivers/gpio/gpio-rcar.c
> @@ -513,8 +513,6 @@ static int gpio_rcar_probe(struct platform_device *pdev)
>   	if (ret < 0)
>   		return ret;
>   
> -	platform_set_drvdata(pdev, p);
> -
>   	pm_runtime_enable(dev);
>   
>   	ret = platform_get_irq(pdev, 0);
> diff --git a/drivers/gpio/gpio-rda.c b/drivers/gpio/gpio-rda.c
> index 62ba18b3a602..04059c5b3d9e 100644
> --- a/drivers/gpio/gpio-rda.c
> +++ b/drivers/gpio/gpio-rda.c
> @@ -263,8 +263,6 @@ static int rda_gpio_probe(struct platform_device *pdev)
>   		girq->parents[0] = rda_gpio->irq;
>   	}
>   
> -	platform_set_drvdata(pdev, rda_gpio);
> -
>   	return devm_gpiochip_add_data(dev, &rda_gpio->chip, rda_gpio);
>   }
>   
> diff --git a/drivers/gpio/gpio-rdc321x.c b/drivers/gpio/gpio-rdc321x.c
> index 01ed2517e9fd..4d3c6c9adfcd 100644
> --- a/drivers/gpio/gpio-rdc321x.c
> +++ b/drivers/gpio/gpio-rdc321x.c
> @@ -161,8 +161,6 @@ static int rdc321x_gpio_probe(struct platform_device *pdev)
>   	rdc321x_gpio_dev->chip.base = 0;
>   	rdc321x_gpio_dev->chip.ngpio = pdata->max_gpios;
>   
> -	platform_set_drvdata(pdev, rdc321x_gpio_dev);
> -
>   	/* This might not be, what others (BIOS, bootloader, etc.)
>   	   wrote to these registers before, but it's a good guess. Still
>   	   better than just using 0xffffffff. */
> diff --git a/drivers/gpio/gpio-sama5d2-piobu.c b/drivers/gpio/gpio-sama5d2-piobu.c
> index 3e95da717fc9..7c3f4a268829 100644
> --- a/drivers/gpio/gpio-sama5d2-piobu.c
> +++ b/drivers/gpio/gpio-sama5d2-piobu.c
> @@ -189,7 +189,6 @@ static int sama5d2_piobu_probe(struct platform_device *pdev)
>   	if (!piobu)
>   		return -ENOMEM;
>   
> -	platform_set_drvdata(pdev, piobu);
>   	piobu->chip.label = pdev->name;
>   	piobu->chip.parent = &pdev->dev;
>   	piobu->chip.owner = THIS_MODULE,
> diff --git a/drivers/gpio/gpio-sch.c b/drivers/gpio/gpio-sch.c
> index 8a83f7bf4382..e48392074e4b 100644
> --- a/drivers/gpio/gpio-sch.c
> +++ b/drivers/gpio/gpio-sch.c
> @@ -380,8 +380,6 @@ static int sch_gpio_probe(struct platform_device *pdev)
>   		return -ENODEV;
>   	}
>   
> -	platform_set_drvdata(pdev, sch);
> -
>   	girq = &sch->chip.irq;
>   	gpio_irq_chip_set_chip(girq, &sch_irqchip);
>   	girq->num_parents = 0;
> diff --git a/drivers/gpio/gpio-sch311x.c b/drivers/gpio/gpio-sch311x.c
> index da01e1cad7cb..63b757e7e507 100644
> --- a/drivers/gpio/gpio-sch311x.c
> +++ b/drivers/gpio/gpio-sch311x.c
> @@ -281,8 +281,6 @@ static int sch311x_gpio_probe(struct platform_device *pdev)
>   	if (!priv)
>   		return -ENOMEM;
>   
> -	platform_set_drvdata(pdev, priv);
> -
>   	for (i = 0; i < ARRAY_SIZE(priv->blocks); i++) {
>   		block = &priv->blocks[i];
>   
> diff --git a/drivers/gpio/gpio-sifive.c b/drivers/gpio/gpio-sifive.c
> index bc5660f61c57..65d1b6437136 100644
> --- a/drivers/gpio/gpio-sifive.c
> +++ b/drivers/gpio/gpio-sifive.c
> @@ -256,7 +256,6 @@ static int sifive_gpio_probe(struct platform_device *pdev)
>   	girq->handler = handle_bad_irq;
>   	girq->default_type = IRQ_TYPE_NONE;
>   
> -	platform_set_drvdata(pdev, chip);
>   	return gpiochip_add_data(&chip->gc, chip);
>   }
>   
> diff --git a/drivers/gpio/gpio-syscon.c b/drivers/gpio/gpio-syscon.c
> index 6076937b18e7..afceb7e17ad8 100644
> --- a/drivers/gpio/gpio-syscon.c
> +++ b/drivers/gpio/gpio-syscon.c
> @@ -249,8 +249,6 @@ static int syscon_gpio_probe(struct platform_device *pdev)
>   		priv->chip.direction_output = syscon_gpio_dir_out;
>   	}
>   
> -	platform_set_drvdata(pdev, priv);
> -
>   	return devm_gpiochip_add_data(&pdev->dev, &priv->chip, priv);
>   }
>   
> diff --git a/drivers/gpio/gpio-tegra.c b/drivers/gpio/gpio-tegra.c
> index 5b265a6fd3c1..8a1731a13b5a 100644
> --- a/drivers/gpio/gpio-tegra.c
> +++ b/drivers/gpio/gpio-tegra.c
> @@ -728,8 +728,6 @@ static int tegra_gpio_probe(struct platform_device *pdev)
>   	tgi->gc.ngpio			= tgi->bank_count * 32;
>   	tgi->gc.parent			= &pdev->dev;
>   
> -	platform_set_drvdata(pdev, tgi);
> -
>   	if (tgi->soc->debounce_supported)
>   		tgi->gc.set_config = tegra_gpio_set_config;
>   
> diff --git a/drivers/gpio/gpio-timberdale.c b/drivers/gpio/gpio-timberdale.c
> index de14949a3fe5..bbd9e9191199 100644
> --- a/drivers/gpio/gpio-timberdale.c
> +++ b/drivers/gpio/gpio-timberdale.c
> @@ -256,8 +256,6 @@ static int timbgpio_probe(struct platform_device *pdev)
>   	if (err)
>   		return err;
>   
> -	platform_set_drvdata(pdev, tgpio);
> -
>   	/* make sure to disable interrupts */
>   	iowrite32(0x0, tgpio->membase + TGPIO_IER);
>   
> diff --git a/drivers/gpio/gpio-tqmx86.c b/drivers/gpio/gpio-tqmx86.c
> index e739dcea61b2..f0a2cf4b0679 100644
> --- a/drivers/gpio/gpio-tqmx86.c
> +++ b/drivers/gpio/gpio-tqmx86.c
> @@ -259,8 +259,6 @@ static int tqmx86_gpio_probe(struct platform_device *pdev)
>   
>   	tqmx86_gpio_write(gpio, (u8)~TQMX86_DIR_INPUT_MASK, TQMX86_GPIODD);
>   
> -	platform_set_drvdata(pdev, gpio);
> -
>   	chip = &gpio->chip;
>   	chip->label = "gpio-tqmx86";
>   	chip->owner = THIS_MODULE;
> diff --git a/drivers/gpio/gpio-ts4800.c b/drivers/gpio/gpio-ts4800.c
> index 95d80ba14bee..b0b338480516 100644
> --- a/drivers/gpio/gpio-ts4800.c
> +++ b/drivers/gpio/gpio-ts4800.c
> @@ -52,8 +52,6 @@ static int ts4800_gpio_probe(struct platform_device *pdev)
>   
>   	chip->ngpio = ngpios;
>   
> -	platform_set_drvdata(pdev, chip);
> -
>   	return devm_gpiochip_add_data(&pdev->dev, chip, NULL);
>   }
>   
> diff --git a/drivers/gpio/gpio-vx855.c b/drivers/gpio/gpio-vx855.c
> index 69713fd5485b..8fd6c3913d69 100644
> --- a/drivers/gpio/gpio-vx855.c
> +++ b/drivers/gpio/gpio-vx855.c
> @@ -240,8 +240,6 @@ static int vx855gpio_probe(struct platform_device *pdev)
>   	if (!vg)
>   		return -ENOMEM;
>   
> -	platform_set_drvdata(pdev, vg);
> -
>   	dev_info(&pdev->dev, "found VX855 GPIO controller\n");
>   	vg->io_gpi = res_gpi->start;
>   	vg->io_gpo = res_gpo->start;
> diff --git a/drivers/gpio/gpio-wcove.c b/drivers/gpio/gpio-wcove.c
> index c18b6b47384f..15e59f95b8d0 100644
> --- a/drivers/gpio/gpio-wcove.c
> +++ b/drivers/gpio/gpio-wcove.c
> @@ -433,8 +433,6 @@ static int wcove_gpio_probe(struct platform_device *pdev)
>   
>   	wg->regmap_irq_chip = pmic->irq_chip_data;
>   
> -	platform_set_drvdata(pdev, wg);
> -
>   	mutex_init(&wg->buslock);
>   	wg->chip.label = KBUILD_MODNAME;
>   	wg->chip.direction_input = wcove_gpio_dir_in;
> diff --git a/drivers/gpio/gpio-xgene.c b/drivers/gpio/gpio-xgene.c
> index fb4b0c67aeef..f2702065dae6 100644
> --- a/drivers/gpio/gpio-xgene.c
> +++ b/drivers/gpio/gpio-xgene.c
> @@ -180,8 +180,6 @@ static int xgene_gpio_probe(struct platform_device *pdev)
>   	gpio->chip.label = dev_name(&pdev->dev);
>   	gpio->chip.base = -1;
>   
> -	platform_set_drvdata(pdev, gpio);
> -
>   	return devm_gpiochip_add_data(&pdev->dev, &gpio->chip, gpio);
>   }
>   
> diff --git a/drivers/gpio/gpio-zevio.c b/drivers/gpio/gpio-zevio.c
> index f0f571b323f2..2de61337ad3b 100644
> --- a/drivers/gpio/gpio-zevio.c
> +++ b/drivers/gpio/gpio-zevio.c
> @@ -176,8 +176,6 @@ static int zevio_gpio_probe(struct platform_device *pdev)
>   	if (!controller)
>   		return -ENOMEM;
>   
> -	platform_set_drvdata(pdev, controller);
> -
>   	/* Copy our reference */
>   	controller->chip = zevio_gpio_chip;
>   	controller->chip.parent = &pdev->dev;
> diff --git a/drivers/gpio/gpio-zynqmp-modepin.c b/drivers/gpio/gpio-zynqmp-modepin.c
> index a0d69387c153..cfe540a3cfb4 100644
> --- a/drivers/gpio/gpio-zynqmp-modepin.c
> +++ b/drivers/gpio/gpio-zynqmp-modepin.c
> @@ -120,8 +120,6 @@ static int modepin_gpio_probe(struct platform_device *pdev)
>   	if (!chip)
>   		return -ENOMEM;
>   
> -	platform_set_drvdata(pdev, chip);
> -
>   	/* configure the gpio chip */
>   	chip->base = -1;
>   	chip->ngpio = MODE_PINS;


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v2] drivers/gpio : Remove redundant platform_set_drvdata().
       [not found]   ` <3d85bea8.19f3.186f9d80b0c.Coremail.sensor1010@163.com>
@ 2023-03-19 17:42     ` Christophe JAILLET
  2023-03-19 17:59       ` Serge Semin
  0 siblings, 1 reply; 7+ messages in thread
From: Christophe JAILLET @ 2023-03-19 17:42 UTC (permalink / raw)
  To: lizhe
  Cc: linus.walleij, brgl, geert+renesas, info, rjui,
	bcm-kernel-feedback-list, f.fainelli, sbranden, shc_work,
	j-keerthy, hoan, fancer.lancer, orsonzhai, baolin.wang,
	zhang.lyra, shawnguo, s.hauer, kernel, festevam, linux-imx,
	kaloz, khalasa, keguang.zhang, daniel, romain.perier,
	matthias.bgg, angelogioacchino.delregno, thierry.reding,
	u.kleine-koenig, grygorii.strashko, ssantosh, khilman, mani,
	ludovic.desroches, andy, palmer, paul.walmsley, linux-gpio,
	linux-kernel, linux-arm-kernel, linux-mips, linux-mediatek,
	linux-pwm, linux-omap, linux-unisoc, linux-riscv, linux-tegra


Le 19/03/2023 à 13:28, lizhe a écrit :
> HI :
>      Thanks for pointing out this C file,
>      i will remove the modifications to this file
>
>
Other examples below.

I've not (and I won't) check them all.

Unless you explain how you generated (or even tested) your patch, I 
think that reviewing it, line by line, is just a waste of time.

CJ


> At 2023-03-19 20:21:48, "Christophe JAILLET" <christophe.jaillet@wanadoo.fr> wrote:
> >Le 19/03/2023 à 12:59, Lizhe a écrit :
> >> platform_set_drvdata() is redundant in these functions.
> >> the purpose of calling this function is to place data
> >> in *driver_data. but the data is not retrieved in these
> >> functions
> >> 
> >> Signed-off-by: Lizhe <sensor1010@163.com>
> >> ---
> >
> >Hi, I just randomly choose one driver, and:
> >
> >>   drivers/gpio/gpio-74xx-mmio.c      | 2 --
> >>   drivers/gpio/gpio-aggregator.c     | 1 -
> >>   drivers/gpio/gpio-amd-fch.c        | 2 --
> >>   drivers/gpio/gpio-bcm-kona.c       | 1 -
> >>   drivers/gpio/gpio-clps711x.c       | 1 -
> >>   drivers/gpio/gpio-davinci.c        | 1 -
> >
> >https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/drivers/gpio/gpio-davinci.c#n485
> >
> >So more care should be given to avoid to break existing code.
> >
> >How have you generated/checked your patch?
> >
> >Just my 2c,
> >
> >CJ
> >
> >>   drivers/gpio/gpio-dwapb.c          | 2 --
> >>   drivers/gpio/gpio-eic-sprd.c       | 1 -
> >>   drivers/gpio/gpio-em.c             | 1 -
> >>   drivers/gpio/gpio-exar.c           | 2 --
> >>   drivers/gpio/gpio-f7188x.c         | 2 --
> >>   drivers/gpio/gpio-htc-egpio.c      | 3 ---
> >>   drivers/gpio/gpio-imx-scu.c        | 2 --
> >>   drivers/gpio/gpio-ixp4xx.c         | 1 -
> >>   drivers/gpio/gpio-janz-ttl.c       | 1 -
> >>   drivers/gpio/gpio-kempld.c         | 2 --
> >>   drivers/gpio/gpio-latch.c          | 2 --
> >>   drivers/gpio/gpio-logicvc.c        | 2 --
> >>   drivers/gpio/gpio-loongson1.c      | 1 -
> >>   drivers/gpio/gpio-lp3943.c         | 2 --
> >>   drivers/gpio/gpio-lp873x.c         | 2 --
> >>   drivers/gpio/gpio-max77620.c       | 2 --
> >>   drivers/gpio/gpio-mlxbf.c          | 1 -
> >>   drivers/gpio/gpio-mlxbf2.c         | 2 --
> >>   drivers/gpio/gpio-mmio.c           | 2 --
> >>   drivers/gpio/gpio-msc313.c         | 2 --
> >>   drivers/gpio/gpio-mt7621.c         | 1 -


https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/drivers/gpio/gpio-mt7621.c#n223


> >>   drivers/gpio/gpio-mvebu.c          | 2 --


https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/drivers/gpio/gpio-mvebu.c#n961


> >>   drivers/gpio/gpio-mxc.c            | 2 --
> >>   drivers/gpio/gpio-omap.c           | 4 ----
> >>   drivers/gpio/gpio-palmas.c         | 1 -
> >>   drivers/gpio/gpio-pmic-eic-sprd.c  | 1 -
> >>   drivers/gpio/gpio-rc5t583.c        | 2 --
> >>   drivers/gpio/gpio-rcar.c           | 2 --
> >>   drivers/gpio/gpio-rda.c            | 2 --
> >>   drivers/gpio/gpio-rdc321x.c        | 2 --
> >>   drivers/gpio/gpio-sama5d2-piobu.c  | 1 -
> >>   drivers/gpio/gpio-sch.c            | 2 --
> >>   drivers/gpio/gpio-sch311x.c        | 2 --
> >>   drivers/gpio/gpio-sifive.c         | 1 -
> >>   drivers/gpio/gpio-syscon.c         | 2 --
> >>   drivers/gpio/gpio-tegra.c          | 2 --
> >>   drivers/gpio/gpio-timberdale.c     | 2 --
> >>   drivers/gpio/gpio-tqmx86.c         | 2 --
> >>   drivers/gpio/gpio-ts4800.c         | 2 --
> >>   drivers/gpio/gpio-vx855.c          | 2 --
> >>   drivers/gpio/gpio-wcove.c          | 2 --
> >>   drivers/gpio/gpio-xgene.c          | 2 --
> >>   drivers/gpio/gpio-zevio.c          | 2 --
> >>   drivers/gpio/gpio-zynqmp-modepin.c | 2 --
> >>   50 files changed, 88 deletions(-)
> >> 
> >> diff --git a/drivers/gpio/gpio-74xx-mmio.c b/drivers/gpio/gpio-74xx-mmio.c
> >> index 0464f1ecd20d..c7ac5a9ffb1f 100644
> >> --- a/drivers/gpio/gpio-74xx-mmio.c
> >> +++ b/drivers/gpio/gpio-74xx-mmio.c
> >> @@ -135,8 +135,6 @@ static int mmio_74xx_gpio_probe(struct platform_device *pdev)
> >>   	priv->gc.ngpio = MMIO_74XX_BIT_CNT(priv->flags);
> >>   	priv->gc.owner = THIS_MODULE;
> >>   
> >> -	platform_set_drvdata(pdev, priv);
> >> -
> >>   	return devm_gpiochip_add_data(&pdev->dev, &priv->gc, priv);
> >>   }
> >>   
> >> diff --git a/drivers/gpio/gpio-aggregator.c b/drivers/gpio/gpio-aggregator.c
> >> index 6d17d262ad91..f67d1d46c093 100644
> >> --- a/drivers/gpio/gpio-aggregator.c
> >> +++ b/drivers/gpio/gpio-aggregator.c
> >> @@ -495,7 +495,6 @@ static int gpio_aggregator_probe(struct platform_device *pdev)
> >>   	if (IS_ERR(fwd))
> >>   		return PTR_ERR(fwd);
> >>   
> >> -	platform_set_drvdata(pdev, fwd);
> >>   	return 0;
> >>   }
> >>   
> >> diff --git a/drivers/gpio/gpio-amd-fch.c b/drivers/gpio/gpio-amd-fch.c
> >> index 2a21354ed6a0..8a7f861513eb 100644
> >> --- a/drivers/gpio/gpio-amd-fch.c
> >> +++ b/drivers/gpio/gpio-amd-fch.c
> >> @@ -172,8 +172,6 @@ static int amd_fch_gpio_probe(struct platform_device *pdev)
> >>   	if (IS_ERR(priv->base))
> >>   		return PTR_ERR(priv->base);
> >>   
> >> -	platform_set_drvdata(pdev, priv);
> >> -
> >>   	return devm_gpiochip_add_data(&pdev->dev, &priv->gc, priv);
> >>   }
> >>   
> >> diff --git a/drivers/gpio/gpio-bcm-kona.c b/drivers/gpio/gpio-bcm-kona.c
> >> index 70770429ba48..2e50a07a43e6 100644
> >> --- a/drivers/gpio/gpio-bcm-kona.c
> >> +++ b/drivers/gpio/gpio-bcm-kona.c
> >> @@ -597,7 +597,6 @@ static int bcm_kona_gpio_probe(struct platform_device *pdev)
> >>   		return -ENOMEM;
> >>   
> >>   	kona_gpio->pdev = pdev;
> >> -	platform_set_drvdata(pdev, kona_gpio);
> >>   	chip->parent = dev;
> >>   	chip->ngpio = kona_gpio->num_bank * GPIO_PER_BANK;
> >>   
> >> diff --git a/drivers/gpio/gpio-clps711x.c b/drivers/gpio/gpio-clps711x.c
> >> index 75f6f8d4323e..b9ba85ef94b2 100644
> >> --- a/drivers/gpio/gpio-clps711x.c
> >> +++ b/drivers/gpio/gpio-clps711x.c
> >> @@ -62,7 +62,6 @@ static int clps711x_gpio_probe(struct platform_device *pdev)
> >>   
> >>   	gc->base = -1;
> >>   	gc->owner = THIS_MODULE;
> >> -	platform_set_drvdata(pdev, gc);
> >>   
> >>   	return devm_gpiochip_add_data(&pdev->dev, gc, NULL);
> >>   }
> >> diff --git a/drivers/gpio/gpio-davinci.c b/drivers/gpio/gpio-davinci.c
> >> index 26b1f7465e09..ec619c3fde90 100644
> >> --- a/drivers/gpio/gpio-davinci.c
> >> +++ b/drivers/gpio/gpio-davinci.c
> >> @@ -266,7 +266,6 @@ static int davinci_gpio_probe(struct platform_device *pdev)
> >>   	if (ret)
> >>   		return ret;
> >>   
> >> -	platform_set_drvdata(pdev, chips);
> >>   	ret = davinci_gpio_irq_setup(pdev);
> >>   	if (ret)
> >>   		return ret;
> >> diff --git a/drivers/gpio/gpio-dwapb.c b/drivers/gpio/gpio-dwapb.c
> >> index c22fcaa44a61..8db67674078e 100644
> >> --- a/drivers/gpio/gpio-dwapb.c
> >> +++ b/drivers/gpio/gpio-dwapb.c
> >> @@ -734,8 +734,6 @@ static int dwapb_gpio_probe(struct platform_device *pdev)
> >>   			return err;
> >>   	}
> >>   
> >> -	platform_set_drvdata(pdev, gpio);
> >> -
> >>   	return 0;
> >>   }
> >>   
> >> diff --git a/drivers/gpio/gpio-eic-sprd.c b/drivers/gpio/gpio-eic-sprd.c
> >> index 84352a6f4973..53db88ae2a20 100644
> >> --- a/drivers/gpio/gpio-eic-sprd.c
> >> +++ b/drivers/gpio/gpio-eic-sprd.c
> >> @@ -653,7 +653,6 @@ static int sprd_eic_probe(struct platform_device *pdev)
> >>   		return ret;
> >>   	}
> >>   
> >> -	platform_set_drvdata(pdev, sprd_eic);
> >>   	return 0;
> >>   }
> >>   
> >> diff --git a/drivers/gpio/gpio-em.c b/drivers/gpio/gpio-em.c
> >> index 858e6ebbb584..3707cb4c1b79 100644
> >> --- a/drivers/gpio/gpio-em.c
> >> +++ b/drivers/gpio/gpio-em.c
> >> @@ -281,7 +281,6 @@ static int em_gio_probe(struct platform_device *pdev)
> >>   		return -ENOMEM;
> >>   
> >>   	p->pdev = pdev;
> >> -	platform_set_drvdata(pdev, p);
> >>   	spin_lock_init(&p->sense_lock);
> >>   
> >>   	irq[0] = platform_get_irq(pdev, 0);
> >> diff --git a/drivers/gpio/gpio-exar.c b/drivers/gpio/gpio-exar.c
> >> index df1bdaae441c..5170fe7599cd 100644
> >> --- a/drivers/gpio/gpio-exar.c
> >> +++ b/drivers/gpio/gpio-exar.c
> >> @@ -217,8 +217,6 @@ static int gpio_exar_probe(struct platform_device *pdev)
> >>   	if (ret)
> >>   		return ret;
> >>   
> >> -	platform_set_drvdata(pdev, exar_gpio);
> >> -
> >>   	return 0;
> >>   }
> >>   
> >> diff --git a/drivers/gpio/gpio-f7188x.c b/drivers/gpio/gpio-f7188x.c
> >> index 9effa7769bef..5475614c1872 100644
> >> --- a/drivers/gpio/gpio-f7188x.c
> >> +++ b/drivers/gpio/gpio-f7188x.c
> >> @@ -499,8 +499,6 @@ static int f7188x_gpio_probe(struct platform_device *pdev)
> >>   	}
> >>   	data->sio = sio;
> >>   
> >> -	platform_set_drvdata(pdev, data);
> >> -
> >>   	/* For each GPIO bank, register a GPIO chip. */
> >>   	for (i = 0; i < data->nr_bank; i++) {
> >>   		struct f7188x_gpio_bank *bank = &data->bank[i];
> >> diff --git a/drivers/gpio/gpio-htc-egpio.c b/drivers/gpio/gpio-htc-egpio.c
> >> index a40bd56673fe..0938c0712732 100644
> >> --- a/drivers/gpio/gpio-htc-egpio.c
> >> +++ b/drivers/gpio/gpio-htc-egpio.c
> >> @@ -299,9 +299,6 @@ static int __init egpio_probe(struct platform_device *pdev)
> >>   	pr_debug("reg_shift = %d\n", ei->reg_shift);
> >>   
> >>   	ei->reg_mask = (1 << pdata->reg_width) - 1;
> >> -
> >> -	platform_set_drvdata(pdev, ei);
> >> -
> >>   	ei->nchips = pdata->num_chips;
> >>   	ei->chip = devm_kcalloc(&pdev->dev,
> >>   				ei->nchips, sizeof(struct egpio_chip),
> >> diff --git a/drivers/gpio/gpio-imx-scu.c b/drivers/gpio/gpio-imx-scu.c
> >> index 17be21b8f3b7..bcc12105878e 100644
> >> --- a/drivers/gpio/gpio-imx-scu.c
> >> +++ b/drivers/gpio/gpio-imx-scu.c
> >> @@ -109,8 +109,6 @@ static int imx_scu_gpio_probe(struct platform_device *pdev)
> >>   	gc->set = imx_scu_gpio_set;
> >>   	gc->get_direction = imx_scu_gpio_get_direction;
> >>   
> >> -	platform_set_drvdata(pdev, priv);
> >> -
> >>   	return devm_gpiochip_add_data(dev, gc, priv);
> >>   }
> >>   
> >> diff --git a/drivers/gpio/gpio-ixp4xx.c b/drivers/gpio/gpio-ixp4xx.c
> >> index 56656fb519f8..3f59658dd316 100644
> >> --- a/drivers/gpio/gpio-ixp4xx.c
> >> +++ b/drivers/gpio/gpio-ixp4xx.c
> >> @@ -287,7 +287,6 @@ static int ixp4xx_gpio_probe(struct platform_device *pdev)
> >>   		return ret;
> >>   	}
> >>   
> >> -	platform_set_drvdata(pdev, g);
> >>   	dev_info(dev, "IXP4 GPIO registered\n");
> >>   
> >>   	return 0;
> >> diff --git a/drivers/gpio/gpio-janz-ttl.c b/drivers/gpio/gpio-janz-ttl.c
> >> index cdf50e4ea165..ea68f49c1824 100644
> >> --- a/drivers/gpio/gpio-janz-ttl.c
> >> +++ b/drivers/gpio/gpio-janz-ttl.c
> >> @@ -154,7 +154,6 @@ static int ttl_probe(struct platform_device *pdev)
> >>   	if (!mod)
> >>   		return -ENOMEM;
> >>   
> >> -	platform_set_drvdata(pdev, mod);
> >>   	spin_lock_init(&mod->lock);
> >>   
> >>   	/* get access to the MODULbus registers for this module */
> >> diff --git a/drivers/gpio/gpio-kempld.c b/drivers/gpio/gpio-kempld.c
> >> index 4ea15f08e0f4..2065a8a121b2 100644
> >> --- a/drivers/gpio/gpio-kempld.c
> >> +++ b/drivers/gpio/gpio-kempld.c
> >> @@ -151,8 +151,6 @@ static int kempld_gpio_probe(struct platform_device *pdev)
> >>   
> >>   	gpio->pld = pld;
> >>   
> >> -	platform_set_drvdata(pdev, gpio);
> >> -
> >>   	chip = &gpio->chip;
> >>   	chip->label = "gpio-kempld";
> >>   	chip->owner = THIS_MODULE;
> >> diff --git a/drivers/gpio/gpio-latch.c b/drivers/gpio/gpio-latch.c
> >> index d7c3b20c8482..cf0f86b87c87 100644
> >> --- a/drivers/gpio/gpio-latch.c
> >> +++ b/drivers/gpio/gpio-latch.c
> >> @@ -192,8 +192,6 @@ static int gpio_latch_probe(struct platform_device *pdev)
> >>   	priv->gc.base = -1;
> >>   	priv->gc.parent = &pdev->dev;
> >>   
> >> -	platform_set_drvdata(pdev, priv);
> >> -
> >>   	return devm_gpiochip_add_data(&pdev->dev, &priv->gc, priv);
> >>   }
> >>   
> >> diff --git a/drivers/gpio/gpio-logicvc.c b/drivers/gpio/gpio-logicvc.c
> >> index 992cc958a43f..9b4789deae45 100644
> >> --- a/drivers/gpio/gpio-logicvc.c
> >> +++ b/drivers/gpio/gpio-logicvc.c
> >> @@ -139,8 +139,6 @@ static int logicvc_gpio_probe(struct platform_device *pdev)
> >>   	logicvc->chip.set = logicvc_gpio_set;
> >>   	logicvc->chip.direction_output = logicvc_gpio_direction_output;
> >>   
> >> -	platform_set_drvdata(pdev, logicvc);
> >> -
> >>   	return devm_gpiochip_add_data(dev, &logicvc->chip, logicvc);
> >>   }
> >>   
> >> diff --git a/drivers/gpio/gpio-loongson1.c b/drivers/gpio/gpio-loongson1.c
> >> index 5d90b3bc5a25..0ff4ea7af9c0 100644
> >> --- a/drivers/gpio/gpio-loongson1.c
> >> +++ b/drivers/gpio/gpio-loongson1.c
> >> @@ -72,7 +72,6 @@ static int ls1x_gpio_probe(struct platform_device *pdev)
> >>   	if (ret)
> >>   		goto err;
> >>   
> >> -	platform_set_drvdata(pdev, gc);
> >>   	dev_info(dev, "Loongson1 GPIO driver registered\n");
> >>   
> >>   	return 0;
> >> diff --git a/drivers/gpio/gpio-lp3943.c b/drivers/gpio/gpio-lp3943.c
> >> index 79edd5db49d2..8e58242f5123 100644
> >> --- a/drivers/gpio/gpio-lp3943.c
> >> +++ b/drivers/gpio/gpio-lp3943.c
> >> @@ -199,8 +199,6 @@ static int lp3943_gpio_probe(struct platform_device *pdev)
> >>   	lp3943_gpio->chip = lp3943_gpio_chip;
> >>   	lp3943_gpio->chip.parent = &pdev->dev;
> >>   
> >> -	platform_set_drvdata(pdev, lp3943_gpio);
> >> -
> >>   	return devm_gpiochip_add_data(&pdev->dev, &lp3943_gpio->chip,
> >>   				      lp3943_gpio);
> >>   }
> >> diff --git a/drivers/gpio/gpio-lp873x.c b/drivers/gpio/gpio-lp873x.c
> >> index 5c79ba1f229c..7427a74ce4e2 100644
> >> --- a/drivers/gpio/gpio-lp873x.c
> >> +++ b/drivers/gpio/gpio-lp873x.c
> >> @@ -140,8 +140,6 @@ static int lp873x_gpio_probe(struct platform_device *pdev)
> >>   	if (!gpio)
> >>   		return -ENOMEM;
> >>   
> >> -	platform_set_drvdata(pdev, gpio);
> >> -
> >>   	gpio->lp873 = dev_get_drvdata(pdev->dev.parent);
> >>   	gpio->chip = template_chip;
> >>   	gpio->chip.parent = gpio->lp873->dev;
> >> diff --git a/drivers/gpio/gpio-max77620.c b/drivers/gpio/gpio-max77620.c
> >> index c18b60e39a94..8c2a5609161f 100644
> >> --- a/drivers/gpio/gpio-max77620.c
> >> +++ b/drivers/gpio/gpio-max77620.c
> >> @@ -331,8 +331,6 @@ static int max77620_gpio_probe(struct platform_device *pdev)
> >>   	girq->init_hw = max77620_gpio_irq_init_hw;
> >>   	girq->threaded = true;
> >>   
> >> -	platform_set_drvdata(pdev, mgpio);
> >> -
> >>   	ret = devm_gpiochip_add_data(&pdev->dev, &mgpio->gpio_chip, mgpio);
> >>   	if (ret < 0) {
> >>   		dev_err(&pdev->dev, "gpio_init: Failed to add max77620_gpio\n");
> >> diff --git a/drivers/gpio/gpio-mlxbf.c b/drivers/gpio/gpio-mlxbf.c
> >> index 1fa9973f55b9..f38faf40c92a 100644
> >> --- a/drivers/gpio/gpio-mlxbf.c
> >> +++ b/drivers/gpio/gpio-mlxbf.c
> >> @@ -82,7 +82,6 @@ static int mlxbf_gpio_probe(struct platform_device *pdev)
> >>   		return ret;
> >>   	}
> >>   
> >> -	platform_set_drvdata(pdev, gs);
> >>   	dev_info(&pdev->dev, "registered Mellanox BlueField GPIO");
> >>   	return 0;
> >>   }
> >> diff --git a/drivers/gpio/gpio-mlxbf2.c b/drivers/gpio/gpio-mlxbf2.c
> >> index 77a41151c921..fdc4e66eae12 100644
> >> --- a/drivers/gpio/gpio-mlxbf2.c
> >> +++ b/drivers/gpio/gpio-mlxbf2.c
> >> @@ -402,8 +402,6 @@ mlxbf2_gpio_probe(struct platform_device *pdev)
> >>   		}
> >>   	}
> >>   
> >> -	platform_set_drvdata(pdev, gs);
> >> -
> >>   	ret = devm_gpiochip_add_data(dev, &gs->gc, gs);
> >>   	if (ret) {
> >>   		dev_err(dev, "Failed adding memory mapped gpiochip\n");
> >> diff --git a/drivers/gpio/gpio-mmio.c b/drivers/gpio/gpio-mmio.c
> >> index d9dff3dc92ae..c085c60584a8 100644
> >> --- a/drivers/gpio/gpio-mmio.c
> >> +++ b/drivers/gpio/gpio-mmio.c
> >> @@ -787,8 +787,6 @@ static int bgpio_pdev_probe(struct platform_device *pdev)
> >>   			gc->ngpio = pdata->ngpio;
> >>   	}
> >>   
> >> -	platform_set_drvdata(pdev, gc);
> >> -
> >>   	return devm_gpiochip_add_data(&pdev->dev, gc, NULL);
> >>   }
> >>   
> >> diff --git a/drivers/gpio/gpio-msc313.c b/drivers/gpio/gpio-msc313.c
> >> index b0773e5652fa..0a12948defc0 100644
> >> --- a/drivers/gpio/gpio-msc313.c
> >> +++ b/drivers/gpio/gpio-msc313.c
> >> @@ -625,8 +625,6 @@ static int msc313_gpio_probe(struct platform_device *pdev)
> >>   	if (IS_ERR(gpio->base))
> >>   		return PTR_ERR(gpio->base);
> >>   
> >> -	platform_set_drvdata(pdev, gpio);
> >> -
> >>   	gpiochip = devm_kzalloc(dev, sizeof(*gpiochip), GFP_KERNEL);
> >>   	if (!gpiochip)
> >>   		return -ENOMEM;
> >> diff --git a/drivers/gpio/gpio-mt7621.c b/drivers/gpio/gpio-mt7621.c
> >> index 93facbebb80e..c0c715167d9c 100644
> >> --- a/drivers/gpio/gpio-mt7621.c
> >> +++ b/drivers/gpio/gpio-mt7621.c
> >> @@ -315,7 +315,6 @@ mediatek_gpio_probe(struct platform_device *pdev)
> >>   		return mtk->gpio_irq;
> >>   
> >>   	mtk->dev = dev;
> >> -	platform_set_drvdata(pdev, mtk);
> >>   
> >>   	for (i = 0; i < MTK_BANK_CNT; i++) {
> >>   		ret = mediatek_gpio_bank_probe(dev, i);
> >> diff --git a/drivers/gpio/gpio-mvebu.c b/drivers/gpio/gpio-mvebu.c
> >> index a68f682aec01..699c9378bda7 100644
> >> --- a/drivers/gpio/gpio-mvebu.c
> >> +++ b/drivers/gpio/gpio-mvebu.c
> >> @@ -1143,8 +1143,6 @@ static int mvebu_gpio_probe(struct platform_device *pdev)
> >>   	if (!mvchip)
> >>   		return -ENOMEM;
> >>   
> >> -	platform_set_drvdata(pdev, mvchip);
> >> -
> >>   	if (of_property_read_u32(pdev->dev.of_node, "ngpios", &ngpios)) {
> >>   		dev_err(&pdev->dev, "Missing ngpios OF property\n");
> >>   		return -ENODEV;
> >> diff --git a/drivers/gpio/gpio-mxc.c b/drivers/gpio/gpio-mxc.c
> >> index 9d0cec4b82a3..ac8b12606eae 100644
> >> --- a/drivers/gpio/gpio-mxc.c
> >> +++ b/drivers/gpio/gpio-mxc.c
> >> @@ -489,8 +489,6 @@ static int mxc_gpio_probe(struct platform_device *pdev)
> >>   
> >>   	list_add_tail(&port->node, &mxc_gpio_ports);
> >>   
> >> -	platform_set_drvdata(pdev, port);
> >> -
> >>   	return 0;
> >>   
> >>   out_irqdomain_remove:
> >> diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c
> >> index f5f3d4b22452..acbdb4fd922e 100644
> >> --- a/drivers/gpio/gpio-omap.c
> >> +++ b/drivers/gpio/gpio-omap.c
> >> @@ -762,8 +762,6 @@ static struct platform_device omap_mpuio_device = {
> >>   
> >>   static inline void omap_mpuio_init(struct gpio_bank *bank)
> >>   {
> >> -	platform_set_drvdata(&omap_mpuio_device, bank);
> >> -
> >>   	if (platform_driver_register(&omap_mpuio_driver) == 0)
> >>   		(void) platform_device_register(&omap_mpuio_device);
> >>   }
> >> @@ -1457,8 +1455,6 @@ static int omap_gpio_probe(struct platform_device *pdev)
> >>   		}
> >>   	}
> >>   
> >> -	platform_set_drvdata(pdev, bank);
> >> -
> >>   	pm_runtime_enable(dev);
> >>   	pm_runtime_get_sync(dev);
> >>   
> >> diff --git a/drivers/gpio/gpio-palmas.c b/drivers/gpio/gpio-palmas.c
> >> index bac10c2faf56..dd8a287ff6d0 100644
> >> --- a/drivers/gpio/gpio-palmas.c
> >> +++ b/drivers/gpio/gpio-palmas.c
> >> @@ -184,7 +184,6 @@ static int palmas_gpio_probe(struct platform_device *pdev)
> >>   		return ret;
> >>   	}
> >>   
> >> -	platform_set_drvdata(pdev, palmas_gpio);
> >>   	return ret;
> >>   }
> >>   
> >> diff --git a/drivers/gpio/gpio-pmic-eic-sprd.c b/drivers/gpio/gpio-pmic-eic-sprd.c
> >> index c3e4d90f6b18..bfb003ccbd99 100644
> >> --- a/drivers/gpio/gpio-pmic-eic-sprd.c
> >> +++ b/drivers/gpio/gpio-pmic-eic-sprd.c
> >> @@ -363,7 +363,6 @@ static int sprd_pmic_eic_probe(struct platform_device *pdev)
> >>   		return ret;
> >>   	}
> >>   
> >> -	platform_set_drvdata(pdev, pmic_eic);
> >>   	return 0;
> >>   }
> >>   
> >> diff --git a/drivers/gpio/gpio-rc5t583.c b/drivers/gpio/gpio-rc5t583.c
> >> index 4fae3ebea790..c34dcadaee36 100644
> >> --- a/drivers/gpio/gpio-rc5t583.c
> >> +++ b/drivers/gpio/gpio-rc5t583.c
> >> @@ -121,8 +121,6 @@ static int rc5t583_gpio_probe(struct platform_device *pdev)
> >>   	if (pdata && pdata->gpio_base)
> >>   		rc5t583_gpio->gpio_chip.base = pdata->gpio_base;
> >>   
> >> -	platform_set_drvdata(pdev, rc5t583_gpio);
> >> -
> >>   	return devm_gpiochip_add_data(&pdev->dev, &rc5t583_gpio->gpio_chip,
> >>   				      rc5t583_gpio);
> >>   }
> >> diff --git a/drivers/gpio/gpio-rcar.c b/drivers/gpio/gpio-rcar.c
> >> index 5b117f3bd322..f00a0c2f9dc1 100644
> >> --- a/drivers/gpio/gpio-rcar.c
> >> +++ b/drivers/gpio/gpio-rcar.c
> >> @@ -513,8 +513,6 @@ static int gpio_rcar_probe(struct platform_device *pdev)
> >>   	if (ret < 0)
> >>   		return ret;
> >>   
> >> -	platform_set_drvdata(pdev, p);
> >> -
> >>   	pm_runtime_enable(dev);
> >>   
> >>   	ret = platform_get_irq(pdev, 0);
> >> diff --git a/drivers/gpio/gpio-rda.c b/drivers/gpio/gpio-rda.c
> >> index 62ba18b3a602..04059c5b3d9e 100644
> >> --- a/drivers/gpio/gpio-rda.c
> >> +++ b/drivers/gpio/gpio-rda.c
> >> @@ -263,8 +263,6 @@ static int rda_gpio_probe(struct platform_device *pdev)
> >>   		girq->parents[0] = rda_gpio->irq;
> >>   	}
> >>   
> >> -	platform_set_drvdata(pdev, rda_gpio);
> >> -
> >>   	return devm_gpiochip_add_data(dev, &rda_gpio->chip, rda_gpio);
> >>   }
> >>   
> >> diff --git a/drivers/gpio/gpio-rdc321x.c b/drivers/gpio/gpio-rdc321x.c
> >> index 01ed2517e9fd..4d3c6c9adfcd 100644
> >> --- a/drivers/gpio/gpio-rdc321x.c
> >> +++ b/drivers/gpio/gpio-rdc321x.c
> >> @@ -161,8 +161,6 @@ static int rdc321x_gpio_probe(struct platform_device *pdev)
> >>   	rdc321x_gpio_dev->chip.base = 0;
> >>   	rdc321x_gpio_dev->chip.ngpio = pdata->max_gpios;
> >>   
> >> -	platform_set_drvdata(pdev, rdc321x_gpio_dev);
> >> -
> >>   	/* This might not be, what others (BIOS, bootloader, etc.)
> >>   	   wrote to these registers before, but it's a good guess. Still
> >>   	   better than just using 0xffffffff. */
> >> diff --git a/drivers/gpio/gpio-sama5d2-piobu.c b/drivers/gpio/gpio-sama5d2-piobu.c
> >> index 3e95da717fc9..7c3f4a268829 100644
> >> --- a/drivers/gpio/gpio-sama5d2-piobu.c
> >> +++ b/drivers/gpio/gpio-sama5d2-piobu.c
> >> @@ -189,7 +189,6 @@ static int sama5d2_piobu_probe(struct platform_device *pdev)
> >>   	if (!piobu)
> >>   		return -ENOMEM;
> >>   
> >> -	platform_set_drvdata(pdev, piobu);
> >>   	piobu->chip.label = pdev->name;
> >>   	piobu->chip.parent = &pdev->dev;
> >>   	piobu->chip.owner = THIS_MODULE,
> >> diff --git a/drivers/gpio/gpio-sch.c b/drivers/gpio/gpio-sch.c
> >> index 8a83f7bf4382..e48392074e4b 100644
> >> --- a/drivers/gpio/gpio-sch.c
> >> +++ b/drivers/gpio/gpio-sch.c
> >> @@ -380,8 +380,6 @@ static int sch_gpio_probe(struct platform_device *pdev)
> >>   		return -ENODEV;
> >>   	}
> >>   
> >> -	platform_set_drvdata(pdev, sch);
> >> -
> >>   	girq = &sch->chip.irq;
> >>   	gpio_irq_chip_set_chip(girq, &sch_irqchip);
> >>   	girq->num_parents = 0;
> >> diff --git a/drivers/gpio/gpio-sch311x.c b/drivers/gpio/gpio-sch311x.c
> >> index da01e1cad7cb..63b757e7e507 100644
> >> --- a/drivers/gpio/gpio-sch311x.c
> >> +++ b/drivers/gpio/gpio-sch311x.c
> >> @@ -281,8 +281,6 @@ static int sch311x_gpio_probe(struct platform_device *pdev)
> >>   	if (!priv)
> >>   		return -ENOMEM;
> >>   
> >> -	platform_set_drvdata(pdev, priv);
> >> -
> >>   	for (i = 0; i < ARRAY_SIZE(priv->blocks); i++) {
> >>   		block = &priv->blocks[i];
> >>   
> >> diff --git a/drivers/gpio/gpio-sifive.c b/drivers/gpio/gpio-sifive.c
> >> index bc5660f61c57..65d1b6437136 100644
> >> --- a/drivers/gpio/gpio-sifive.c
> >> +++ b/drivers/gpio/gpio-sifive.c
> >> @@ -256,7 +256,6 @@ static int sifive_gpio_probe(struct platform_device *pdev)
> >>   	girq->handler = handle_bad_irq;
> >>   	girq->default_type = IRQ_TYPE_NONE;
> >>   
> >> -	platform_set_drvdata(pdev, chip);
> >>   	return gpiochip_add_data(&chip->gc, chip);
> >>   }
> >>   
> >> diff --git a/drivers/gpio/gpio-syscon.c b/drivers/gpio/gpio-syscon.c
> >> index 6076937b18e7..afceb7e17ad8 100644
> >> --- a/drivers/gpio/gpio-syscon.c
> >> +++ b/drivers/gpio/gpio-syscon.c
> >> @@ -249,8 +249,6 @@ static int syscon_gpio_probe(struct platform_device *pdev)
> >>   		priv->chip.direction_output = syscon_gpio_dir_out;
> >>   	}
> >>   
> >> -	platform_set_drvdata(pdev, priv);
> >> -
> >>   	return devm_gpiochip_add_data(&pdev->dev, &priv->chip, priv);
> >>   }
> >>   
> >> diff --git a/drivers/gpio/gpio-tegra.c b/drivers/gpio/gpio-tegra.c
> >> index 5b265a6fd3c1..8a1731a13b5a 100644
> >> --- a/drivers/gpio/gpio-tegra.c
> >> +++ b/drivers/gpio/gpio-tegra.c
> >> @@ -728,8 +728,6 @@ static int tegra_gpio_probe(struct platform_device *pdev)
> >>   	tgi->gc.ngpio			= tgi->bank_count * 32;
> >>   	tgi->gc.parent			= &pdev->dev;
> >>   
> >> -	platform_set_drvdata(pdev, tgi);
> >> -
> >>   	if (tgi->soc->debounce_supported)
> >>   		tgi->gc.set_config = tegra_gpio_set_config;
> >>   
> >> diff --git a/drivers/gpio/gpio-timberdale.c b/drivers/gpio/gpio-timberdale.c
> >> index de14949a3fe5..bbd9e9191199 100644
> >> --- a/drivers/gpio/gpio-timberdale.c
> >> +++ b/drivers/gpio/gpio-timberdale.c
> >> @@ -256,8 +256,6 @@ static int timbgpio_probe(struct platform_device *pdev)
> >>   	if (err)
> >>   		return err;
> >>   
> >> -	platform_set_drvdata(pdev, tgpio);
> >> -
> >>   	/* make sure to disable interrupts */
> >>   	iowrite32(0x0, tgpio->membase + TGPIO_IER);
> >>   
> >> diff --git a/drivers/gpio/gpio-tqmx86.c b/drivers/gpio/gpio-tqmx86.c
> >> index e739dcea61b2..f0a2cf4b0679 100644
> >> --- a/drivers/gpio/gpio-tqmx86.c
> >> +++ b/drivers/gpio/gpio-tqmx86.c
> >> @@ -259,8 +259,6 @@ static int tqmx86_gpio_probe(struct platform_device *pdev)
> >>   
> >>   	tqmx86_gpio_write(gpio, (u8)~TQMX86_DIR_INPUT_MASK, TQMX86_GPIODD);
> >>   
> >> -	platform_set_drvdata(pdev, gpio);
> >> -
> >>   	chip = &gpio->chip;
> >>   	chip->label = "gpio-tqmx86";
> >>   	chip->owner = THIS_MODULE;
> >> diff --git a/drivers/gpio/gpio-ts4800.c b/drivers/gpio/gpio-ts4800.c
> >> index 95d80ba14bee..b0b338480516 100644
> >> --- a/drivers/gpio/gpio-ts4800.c
> >> +++ b/drivers/gpio/gpio-ts4800.c
> >> @@ -52,8 +52,6 @@ static int ts4800_gpio_probe(struct platform_device *pdev)
> >>   
> >>   	chip->ngpio = ngpios;
> >>   
> >> -	platform_set_drvdata(pdev, chip);
> >> -
> >>   	return devm_gpiochip_add_data(&pdev->dev, chip, NULL);
> >>   }
> >>   
> >> diff --git a/drivers/gpio/gpio-vx855.c b/drivers/gpio/gpio-vx855.c
> >> index 69713fd5485b..8fd6c3913d69 100644
> >> --- a/drivers/gpio/gpio-vx855.c
> >> +++ b/drivers/gpio/gpio-vx855.c
> >> @@ -240,8 +240,6 @@ static int vx855gpio_probe(struct platform_device *pdev)
> >>   	if (!vg)
> >>   		return -ENOMEM;
> >>   
> >> -	platform_set_drvdata(pdev, vg);
> >> -
> >>   	dev_info(&pdev->dev, "found VX855 GPIO controller\n");
> >>   	vg->io_gpi = res_gpi->start;
> >>   	vg->io_gpo = res_gpo->start;
> >> diff --git a/drivers/gpio/gpio-wcove.c b/drivers/gpio/gpio-wcove.c
> >> index c18b6b47384f..15e59f95b8d0 100644
> >> --- a/drivers/gpio/gpio-wcove.c
> >> +++ b/drivers/gpio/gpio-wcove.c
> >> @@ -433,8 +433,6 @@ static int wcove_gpio_probe(struct platform_device *pdev)
> >>   
> >>   	wg->regmap_irq_chip = pmic->irq_chip_data;
> >>   
> >> -	platform_set_drvdata(pdev, wg);
> >> -
> >>   	mutex_init(&wg->buslock);
> >>   	wg->chip.label = KBUILD_MODNAME;
> >>   	wg->chip.direction_input = wcove_gpio_dir_in;
> >> diff --git a/drivers/gpio/gpio-xgene.c b/drivers/gpio/gpio-xgene.c
> >> index fb4b0c67aeef..f2702065dae6 100644
> >> --- a/drivers/gpio/gpio-xgene.c
> >> +++ b/drivers/gpio/gpio-xgene.c
> >> @@ -180,8 +180,6 @@ static int xgene_gpio_probe(struct platform_device *pdev)
> >>   	gpio->chip.label = dev_name(&pdev->dev);
> >>   	gpio->chip.base = -1;
> >>   
> >> -	platform_set_drvdata(pdev, gpio);
> >> -
> >>   	return devm_gpiochip_add_data(&pdev->dev, &gpio->chip, gpio);
> >>   }
> >>   
> >> diff --git a/drivers/gpio/gpio-zevio.c b/drivers/gpio/gpio-zevio.c
> >> index f0f571b323f2..2de61337ad3b 100644
> >> --- a/drivers/gpio/gpio-zevio.c
> >> +++ b/drivers/gpio/gpio-zevio.c
> >> @@ -176,8 +176,6 @@ static int zevio_gpio_probe(struct platform_device *pdev)
> >>   	if (!controller)
> >>   		return -ENOMEM;
> >>   
> >> -	platform_set_drvdata(pdev, controller);
> >> -
> >>   	/* Copy our reference */
> >>   	controller->chip = zevio_gpio_chip;
> >>   	controller->chip.parent = &pdev->dev;
> >> diff --git a/drivers/gpio/gpio-zynqmp-modepin.c b/drivers/gpio/gpio-zynqmp-modepin.c
> >> index a0d69387c153..cfe540a3cfb4 100644
> >> --- a/drivers/gpio/gpio-zynqmp-modepin.c
> >> +++ b/drivers/gpio/gpio-zynqmp-modepin.c
> >> @@ -120,8 +120,6 @@ static int modepin_gpio_probe(struct platform_device *pdev)
> >>   	if (!chip)
> >>   		return -ENOMEM;
> >>   
> >> -	platform_set_drvdata(pdev, chip);
> >> -
> >>   	/* configure the gpio chip */
> >>   	chip->base = -1;
> >>   	chip->ngpio = MODE_PINS;

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v2] drivers/gpio : Remove redundant platform_set_drvdata().
  2023-03-19 17:42     ` Christophe JAILLET
@ 2023-03-19 17:59       ` Serge Semin
  0 siblings, 0 replies; 7+ messages in thread
From: Serge Semin @ 2023-03-19 17:59 UTC (permalink / raw)
  To: Christophe JAILLET
  Cc: lizhe, linus.walleij, brgl, geert+renesas, info, rjui,
	bcm-kernel-feedback-list, f.fainelli, sbranden, shc_work,
	j-keerthy, hoan, orsonzhai, baolin.wang, zhang.lyra, shawnguo,
	s.hauer, kernel, festevam, linux-imx, kaloz, khalasa,
	keguang.zhang, daniel, romain.perier, matthias.bgg,
	angelogioacchino.delregno, thierry.reding, u.kleine-koenig,
	grygorii.strashko, ssantosh, khilman, mani, ludovic.desroches,
	andy, palmer, paul.walmsley, linux-gpio, linux-kernel,
	linux-arm-kernel, linux-mips, linux-mediatek, linux-pwm,
	linux-omap, linux-unisoc, linux-riscv, linux-tegra

Hi Christophe

On Sun, Mar 19, 2023 at 06:42:47PM +0100, Christophe JAILLET wrote:
> 
> Le 19/03/2023 à 13:28, lizhe a écrit :
> > HI :
> >      Thanks for pointing out this C file,
> >      i will remove the modifications to this file
> > 
> > 
> Other examples below.
> 
> I've not (and I won't) check them all.
> 
> Unless you explain how you generated (or even tested) your patch, I think
> that reviewing it, line by line, is just a waste of time.

An obviously bogus patch was submitted for DW SSI controller to.
Link: https://lore.kernel.org/linux-spi/20230308145551.3240-1-sensor1010@163.com

It seems as if Lizhe doesn't fully understand what he is doing.

-Serge(y)

> 
> CJ
> 
> 
> > At 2023-03-19 20:21:48, "Christophe JAILLET" <christophe.jaillet@wanadoo.fr> wrote:
> > >Le 19/03/2023 à 12:59, Lizhe a écrit :
> > >> platform_set_drvdata() is redundant in these functions.
> > >> the purpose of calling this function is to place data
> > >> in *driver_data. but the data is not retrieved in these
> > >> functions
> > >> >> Signed-off-by: Lizhe <sensor1010@163.com>
> > >> ---
> > >
> > >Hi, I just randomly choose one driver, and:
> > >
> > >>   drivers/gpio/gpio-74xx-mmio.c      | 2 --
> > >>   drivers/gpio/gpio-aggregator.c     | 1 -
> > >>   drivers/gpio/gpio-amd-fch.c        | 2 --
> > >>   drivers/gpio/gpio-bcm-kona.c       | 1 -
> > >>   drivers/gpio/gpio-clps711x.c       | 1 -
> > >>   drivers/gpio/gpio-davinci.c        | 1 -
> > >
> > >https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/drivers/gpio/gpio-davinci.c#n485
> > >
> > >So more care should be given to avoid to break existing code.
> > >
> > >How have you generated/checked your patch?
> > >
> > >Just my 2c,
> > >
> > >CJ
> > >
> > >>   drivers/gpio/gpio-dwapb.c          | 2 --
> > >>   drivers/gpio/gpio-eic-sprd.c       | 1 -
> > >>   drivers/gpio/gpio-em.c             | 1 -
> > >>   drivers/gpio/gpio-exar.c           | 2 --
> > >>   drivers/gpio/gpio-f7188x.c         | 2 --
> > >>   drivers/gpio/gpio-htc-egpio.c      | 3 ---
> > >>   drivers/gpio/gpio-imx-scu.c        | 2 --
> > >>   drivers/gpio/gpio-ixp4xx.c         | 1 -
> > >>   drivers/gpio/gpio-janz-ttl.c       | 1 -
> > >>   drivers/gpio/gpio-kempld.c         | 2 --
> > >>   drivers/gpio/gpio-latch.c          | 2 --
> > >>   drivers/gpio/gpio-logicvc.c        | 2 --
> > >>   drivers/gpio/gpio-loongson1.c      | 1 -
> > >>   drivers/gpio/gpio-lp3943.c         | 2 --
> > >>   drivers/gpio/gpio-lp873x.c         | 2 --
> > >>   drivers/gpio/gpio-max77620.c       | 2 --
> > >>   drivers/gpio/gpio-mlxbf.c          | 1 -
> > >>   drivers/gpio/gpio-mlxbf2.c         | 2 --
> > >>   drivers/gpio/gpio-mmio.c           | 2 --
> > >>   drivers/gpio/gpio-msc313.c         | 2 --
> > >>   drivers/gpio/gpio-mt7621.c         | 1 -
> 
> 
> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/drivers/gpio/gpio-mt7621.c#n223
> 
> 
> > >>   drivers/gpio/gpio-mvebu.c          | 2 --
> 
> 
> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/drivers/gpio/gpio-mvebu.c#n961
> 
> 
> > >>   drivers/gpio/gpio-mxc.c            | 2 --
> > >>   drivers/gpio/gpio-omap.c           | 4 ----
> > >>   drivers/gpio/gpio-palmas.c         | 1 -
> > >>   drivers/gpio/gpio-pmic-eic-sprd.c  | 1 -
> > >>   drivers/gpio/gpio-rc5t583.c        | 2 --
> > >>   drivers/gpio/gpio-rcar.c           | 2 --
> > >>   drivers/gpio/gpio-rda.c            | 2 --
> > >>   drivers/gpio/gpio-rdc321x.c        | 2 --
> > >>   drivers/gpio/gpio-sama5d2-piobu.c  | 1 -
> > >>   drivers/gpio/gpio-sch.c            | 2 --
> > >>   drivers/gpio/gpio-sch311x.c        | 2 --
> > >>   drivers/gpio/gpio-sifive.c         | 1 -
> > >>   drivers/gpio/gpio-syscon.c         | 2 --
> > >>   drivers/gpio/gpio-tegra.c          | 2 --
> > >>   drivers/gpio/gpio-timberdale.c     | 2 --
> > >>   drivers/gpio/gpio-tqmx86.c         | 2 --
> > >>   drivers/gpio/gpio-ts4800.c         | 2 --
> > >>   drivers/gpio/gpio-vx855.c          | 2 --
> > >>   drivers/gpio/gpio-wcove.c          | 2 --
> > >>   drivers/gpio/gpio-xgene.c          | 2 --
> > >>   drivers/gpio/gpio-zevio.c          | 2 --
> > >>   drivers/gpio/gpio-zynqmp-modepin.c | 2 --
> > >>   50 files changed, 88 deletions(-)
> > >> >> diff --git a/drivers/gpio/gpio-74xx-mmio.c
> > b/drivers/gpio/gpio-74xx-mmio.c
> > >> index 0464f1ecd20d..c7ac5a9ffb1f 100644
> > >> --- a/drivers/gpio/gpio-74xx-mmio.c
> > >> +++ b/drivers/gpio/gpio-74xx-mmio.c
> > >> @@ -135,8 +135,6 @@ static int mmio_74xx_gpio_probe(struct platform_device *pdev)
> > >>   	priv->gc.ngpio = MMIO_74XX_BIT_CNT(priv->flags);
> > >>   	priv->gc.owner = THIS_MODULE;
> > >>   >> -	platform_set_drvdata(pdev, priv);
> > >> -
> > >>   	return devm_gpiochip_add_data(&pdev->dev, &priv->gc, priv);
> > >>   }
> > >>   >> diff --git a/drivers/gpio/gpio-aggregator.c
> > b/drivers/gpio/gpio-aggregator.c
> > >> index 6d17d262ad91..f67d1d46c093 100644
> > >> --- a/drivers/gpio/gpio-aggregator.c
> > >> +++ b/drivers/gpio/gpio-aggregator.c
> > >> @@ -495,7 +495,6 @@ static int gpio_aggregator_probe(struct platform_device *pdev)
> > >>   	if (IS_ERR(fwd))
> > >>   		return PTR_ERR(fwd);
> > >>   >> -	platform_set_drvdata(pdev, fwd);
> > >>   	return 0;
> > >>   }
> > >>   >> diff --git a/drivers/gpio/gpio-amd-fch.c
> > b/drivers/gpio/gpio-amd-fch.c
> > >> index 2a21354ed6a0..8a7f861513eb 100644
> > >> --- a/drivers/gpio/gpio-amd-fch.c
> > >> +++ b/drivers/gpio/gpio-amd-fch.c
> > >> @@ -172,8 +172,6 @@ static int amd_fch_gpio_probe(struct platform_device *pdev)
> > >>   	if (IS_ERR(priv->base))
> > >>   		return PTR_ERR(priv->base);
> > >>   >> -	platform_set_drvdata(pdev, priv);
> > >> -
> > >>   	return devm_gpiochip_add_data(&pdev->dev, &priv->gc, priv);
> > >>   }
> > >>   >> diff --git a/drivers/gpio/gpio-bcm-kona.c
> > b/drivers/gpio/gpio-bcm-kona.c
> > >> index 70770429ba48..2e50a07a43e6 100644
> > >> --- a/drivers/gpio/gpio-bcm-kona.c
> > >> +++ b/drivers/gpio/gpio-bcm-kona.c
> > >> @@ -597,7 +597,6 @@ static int bcm_kona_gpio_probe(struct platform_device *pdev)
> > >>   		return -ENOMEM;
> > >>   >>   	kona_gpio->pdev = pdev;
> > >> -	platform_set_drvdata(pdev, kona_gpio);
> > >>   	chip->parent = dev;
> > >>   	chip->ngpio = kona_gpio->num_bank * GPIO_PER_BANK;
> > >>   >> diff --git a/drivers/gpio/gpio-clps711x.c
> > b/drivers/gpio/gpio-clps711x.c
> > >> index 75f6f8d4323e..b9ba85ef94b2 100644
> > >> --- a/drivers/gpio/gpio-clps711x.c
> > >> +++ b/drivers/gpio/gpio-clps711x.c
> > >> @@ -62,7 +62,6 @@ static int clps711x_gpio_probe(struct platform_device *pdev)
> > >>   >>   	gc->base = -1;
> > >>   	gc->owner = THIS_MODULE;
> > >> -	platform_set_drvdata(pdev, gc);
> > >>   >>   	return devm_gpiochip_add_data(&pdev->dev, gc, NULL);
> > >>   }
> > >> diff --git a/drivers/gpio/gpio-davinci.c b/drivers/gpio/gpio-davinci.c
> > >> index 26b1f7465e09..ec619c3fde90 100644
> > >> --- a/drivers/gpio/gpio-davinci.c
> > >> +++ b/drivers/gpio/gpio-davinci.c
> > >> @@ -266,7 +266,6 @@ static int davinci_gpio_probe(struct platform_device *pdev)
> > >>   	if (ret)
> > >>   		return ret;
> > >>   >> -	platform_set_drvdata(pdev, chips);
> > >>   	ret = davinci_gpio_irq_setup(pdev);
> > >>   	if (ret)
> > >>   		return ret;
> > >> diff --git a/drivers/gpio/gpio-dwapb.c b/drivers/gpio/gpio-dwapb.c
> > >> index c22fcaa44a61..8db67674078e 100644
> > >> --- a/drivers/gpio/gpio-dwapb.c
> > >> +++ b/drivers/gpio/gpio-dwapb.c
> > >> @@ -734,8 +734,6 @@ static int dwapb_gpio_probe(struct platform_device *pdev)
> > >>   			return err;
> > >>   	}
> > >>   >> -	platform_set_drvdata(pdev, gpio);
> > >> -
> > >>   	return 0;
> > >>   }
> > >>   >> diff --git a/drivers/gpio/gpio-eic-sprd.c
> > b/drivers/gpio/gpio-eic-sprd.c
> > >> index 84352a6f4973..53db88ae2a20 100644
> > >> --- a/drivers/gpio/gpio-eic-sprd.c
> > >> +++ b/drivers/gpio/gpio-eic-sprd.c
> > >> @@ -653,7 +653,6 @@ static int sprd_eic_probe(struct platform_device *pdev)
> > >>   		return ret;
> > >>   	}
> > >>   >> -	platform_set_drvdata(pdev, sprd_eic);
> > >>   	return 0;
> > >>   }
> > >>   >> diff --git a/drivers/gpio/gpio-em.c b/drivers/gpio/gpio-em.c
> > >> index 858e6ebbb584..3707cb4c1b79 100644
> > >> --- a/drivers/gpio/gpio-em.c
> > >> +++ b/drivers/gpio/gpio-em.c
> > >> @@ -281,7 +281,6 @@ static int em_gio_probe(struct platform_device *pdev)
> > >>   		return -ENOMEM;
> > >>   >>   	p->pdev = pdev;
> > >> -	platform_set_drvdata(pdev, p);
> > >>   	spin_lock_init(&p->sense_lock);
> > >>   >>   	irq[0] = platform_get_irq(pdev, 0);
> > >> diff --git a/drivers/gpio/gpio-exar.c b/drivers/gpio/gpio-exar.c
> > >> index df1bdaae441c..5170fe7599cd 100644
> > >> --- a/drivers/gpio/gpio-exar.c
> > >> +++ b/drivers/gpio/gpio-exar.c
> > >> @@ -217,8 +217,6 @@ static int gpio_exar_probe(struct platform_device *pdev)
> > >>   	if (ret)
> > >>   		return ret;
> > >>   >> -	platform_set_drvdata(pdev, exar_gpio);
> > >> -
> > >>   	return 0;
> > >>   }
> > >>   >> diff --git a/drivers/gpio/gpio-f7188x.c
> > b/drivers/gpio/gpio-f7188x.c
> > >> index 9effa7769bef..5475614c1872 100644
> > >> --- a/drivers/gpio/gpio-f7188x.c
> > >> +++ b/drivers/gpio/gpio-f7188x.c
> > >> @@ -499,8 +499,6 @@ static int f7188x_gpio_probe(struct platform_device *pdev)
> > >>   	}
> > >>   	data->sio = sio;
> > >>   >> -	platform_set_drvdata(pdev, data);
> > >> -
> > >>   	/* For each GPIO bank, register a GPIO chip. */
> > >>   	for (i = 0; i < data->nr_bank; i++) {
> > >>   		struct f7188x_gpio_bank *bank = &data->bank[i];
> > >> diff --git a/drivers/gpio/gpio-htc-egpio.c b/drivers/gpio/gpio-htc-egpio.c
> > >> index a40bd56673fe..0938c0712732 100644
> > >> --- a/drivers/gpio/gpio-htc-egpio.c
> > >> +++ b/drivers/gpio/gpio-htc-egpio.c
> > >> @@ -299,9 +299,6 @@ static int __init egpio_probe(struct platform_device *pdev)
> > >>   	pr_debug("reg_shift = %d\n", ei->reg_shift);
> > >>   >>   	ei->reg_mask = (1 << pdata->reg_width) - 1;
> > >> -
> > >> -	platform_set_drvdata(pdev, ei);
> > >> -
> > >>   	ei->nchips = pdata->num_chips;
> > >>   	ei->chip = devm_kcalloc(&pdev->dev,
> > >>   				ei->nchips, sizeof(struct egpio_chip),
> > >> diff --git a/drivers/gpio/gpio-imx-scu.c b/drivers/gpio/gpio-imx-scu.c
> > >> index 17be21b8f3b7..bcc12105878e 100644
> > >> --- a/drivers/gpio/gpio-imx-scu.c
> > >> +++ b/drivers/gpio/gpio-imx-scu.c
> > >> @@ -109,8 +109,6 @@ static int imx_scu_gpio_probe(struct platform_device *pdev)
> > >>   	gc->set = imx_scu_gpio_set;
> > >>   	gc->get_direction = imx_scu_gpio_get_direction;
> > >>   >> -	platform_set_drvdata(pdev, priv);
> > >> -
> > >>   	return devm_gpiochip_add_data(dev, gc, priv);
> > >>   }
> > >>   >> diff --git a/drivers/gpio/gpio-ixp4xx.c
> > b/drivers/gpio/gpio-ixp4xx.c
> > >> index 56656fb519f8..3f59658dd316 100644
> > >> --- a/drivers/gpio/gpio-ixp4xx.c
> > >> +++ b/drivers/gpio/gpio-ixp4xx.c
> > >> @@ -287,7 +287,6 @@ static int ixp4xx_gpio_probe(struct platform_device *pdev)
> > >>   		return ret;
> > >>   	}
> > >>   >> -	platform_set_drvdata(pdev, g);
> > >>   	dev_info(dev, "IXP4 GPIO registered\n");
> > >>   >>   	return 0;
> > >> diff --git a/drivers/gpio/gpio-janz-ttl.c b/drivers/gpio/gpio-janz-ttl.c
> > >> index cdf50e4ea165..ea68f49c1824 100644
> > >> --- a/drivers/gpio/gpio-janz-ttl.c
> > >> +++ b/drivers/gpio/gpio-janz-ttl.c
> > >> @@ -154,7 +154,6 @@ static int ttl_probe(struct platform_device *pdev)
> > >>   	if (!mod)
> > >>   		return -ENOMEM;
> > >>   >> -	platform_set_drvdata(pdev, mod);
> > >>   	spin_lock_init(&mod->lock);
> > >>   >>   	/* get access to the MODULbus registers for this module */
> > >> diff --git a/drivers/gpio/gpio-kempld.c b/drivers/gpio/gpio-kempld.c
> > >> index 4ea15f08e0f4..2065a8a121b2 100644
> > >> --- a/drivers/gpio/gpio-kempld.c
> > >> +++ b/drivers/gpio/gpio-kempld.c
> > >> @@ -151,8 +151,6 @@ static int kempld_gpio_probe(struct platform_device *pdev)
> > >>   >>   	gpio->pld = pld;
> > >>   >> -	platform_set_drvdata(pdev, gpio);
> > >> -
> > >>   	chip = &gpio->chip;
> > >>   	chip->label = "gpio-kempld";
> > >>   	chip->owner = THIS_MODULE;
> > >> diff --git a/drivers/gpio/gpio-latch.c b/drivers/gpio/gpio-latch.c
> > >> index d7c3b20c8482..cf0f86b87c87 100644
> > >> --- a/drivers/gpio/gpio-latch.c
> > >> +++ b/drivers/gpio/gpio-latch.c
> > >> @@ -192,8 +192,6 @@ static int gpio_latch_probe(struct platform_device *pdev)
> > >>   	priv->gc.base = -1;
> > >>   	priv->gc.parent = &pdev->dev;
> > >>   >> -	platform_set_drvdata(pdev, priv);
> > >> -
> > >>   	return devm_gpiochip_add_data(&pdev->dev, &priv->gc, priv);
> > >>   }
> > >>   >> diff --git a/drivers/gpio/gpio-logicvc.c
> > b/drivers/gpio/gpio-logicvc.c
> > >> index 992cc958a43f..9b4789deae45 100644
> > >> --- a/drivers/gpio/gpio-logicvc.c
> > >> +++ b/drivers/gpio/gpio-logicvc.c
> > >> @@ -139,8 +139,6 @@ static int logicvc_gpio_probe(struct platform_device *pdev)
> > >>   	logicvc->chip.set = logicvc_gpio_set;
> > >>   	logicvc->chip.direction_output = logicvc_gpio_direction_output;
> > >>   >> -	platform_set_drvdata(pdev, logicvc);
> > >> -
> > >>   	return devm_gpiochip_add_data(dev, &logicvc->chip, logicvc);
> > >>   }
> > >>   >> diff --git a/drivers/gpio/gpio-loongson1.c
> > b/drivers/gpio/gpio-loongson1.c
> > >> index 5d90b3bc5a25..0ff4ea7af9c0 100644
> > >> --- a/drivers/gpio/gpio-loongson1.c
> > >> +++ b/drivers/gpio/gpio-loongson1.c
> > >> @@ -72,7 +72,6 @@ static int ls1x_gpio_probe(struct platform_device *pdev)
> > >>   	if (ret)
> > >>   		goto err;
> > >>   >> -	platform_set_drvdata(pdev, gc);
> > >>   	dev_info(dev, "Loongson1 GPIO driver registered\n");
> > >>   >>   	return 0;
> > >> diff --git a/drivers/gpio/gpio-lp3943.c b/drivers/gpio/gpio-lp3943.c
> > >> index 79edd5db49d2..8e58242f5123 100644
> > >> --- a/drivers/gpio/gpio-lp3943.c
> > >> +++ b/drivers/gpio/gpio-lp3943.c
> > >> @@ -199,8 +199,6 @@ static int lp3943_gpio_probe(struct platform_device *pdev)
> > >>   	lp3943_gpio->chip = lp3943_gpio_chip;
> > >>   	lp3943_gpio->chip.parent = &pdev->dev;
> > >>   >> -	platform_set_drvdata(pdev, lp3943_gpio);
> > >> -
> > >>   	return devm_gpiochip_add_data(&pdev->dev, &lp3943_gpio->chip,
> > >>   				      lp3943_gpio);
> > >>   }
> > >> diff --git a/drivers/gpio/gpio-lp873x.c b/drivers/gpio/gpio-lp873x.c
> > >> index 5c79ba1f229c..7427a74ce4e2 100644
> > >> --- a/drivers/gpio/gpio-lp873x.c
> > >> +++ b/drivers/gpio/gpio-lp873x.c
> > >> @@ -140,8 +140,6 @@ static int lp873x_gpio_probe(struct platform_device *pdev)
> > >>   	if (!gpio)
> > >>   		return -ENOMEM;
> > >>   >> -	platform_set_drvdata(pdev, gpio);
> > >> -
> > >>   	gpio->lp873 = dev_get_drvdata(pdev->dev.parent);
> > >>   	gpio->chip = template_chip;
> > >>   	gpio->chip.parent = gpio->lp873->dev;
> > >> diff --git a/drivers/gpio/gpio-max77620.c b/drivers/gpio/gpio-max77620.c
> > >> index c18b60e39a94..8c2a5609161f 100644
> > >> --- a/drivers/gpio/gpio-max77620.c
> > >> +++ b/drivers/gpio/gpio-max77620.c
> > >> @@ -331,8 +331,6 @@ static int max77620_gpio_probe(struct platform_device *pdev)
> > >>   	girq->init_hw = max77620_gpio_irq_init_hw;
> > >>   	girq->threaded = true;
> > >>   >> -	platform_set_drvdata(pdev, mgpio);
> > >> -
> > >>   	ret = devm_gpiochip_add_data(&pdev->dev, &mgpio->gpio_chip, mgpio);
> > >>   	if (ret < 0) {
> > >>   		dev_err(&pdev->dev, "gpio_init: Failed to add max77620_gpio\n");
> > >> diff --git a/drivers/gpio/gpio-mlxbf.c b/drivers/gpio/gpio-mlxbf.c
> > >> index 1fa9973f55b9..f38faf40c92a 100644
> > >> --- a/drivers/gpio/gpio-mlxbf.c
> > >> +++ b/drivers/gpio/gpio-mlxbf.c
> > >> @@ -82,7 +82,6 @@ static int mlxbf_gpio_probe(struct platform_device *pdev)
> > >>   		return ret;
> > >>   	}
> > >>   >> -	platform_set_drvdata(pdev, gs);
> > >>   	dev_info(&pdev->dev, "registered Mellanox BlueField GPIO");
> > >>   	return 0;
> > >>   }
> > >> diff --git a/drivers/gpio/gpio-mlxbf2.c b/drivers/gpio/gpio-mlxbf2.c
> > >> index 77a41151c921..fdc4e66eae12 100644
> > >> --- a/drivers/gpio/gpio-mlxbf2.c
> > >> +++ b/drivers/gpio/gpio-mlxbf2.c
> > >> @@ -402,8 +402,6 @@ mlxbf2_gpio_probe(struct platform_device *pdev)
> > >>   		}
> > >>   	}
> > >>   >> -	platform_set_drvdata(pdev, gs);
> > >> -
> > >>   	ret = devm_gpiochip_add_data(dev, &gs->gc, gs);
> > >>   	if (ret) {
> > >>   		dev_err(dev, "Failed adding memory mapped gpiochip\n");
> > >> diff --git a/drivers/gpio/gpio-mmio.c b/drivers/gpio/gpio-mmio.c
> > >> index d9dff3dc92ae..c085c60584a8 100644
> > >> --- a/drivers/gpio/gpio-mmio.c
> > >> +++ b/drivers/gpio/gpio-mmio.c
> > >> @@ -787,8 +787,6 @@ static int bgpio_pdev_probe(struct platform_device *pdev)
> > >>   			gc->ngpio = pdata->ngpio;
> > >>   	}
> > >>   >> -	platform_set_drvdata(pdev, gc);
> > >> -
> > >>   	return devm_gpiochip_add_data(&pdev->dev, gc, NULL);
> > >>   }
> > >>   >> diff --git a/drivers/gpio/gpio-msc313.c
> > b/drivers/gpio/gpio-msc313.c
> > >> index b0773e5652fa..0a12948defc0 100644
> > >> --- a/drivers/gpio/gpio-msc313.c
> > >> +++ b/drivers/gpio/gpio-msc313.c
> > >> @@ -625,8 +625,6 @@ static int msc313_gpio_probe(struct platform_device *pdev)
> > >>   	if (IS_ERR(gpio->base))
> > >>   		return PTR_ERR(gpio->base);
> > >>   >> -	platform_set_drvdata(pdev, gpio);
> > >> -
> > >>   	gpiochip = devm_kzalloc(dev, sizeof(*gpiochip), GFP_KERNEL);
> > >>   	if (!gpiochip)
> > >>   		return -ENOMEM;
> > >> diff --git a/drivers/gpio/gpio-mt7621.c b/drivers/gpio/gpio-mt7621.c
> > >> index 93facbebb80e..c0c715167d9c 100644
> > >> --- a/drivers/gpio/gpio-mt7621.c
> > >> +++ b/drivers/gpio/gpio-mt7621.c
> > >> @@ -315,7 +315,6 @@ mediatek_gpio_probe(struct platform_device *pdev)
> > >>   		return mtk->gpio_irq;
> > >>   >>   	mtk->dev = dev;
> > >> -	platform_set_drvdata(pdev, mtk);
> > >>   >>   	for (i = 0; i < MTK_BANK_CNT; i++) {
> > >>   		ret = mediatek_gpio_bank_probe(dev, i);
> > >> diff --git a/drivers/gpio/gpio-mvebu.c b/drivers/gpio/gpio-mvebu.c
> > >> index a68f682aec01..699c9378bda7 100644
> > >> --- a/drivers/gpio/gpio-mvebu.c
> > >> +++ b/drivers/gpio/gpio-mvebu.c
> > >> @@ -1143,8 +1143,6 @@ static int mvebu_gpio_probe(struct platform_device *pdev)
> > >>   	if (!mvchip)
> > >>   		return -ENOMEM;
> > >>   >> -	platform_set_drvdata(pdev, mvchip);
> > >> -
> > >>   	if (of_property_read_u32(pdev->dev.of_node, "ngpios", &ngpios)) {
> > >>   		dev_err(&pdev->dev, "Missing ngpios OF property\n");
> > >>   		return -ENODEV;
> > >> diff --git a/drivers/gpio/gpio-mxc.c b/drivers/gpio/gpio-mxc.c
> > >> index 9d0cec4b82a3..ac8b12606eae 100644
> > >> --- a/drivers/gpio/gpio-mxc.c
> > >> +++ b/drivers/gpio/gpio-mxc.c
> > >> @@ -489,8 +489,6 @@ static int mxc_gpio_probe(struct platform_device *pdev)
> > >>   >>   	list_add_tail(&port->node, &mxc_gpio_ports);
> > >>   >> -	platform_set_drvdata(pdev, port);
> > >> -
> > >>   	return 0;
> > >>   >>   out_irqdomain_remove:
> > >> diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c
> > >> index f5f3d4b22452..acbdb4fd922e 100644
> > >> --- a/drivers/gpio/gpio-omap.c
> > >> +++ b/drivers/gpio/gpio-omap.c
> > >> @@ -762,8 +762,6 @@ static struct platform_device omap_mpuio_device = {
> > >>   >>   static inline void omap_mpuio_init(struct gpio_bank *bank)
> > >>   {
> > >> -	platform_set_drvdata(&omap_mpuio_device, bank);
> > >> -
> > >>   	if (platform_driver_register(&omap_mpuio_driver) == 0)
> > >>   		(void) platform_device_register(&omap_mpuio_device);
> > >>   }
> > >> @@ -1457,8 +1455,6 @@ static int omap_gpio_probe(struct platform_device *pdev)
> > >>   		}
> > >>   	}
> > >>   >> -	platform_set_drvdata(pdev, bank);
> > >> -
> > >>   	pm_runtime_enable(dev);
> > >>   	pm_runtime_get_sync(dev);
> > >>   >> diff --git a/drivers/gpio/gpio-palmas.c
> > b/drivers/gpio/gpio-palmas.c
> > >> index bac10c2faf56..dd8a287ff6d0 100644
> > >> --- a/drivers/gpio/gpio-palmas.c
> > >> +++ b/drivers/gpio/gpio-palmas.c
> > >> @@ -184,7 +184,6 @@ static int palmas_gpio_probe(struct platform_device *pdev)
> > >>   		return ret;
> > >>   	}
> > >>   >> -	platform_set_drvdata(pdev, palmas_gpio);
> > >>   	return ret;
> > >>   }
> > >>   >> diff --git a/drivers/gpio/gpio-pmic-eic-sprd.c
> > b/drivers/gpio/gpio-pmic-eic-sprd.c
> > >> index c3e4d90f6b18..bfb003ccbd99 100644
> > >> --- a/drivers/gpio/gpio-pmic-eic-sprd.c
> > >> +++ b/drivers/gpio/gpio-pmic-eic-sprd.c
> > >> @@ -363,7 +363,6 @@ static int sprd_pmic_eic_probe(struct platform_device *pdev)
> > >>   		return ret;
> > >>   	}
> > >>   >> -	platform_set_drvdata(pdev, pmic_eic);
> > >>   	return 0;
> > >>   }
> > >>   >> diff --git a/drivers/gpio/gpio-rc5t583.c
> > b/drivers/gpio/gpio-rc5t583.c
> > >> index 4fae3ebea790..c34dcadaee36 100644
> > >> --- a/drivers/gpio/gpio-rc5t583.c
> > >> +++ b/drivers/gpio/gpio-rc5t583.c
> > >> @@ -121,8 +121,6 @@ static int rc5t583_gpio_probe(struct platform_device *pdev)
> > >>   	if (pdata && pdata->gpio_base)
> > >>   		rc5t583_gpio->gpio_chip.base = pdata->gpio_base;
> > >>   >> -	platform_set_drvdata(pdev, rc5t583_gpio);
> > >> -
> > >>   	return devm_gpiochip_add_data(&pdev->dev, &rc5t583_gpio->gpio_chip,
> > >>   				      rc5t583_gpio);
> > >>   }
> > >> diff --git a/drivers/gpio/gpio-rcar.c b/drivers/gpio/gpio-rcar.c
> > >> index 5b117f3bd322..f00a0c2f9dc1 100644
> > >> --- a/drivers/gpio/gpio-rcar.c
> > >> +++ b/drivers/gpio/gpio-rcar.c
> > >> @@ -513,8 +513,6 @@ static int gpio_rcar_probe(struct platform_device *pdev)
> > >>   	if (ret < 0)
> > >>   		return ret;
> > >>   >> -	platform_set_drvdata(pdev, p);
> > >> -
> > >>   	pm_runtime_enable(dev);
> > >>   >>   	ret = platform_get_irq(pdev, 0);
> > >> diff --git a/drivers/gpio/gpio-rda.c b/drivers/gpio/gpio-rda.c
> > >> index 62ba18b3a602..04059c5b3d9e 100644
> > >> --- a/drivers/gpio/gpio-rda.c
> > >> +++ b/drivers/gpio/gpio-rda.c
> > >> @@ -263,8 +263,6 @@ static int rda_gpio_probe(struct platform_device *pdev)
> > >>   		girq->parents[0] = rda_gpio->irq;
> > >>   	}
> > >>   >> -	platform_set_drvdata(pdev, rda_gpio);
> > >> -
> > >>   	return devm_gpiochip_add_data(dev, &rda_gpio->chip, rda_gpio);
> > >>   }
> > >>   >> diff --git a/drivers/gpio/gpio-rdc321x.c
> > b/drivers/gpio/gpio-rdc321x.c
> > >> index 01ed2517e9fd..4d3c6c9adfcd 100644
> > >> --- a/drivers/gpio/gpio-rdc321x.c
> > >> +++ b/drivers/gpio/gpio-rdc321x.c
> > >> @@ -161,8 +161,6 @@ static int rdc321x_gpio_probe(struct platform_device *pdev)
> > >>   	rdc321x_gpio_dev->chip.base = 0;
> > >>   	rdc321x_gpio_dev->chip.ngpio = pdata->max_gpios;
> > >>   >> -	platform_set_drvdata(pdev, rdc321x_gpio_dev);
> > >> -
> > >>   	/* This might not be, what others (BIOS, bootloader, etc.)
> > >>   	   wrote to these registers before, but it's a good guess. Still
> > >>   	   better than just using 0xffffffff. */
> > >> diff --git a/drivers/gpio/gpio-sama5d2-piobu.c b/drivers/gpio/gpio-sama5d2-piobu.c
> > >> index 3e95da717fc9..7c3f4a268829 100644
> > >> --- a/drivers/gpio/gpio-sama5d2-piobu.c
> > >> +++ b/drivers/gpio/gpio-sama5d2-piobu.c
> > >> @@ -189,7 +189,6 @@ static int sama5d2_piobu_probe(struct platform_device *pdev)
> > >>   	if (!piobu)
> > >>   		return -ENOMEM;
> > >>   >> -	platform_set_drvdata(pdev, piobu);
> > >>   	piobu->chip.label = pdev->name;
> > >>   	piobu->chip.parent = &pdev->dev;
> > >>   	piobu->chip.owner = THIS_MODULE,
> > >> diff --git a/drivers/gpio/gpio-sch.c b/drivers/gpio/gpio-sch.c
> > >> index 8a83f7bf4382..e48392074e4b 100644
> > >> --- a/drivers/gpio/gpio-sch.c
> > >> +++ b/drivers/gpio/gpio-sch.c
> > >> @@ -380,8 +380,6 @@ static int sch_gpio_probe(struct platform_device *pdev)
> > >>   		return -ENODEV;
> > >>   	}
> > >>   >> -	platform_set_drvdata(pdev, sch);
> > >> -
> > >>   	girq = &sch->chip.irq;
> > >>   	gpio_irq_chip_set_chip(girq, &sch_irqchip);
> > >>   	girq->num_parents = 0;
> > >> diff --git a/drivers/gpio/gpio-sch311x.c b/drivers/gpio/gpio-sch311x.c
> > >> index da01e1cad7cb..63b757e7e507 100644
> > >> --- a/drivers/gpio/gpio-sch311x.c
> > >> +++ b/drivers/gpio/gpio-sch311x.c
> > >> @@ -281,8 +281,6 @@ static int sch311x_gpio_probe(struct platform_device *pdev)
> > >>   	if (!priv)
> > >>   		return -ENOMEM;
> > >>   >> -	platform_set_drvdata(pdev, priv);
> > >> -
> > >>   	for (i = 0; i < ARRAY_SIZE(priv->blocks); i++) {
> > >>   		block = &priv->blocks[i];
> > >>   >> diff --git a/drivers/gpio/gpio-sifive.c
> > b/drivers/gpio/gpio-sifive.c
> > >> index bc5660f61c57..65d1b6437136 100644
> > >> --- a/drivers/gpio/gpio-sifive.c
> > >> +++ b/drivers/gpio/gpio-sifive.c
> > >> @@ -256,7 +256,6 @@ static int sifive_gpio_probe(struct platform_device *pdev)
> > >>   	girq->handler = handle_bad_irq;
> > >>   	girq->default_type = IRQ_TYPE_NONE;
> > >>   >> -	platform_set_drvdata(pdev, chip);
> > >>   	return gpiochip_add_data(&chip->gc, chip);
> > >>   }
> > >>   >> diff --git a/drivers/gpio/gpio-syscon.c
> > b/drivers/gpio/gpio-syscon.c
> > >> index 6076937b18e7..afceb7e17ad8 100644
> > >> --- a/drivers/gpio/gpio-syscon.c
> > >> +++ b/drivers/gpio/gpio-syscon.c
> > >> @@ -249,8 +249,6 @@ static int syscon_gpio_probe(struct platform_device *pdev)
> > >>   		priv->chip.direction_output = syscon_gpio_dir_out;
> > >>   	}
> > >>   >> -	platform_set_drvdata(pdev, priv);
> > >> -
> > >>   	return devm_gpiochip_add_data(&pdev->dev, &priv->chip, priv);
> > >>   }
> > >>   >> diff --git a/drivers/gpio/gpio-tegra.c
> > b/drivers/gpio/gpio-tegra.c
> > >> index 5b265a6fd3c1..8a1731a13b5a 100644
> > >> --- a/drivers/gpio/gpio-tegra.c
> > >> +++ b/drivers/gpio/gpio-tegra.c
> > >> @@ -728,8 +728,6 @@ static int tegra_gpio_probe(struct platform_device *pdev)
> > >>   	tgi->gc.ngpio			= tgi->bank_count * 32;
> > >>   	tgi->gc.parent			= &pdev->dev;
> > >>   >> -	platform_set_drvdata(pdev, tgi);
> > >> -
> > >>   	if (tgi->soc->debounce_supported)
> > >>   		tgi->gc.set_config = tegra_gpio_set_config;
> > >>   >> diff --git a/drivers/gpio/gpio-timberdale.c
> > b/drivers/gpio/gpio-timberdale.c
> > >> index de14949a3fe5..bbd9e9191199 100644
> > >> --- a/drivers/gpio/gpio-timberdale.c
> > >> +++ b/drivers/gpio/gpio-timberdale.c
> > >> @@ -256,8 +256,6 @@ static int timbgpio_probe(struct platform_device *pdev)
> > >>   	if (err)
> > >>   		return err;
> > >>   >> -	platform_set_drvdata(pdev, tgpio);
> > >> -
> > >>   	/* make sure to disable interrupts */
> > >>   	iowrite32(0x0, tgpio->membase + TGPIO_IER);
> > >>   >> diff --git a/drivers/gpio/gpio-tqmx86.c
> > b/drivers/gpio/gpio-tqmx86.c
> > >> index e739dcea61b2..f0a2cf4b0679 100644
> > >> --- a/drivers/gpio/gpio-tqmx86.c
> > >> +++ b/drivers/gpio/gpio-tqmx86.c
> > >> @@ -259,8 +259,6 @@ static int tqmx86_gpio_probe(struct platform_device *pdev)
> > >>   >>   	tqmx86_gpio_write(gpio, (u8)~TQMX86_DIR_INPUT_MASK,
> > TQMX86_GPIODD);
> > >>   >> -	platform_set_drvdata(pdev, gpio);
> > >> -
> > >>   	chip = &gpio->chip;
> > >>   	chip->label = "gpio-tqmx86";
> > >>   	chip->owner = THIS_MODULE;
> > >> diff --git a/drivers/gpio/gpio-ts4800.c b/drivers/gpio/gpio-ts4800.c
> > >> index 95d80ba14bee..b0b338480516 100644
> > >> --- a/drivers/gpio/gpio-ts4800.c
> > >> +++ b/drivers/gpio/gpio-ts4800.c
> > >> @@ -52,8 +52,6 @@ static int ts4800_gpio_probe(struct platform_device *pdev)
> > >>   >>   	chip->ngpio = ngpios;
> > >>   >> -	platform_set_drvdata(pdev, chip);
> > >> -
> > >>   	return devm_gpiochip_add_data(&pdev->dev, chip, NULL);
> > >>   }
> > >>   >> diff --git a/drivers/gpio/gpio-vx855.c
> > b/drivers/gpio/gpio-vx855.c
> > >> index 69713fd5485b..8fd6c3913d69 100644
> > >> --- a/drivers/gpio/gpio-vx855.c
> > >> +++ b/drivers/gpio/gpio-vx855.c
> > >> @@ -240,8 +240,6 @@ static int vx855gpio_probe(struct platform_device *pdev)
> > >>   	if (!vg)
> > >>   		return -ENOMEM;
> > >>   >> -	platform_set_drvdata(pdev, vg);
> > >> -
> > >>   	dev_info(&pdev->dev, "found VX855 GPIO controller\n");
> > >>   	vg->io_gpi = res_gpi->start;
> > >>   	vg->io_gpo = res_gpo->start;
> > >> diff --git a/drivers/gpio/gpio-wcove.c b/drivers/gpio/gpio-wcove.c
> > >> index c18b6b47384f..15e59f95b8d0 100644
> > >> --- a/drivers/gpio/gpio-wcove.c
> > >> +++ b/drivers/gpio/gpio-wcove.c
> > >> @@ -433,8 +433,6 @@ static int wcove_gpio_probe(struct platform_device *pdev)
> > >>   >>   	wg->regmap_irq_chip = pmic->irq_chip_data;
> > >>   >> -	platform_set_drvdata(pdev, wg);
> > >> -
> > >>   	mutex_init(&wg->buslock);
> > >>   	wg->chip.label = KBUILD_MODNAME;
> > >>   	wg->chip.direction_input = wcove_gpio_dir_in;
> > >> diff --git a/drivers/gpio/gpio-xgene.c b/drivers/gpio/gpio-xgene.c
> > >> index fb4b0c67aeef..f2702065dae6 100644
> > >> --- a/drivers/gpio/gpio-xgene.c
> > >> +++ b/drivers/gpio/gpio-xgene.c
> > >> @@ -180,8 +180,6 @@ static int xgene_gpio_probe(struct platform_device *pdev)
> > >>   	gpio->chip.label = dev_name(&pdev->dev);
> > >>   	gpio->chip.base = -1;
> > >>   >> -	platform_set_drvdata(pdev, gpio);
> > >> -
> > >>   	return devm_gpiochip_add_data(&pdev->dev, &gpio->chip, gpio);
> > >>   }
> > >>   >> diff --git a/drivers/gpio/gpio-zevio.c
> > b/drivers/gpio/gpio-zevio.c
> > >> index f0f571b323f2..2de61337ad3b 100644
> > >> --- a/drivers/gpio/gpio-zevio.c
> > >> +++ b/drivers/gpio/gpio-zevio.c
> > >> @@ -176,8 +176,6 @@ static int zevio_gpio_probe(struct platform_device *pdev)
> > >>   	if (!controller)
> > >>   		return -ENOMEM;
> > >>   >> -	platform_set_drvdata(pdev, controller);
> > >> -
> > >>   	/* Copy our reference */
> > >>   	controller->chip = zevio_gpio_chip;
> > >>   	controller->chip.parent = &pdev->dev;
> > >> diff --git a/drivers/gpio/gpio-zynqmp-modepin.c b/drivers/gpio/gpio-zynqmp-modepin.c
> > >> index a0d69387c153..cfe540a3cfb4 100644
> > >> --- a/drivers/gpio/gpio-zynqmp-modepin.c
> > >> +++ b/drivers/gpio/gpio-zynqmp-modepin.c
> > >> @@ -120,8 +120,6 @@ static int modepin_gpio_probe(struct platform_device *pdev)
> > >>   	if (!chip)
> > >>   		return -ENOMEM;
> > >>   >> -	platform_set_drvdata(pdev, chip);
> > >> -
> > >>   	/* configure the gpio chip */
> > >>   	chip->base = -1;
> > >>   	chip->ngpio = MODE_PINS;

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v2] drivers/gpio : Remove redundant platform_set_drvdata().
  2023-03-19 11:59 [PATCH v2] drivers/gpio : Remove redundant platform_set_drvdata() Lizhe
  2023-03-19 12:21 ` Christophe JAILLET
@ 2023-03-19 21:20 ` Linus Walleij
  2023-03-20 10:10 ` Andy Shevchenko
  2 siblings, 0 replies; 7+ messages in thread
From: Linus Walleij @ 2023-03-19 21:20 UTC (permalink / raw)
  To: Lizhe
  Cc: brgl, geert+renesas, info, rjui, bcm-kernel-feedback-list,
	f.fainelli, sbranden, shc_work, j-keerthy, hoan, fancer.lancer,
	orsonzhai, baolin.wang, zhang.lyra, shawnguo, s.hauer, kernel,
	festevam, linux-imx, kaloz, khalasa, keguang.zhang, daniel,
	romain.perier, matthias.bgg, angelogioacchino.delregno,
	thierry.reding, u.kleine-koenig, grygorii.strashko, ssantosh,
	khilman, mani, ludovic.desroches, andy, palmer, paul.walmsley,
	jonathanh, sathyanarayanan.kuppuswamy, michal.simek, linux-gpio,
	linux-kernel, linux-arm-kernel, linux-mips, linux-mediatek,
	linux-pwm, linux-omap, linux-unisoc, linux-riscv, linux-tegra

On Sun, Mar 19, 2023 at 1:02 PM Lizhe <sensor1010@163.com> wrote:

> platform_set_drvdata() is redundant in these functions.
> the purpose of calling this function is to place data
> in *driver_data. but the data is not retrieved in these
> functions
>
> Signed-off-by: Lizhe <sensor1010@163.com>

You have to also ascertain that the data is not used elsewhere
like in some callbacks or even in other drivers in some odd cases.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v2] drivers/gpio : Remove redundant platform_set_drvdata().
  2023-03-19 11:59 [PATCH v2] drivers/gpio : Remove redundant platform_set_drvdata() Lizhe
  2023-03-19 12:21 ` Christophe JAILLET
  2023-03-19 21:20 ` Linus Walleij
@ 2023-03-20 10:10 ` Andy Shevchenko
  2023-03-20 10:11   ` Andy Shevchenko
  2 siblings, 1 reply; 7+ messages in thread
From: Andy Shevchenko @ 2023-03-20 10:10 UTC (permalink / raw)
  To: Lizhe
  Cc: linus.walleij, brgl, geert+renesas, info, rjui,
	bcm-kernel-feedback-list, f.fainelli, sbranden, shc_work,
	j-keerthy, hoan, fancer.lancer, orsonzhai, baolin.wang,
	zhang.lyra, shawnguo, s.hauer, kernel, festevam, linux-imx,
	kaloz, khalasa, keguang.zhang, daniel, romain.perier,
	matthias.bgg, angelogioacchino.delregno, thierry.reding,
	u.kleine-koenig, grygorii.strashko, ssantosh, khilman, mani,
	ludovic.desroches, andy, palmer, paul.walmsley, jonathanh,
	sathyanarayanan.kuppuswamy, michal.simek, linux-gpio,
	linux-kernel, linux-arm-kernel, linux-mips, linux-mediatek,
	linux-pwm, linux-omap, linux-unisoc, linux-riscv, linux-tegra

On Sun, Mar 19, 2023 at 2:01 PM Lizhe <sensor1010@163.com> wrote:
>
> platform_set_drvdata() is redundant in these functions.
> the purpose of calling this function is to place data
> in *driver_data. but the data is not retrieved in these
> functions

You need to:
1) split the series on per driver basis (not all of the drivers are
going thru the same subsystem);
2) improve English grammar and style in your commit message;
3) carefully explain in the cover letter your methods of finding the
places you think need to be improved.

Before that it's a waste of time to look at your contributions.

-- 
With Best Regards,
Andy Shevchenko

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v2] drivers/gpio : Remove redundant platform_set_drvdata().
  2023-03-20 10:10 ` Andy Shevchenko
@ 2023-03-20 10:11   ` Andy Shevchenko
  0 siblings, 0 replies; 7+ messages in thread
From: Andy Shevchenko @ 2023-03-20 10:11 UTC (permalink / raw)
  To: Lizhe
  Cc: linus.walleij, brgl, geert+renesas, info, rjui,
	bcm-kernel-feedback-list, f.fainelli, sbranden, shc_work,
	j-keerthy, hoan, fancer.lancer, orsonzhai, baolin.wang,
	zhang.lyra, shawnguo, s.hauer, kernel, festevam, linux-imx,
	kaloz, khalasa, keguang.zhang, daniel, romain.perier,
	matthias.bgg, angelogioacchino.delregno, thierry.reding,
	u.kleine-koenig, grygorii.strashko, ssantosh, khilman, mani,
	ludovic.desroches, andy, palmer, paul.walmsley, jonathanh,
	sathyanarayanan.kuppuswamy, michal.simek, linux-gpio,
	linux-kernel, linux-arm-kernel, linux-mips, linux-mediatek,
	linux-pwm, linux-omap, linux-unisoc, linux-riscv, linux-tegra

On Mon, Mar 20, 2023 at 12:10 PM Andy Shevchenko
<andy.shevchenko@gmail.com> wrote:
> On Sun, Mar 19, 2023 at 2:01 PM Lizhe <sensor1010@163.com> wrote:
> >
> > platform_set_drvdata() is redundant in these functions.
> > the purpose of calling this function is to place data
> > in *driver_data. but the data is not retrieved in these
> > functions
>
> You need to:
> 1) split the series on per driver basis (not all of the drivers are
> going thru the same subsystem);

s/subsystem/tree/

> 2) improve English grammar and style in your commit message;
> 3) carefully explain in the cover letter your methods of finding the
> places you think need to be improved.
>
> Before that it's a waste of time to look at your contributions.


-- 
With Best Regards,
Andy Shevchenko

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2023-03-20 10:12 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-19 11:59 [PATCH v2] drivers/gpio : Remove redundant platform_set_drvdata() Lizhe
2023-03-19 12:21 ` Christophe JAILLET
     [not found]   ` <3d85bea8.19f3.186f9d80b0c.Coremail.sensor1010@163.com>
2023-03-19 17:42     ` Christophe JAILLET
2023-03-19 17:59       ` Serge Semin
2023-03-19 21:20 ` Linus Walleij
2023-03-20 10:10 ` Andy Shevchenko
2023-03-20 10:11   ` Andy Shevchenko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).