Commit 2707a028 authored by Bartosz Golaszewski's avatar Bartosz Golaszewski
Browse files

gpio: mpc8xxx: use a helper variable to store the address of pdev->dev



Instead of repeatedly dereferencing pdev, just store the address of the
embedded struct device in a local variable and use it instead for
improved readability.

While at it: rearrange variable declarations.

Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20241009162910.33477-1-brgl@bgdev.pl


Signed-off-by: default avatarBartosz Golaszewski <bartosz.golaszewski@linaro.org>
parent 1b35c124
Loading
Loading
Loading
Loading
+22 −26
Original line number Diff line number Diff line
@@ -300,14 +300,15 @@ static const struct of_device_id mpc8xxx_gpio_ids[] = {

static int mpc8xxx_probe(struct platform_device *pdev)
{
	const struct mpc8xxx_gpio_devtype *devtype = NULL;
	struct device_node *np = pdev->dev.of_node;
	struct mpc8xxx_gpio_chip *mpc8xxx_gc;
	struct gpio_chip	*gc;
	const struct mpc8xxx_gpio_devtype *devtype = NULL;
	struct device *dev = &pdev->dev;
	struct fwnode_handle *fwnode;
	struct gpio_chip *gc;
	int ret;

	mpc8xxx_gc = devm_kzalloc(&pdev->dev, sizeof(*mpc8xxx_gc), GFP_KERNEL);
	mpc8xxx_gc = devm_kzalloc(dev, sizeof(*mpc8xxx_gc), GFP_KERNEL);
	if (!mpc8xxx_gc)
		return -ENOMEM;

@@ -320,32 +321,28 @@ static int mpc8xxx_probe(struct platform_device *pdev)
		return PTR_ERR(mpc8xxx_gc->regs);

	gc = &mpc8xxx_gc->gc;
	gc->parent = &pdev->dev;

	if (device_property_read_bool(&pdev->dev, "little-endian")) {
		ret = bgpio_init(gc, &pdev->dev, 4,
				 mpc8xxx_gc->regs + GPIO_DAT,
				 NULL, NULL,
				 mpc8xxx_gc->regs + GPIO_DIR, NULL,
				 BGPIOF_BIG_ENDIAN);
	gc->parent = dev;

	if (device_property_read_bool(dev, "little-endian")) {
		ret = bgpio_init(gc, dev, 4, mpc8xxx_gc->regs + GPIO_DAT,
				 NULL, NULL, mpc8xxx_gc->regs + GPIO_DIR,
				 NULL, BGPIOF_BIG_ENDIAN);
		if (ret)
			return ret;
		dev_dbg(&pdev->dev, "GPIO registers are LITTLE endian\n");
		dev_dbg(dev, "GPIO registers are LITTLE endian\n");
	} else {
		ret = bgpio_init(gc, &pdev->dev, 4,
				 mpc8xxx_gc->regs + GPIO_DAT,
				 NULL, NULL,
				 mpc8xxx_gc->regs + GPIO_DIR, NULL,
				 BGPIOF_BIG_ENDIAN
		ret = bgpio_init(gc, dev, 4, mpc8xxx_gc->regs + GPIO_DAT,
				 NULL, NULL, mpc8xxx_gc->regs + GPIO_DIR,
				 NULL, BGPIOF_BIG_ENDIAN
				 | BGPIOF_BIG_ENDIAN_BYTE_ORDER);
		if (ret)
			return ret;
		dev_dbg(&pdev->dev, "GPIO registers are BIG endian\n");
		dev_dbg(dev, "GPIO registers are BIG endian\n");
	}

	mpc8xxx_gc->direction_output = gc->direction_output;

	devtype = device_get_match_data(&pdev->dev);
	devtype = device_get_match_data(dev);
	if (!devtype)
		devtype = &mpc8xxx_gpio_devtype_default;

@@ -370,7 +367,7 @@ static int mpc8xxx_probe(struct platform_device *pdev)
	 * associated input enable must be set (GPIOxGPIE[IEn]=1) to propagate
	 * the port value to the GPIO Data Register.
	 */
	fwnode = dev_fwnode(&pdev->dev);
	fwnode = dev_fwnode(dev);
	if (of_device_is_compatible(np, "fsl,qoriq-gpio") ||
	    of_device_is_compatible(np, "fsl,ls1028a-gpio") ||
	    of_device_is_compatible(np, "fsl,ls1088a-gpio") ||
@@ -381,9 +378,9 @@ static int mpc8xxx_probe(struct platform_device *pdev)
			gc->read_reg(mpc8xxx_gc->regs + GPIO_DIR);
	}

	ret = devm_gpiochip_add_data(&pdev->dev, gc, mpc8xxx_gc);
	ret = devm_gpiochip_add_data(dev, gc, mpc8xxx_gc);
	if (ret) {
		dev_err(&pdev->dev,
		dev_err(dev,
			"GPIO chip registration failed with status %d\n", ret);
		return ret;
	}
@@ -404,18 +401,17 @@ static int mpc8xxx_probe(struct platform_device *pdev)
	gc->write_reg(mpc8xxx_gc->regs + GPIO_IER, 0xffffffff);
	gc->write_reg(mpc8xxx_gc->regs + GPIO_IMR, 0);

	ret = devm_request_irq(&pdev->dev, mpc8xxx_gc->irqn,
	ret = devm_request_irq(dev, mpc8xxx_gc->irqn,
			       mpc8xxx_gpio_irq_cascade,
			       IRQF_NO_THREAD | IRQF_SHARED, "gpio-cascade",
			       mpc8xxx_gc);
	if (ret) {
		dev_err(&pdev->dev,
			"failed to devm_request_irq(%d), ret = %d\n",
		dev_err(dev, "failed to devm_request_irq(%d), ret = %d\n",
			mpc8xxx_gc->irqn, ret);
		goto err;
	}

	device_init_wakeup(&pdev->dev, true);
	device_init_wakeup(dev, true);

	return 0;
err: