| From 22dff71e78b0fa4cd97b4bca98cc4b9a6262616b Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 15 Oct 2024 15:18:31 +0200 |
| Subject: gpio: grgpio: use a helper variable to store the address of |
| ofdev->dev |
| |
| From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> |
| |
| [ Upstream commit d036ae41cebdfae92666024163c109b8fef516fa ] |
| |
| Instead of dereferencing the platform device pointer repeatedly, just |
| store its address in a helper variable. |
| |
| Link: https://lore.kernel.org/r/20241015131832.44678-3-brgl@bgdev.pl |
| Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> |
| Stable-dep-of: 050b23d081da ("gpio: grgpio: Add NULL check in grgpio_probe") |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/gpio/gpio-grgpio.c | 23 ++++++++++++----------- |
| 1 file changed, 12 insertions(+), 11 deletions(-) |
| |
| diff --git a/drivers/gpio/gpio-grgpio.c b/drivers/gpio/gpio-grgpio.c |
| index 3224933f4c8f4..62ba651fef658 100644 |
| --- a/drivers/gpio/gpio-grgpio.c |
| +++ b/drivers/gpio/gpio-grgpio.c |
| @@ -328,6 +328,7 @@ static const struct irq_domain_ops grgpio_irq_domain_ops = { |
| static int grgpio_probe(struct platform_device *ofdev) |
| { |
| struct device_node *np = ofdev->dev.of_node; |
| + struct device *dev = &ofdev->dev; |
| void __iomem *regs; |
| struct gpio_chip *gc; |
| struct grgpio_priv *priv; |
| @@ -337,7 +338,7 @@ static int grgpio_probe(struct platform_device *ofdev) |
| int size; |
| int i; |
| |
| - priv = devm_kzalloc(&ofdev->dev, sizeof(*priv), GFP_KERNEL); |
| + priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); |
| if (!priv) |
| return -ENOMEM; |
| |
| @@ -346,29 +347,29 @@ static int grgpio_probe(struct platform_device *ofdev) |
| return PTR_ERR(regs); |
| |
| gc = &priv->gc; |
| - err = bgpio_init(gc, &ofdev->dev, 4, regs + GRGPIO_DATA, |
| + err = bgpio_init(gc, dev, 4, regs + GRGPIO_DATA, |
| regs + GRGPIO_OUTPUT, NULL, regs + GRGPIO_DIR, NULL, |
| BGPIOF_BIG_ENDIAN_BYTE_ORDER); |
| if (err) { |
| - dev_err(&ofdev->dev, "bgpio_init() failed\n"); |
| + dev_err(dev, "bgpio_init() failed\n"); |
| return err; |
| } |
| |
| priv->regs = regs; |
| priv->imask = gc->read_reg(regs + GRGPIO_IMASK); |
| - priv->dev = &ofdev->dev; |
| + priv->dev = dev; |
| |
| gc->of_node = np; |
| gc->owner = THIS_MODULE; |
| gc->to_irq = grgpio_to_irq; |
| - gc->label = devm_kasprintf(&ofdev->dev, GFP_KERNEL, "%pOF", np); |
| + gc->label = devm_kasprintf(dev, GFP_KERNEL, "%pOF", np); |
| gc->base = -1; |
| |
| err = of_property_read_u32(np, "nbits", &prop); |
| if (err || prop <= 0 || prop > GRGPIO_MAX_NGPIO) { |
| gc->ngpio = GRGPIO_MAX_NGPIO; |
| - dev_dbg(&ofdev->dev, |
| - "No or invalid nbits property: assume %d\n", gc->ngpio); |
| + dev_dbg(dev, "No or invalid nbits property: assume %d\n", |
| + gc->ngpio); |
| } else { |
| gc->ngpio = prop; |
| } |
| @@ -380,7 +381,7 @@ static int grgpio_probe(struct platform_device *ofdev) |
| irqmap = (s32 *)of_get_property(np, "irqmap", &size); |
| if (irqmap) { |
| if (size < gc->ngpio) { |
| - dev_err(&ofdev->dev, |
| + dev_err(dev, |
| "irqmap shorter than ngpio (%d < %d)\n", |
| size, gc->ngpio); |
| return -EINVAL; |
| @@ -390,7 +391,7 @@ static int grgpio_probe(struct platform_device *ofdev) |
| &grgpio_irq_domain_ops, |
| priv); |
| if (!priv->domain) { |
| - dev_err(&ofdev->dev, "Could not add irq domain\n"); |
| + dev_err(dev, "Could not add irq domain\n"); |
| return -EINVAL; |
| } |
| |
| @@ -420,13 +421,13 @@ static int grgpio_probe(struct platform_device *ofdev) |
| |
| err = gpiochip_add_data(gc, priv); |
| if (err) { |
| - dev_err(&ofdev->dev, "Could not add gpiochip\n"); |
| + dev_err(dev, "Could not add gpiochip\n"); |
| if (priv->domain) |
| irq_domain_remove(priv->domain); |
| return err; |
| } |
| |
| - dev_info(&ofdev->dev, "regs=0x%p, base=%d, ngpio=%d, irqs=%s\n", |
| + dev_info(dev, "regs=0x%p, base=%d, ngpio=%d, irqs=%s\n", |
| priv->regs, gc->base, gc->ngpio, priv->domain ? "on" : "off"); |
| |
| return 0; |
| -- |
| 2.43.0 |
| |