Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c29e2f2c authored by Geert Uytterhoeven's avatar Geert Uytterhoeven
Browse files

pinctrl: sh-pfc: Convert to devm_gpiochip_add_data()



This allows to remove the .remove() callback, and all functions and data
it needed for its own bookkeeping.

Suggested-by: default avatarLaxman Dewangan <ldewangan@nvidia.com>
Signed-off-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent 07d36d29
Loading
Loading
Loading
Loading
+0 −10
Original line number Diff line number Diff line
@@ -598,15 +598,6 @@ static int sh_pfc_probe(struct platform_device *pdev)
	return 0;
}

static int sh_pfc_remove(struct platform_device *pdev)
{
#ifdef CONFIG_PINCTRL_SH_PFC_GPIO
	sh_pfc_unregister_gpiochip(platform_get_drvdata(pdev));
#endif

	return 0;
}

static const struct platform_device_id sh_pfc_id_table[] = {
#ifdef CONFIG_PINCTRL_PFC_SH7203
	{ "pfc-sh7203", (kernel_ulong_t)&sh7203_pinmux_info },
@@ -650,7 +641,6 @@ static const struct platform_device_id sh_pfc_id_table[] = {

static struct platform_driver sh_pfc_driver = {
	.probe		= sh_pfc_probe,
	.remove		= sh_pfc_remove,
	.id_table	= sh_pfc_id_table,
	.driver		= {
		.name	= DRV_NAME,
+0 −1
Original line number Diff line number Diff line
@@ -20,7 +20,6 @@ struct sh_pfc_pin_range {
};

int sh_pfc_register_gpiochip(struct sh_pfc *pfc);
int sh_pfc_unregister_gpiochip(struct sh_pfc *pfc);

int sh_pfc_register_pinctrl(struct sh_pfc *pfc);

+1 −12
Original line number Diff line number Diff line
@@ -318,7 +318,7 @@ sh_pfc_add_gpiochip(struct sh_pfc *pfc, int(*setup)(struct sh_pfc_chip *),
	if (ret < 0)
		return ERR_PTR(ret);

	ret = gpiochip_add_data(&chip->gpio_chip, chip);
	ret = devm_gpiochip_add_data(pfc->dev, &chip->gpio_chip, chip);
	if (unlikely(ret < 0))
		return ERR_PTR(ret);

@@ -399,18 +399,7 @@ int sh_pfc_register_gpiochip(struct sh_pfc *pfc)
	chip = sh_pfc_add_gpiochip(pfc, gpio_function_setup, NULL);
	if (IS_ERR(chip))
		return PTR_ERR(chip);

	pfc->func = chip;
#endif /* CONFIG_SUPERH */

	return 0;
}

int sh_pfc_unregister_gpiochip(struct sh_pfc *pfc)
{
	gpiochip_remove(&pfc->gpio->gpio_chip);
#ifdef CONFIG_SUPERH
	gpiochip_remove(&pfc->func->gpio_chip);
#endif
	return 0;
}
+0 −3
Original line number Diff line number Diff line
@@ -207,9 +207,6 @@ struct sh_pfc {
	unsigned int nr_gpio_pins;

	struct sh_pfc_chip *gpio;
#ifdef CONFIG_SUPERH
	struct sh_pfc_chip *func;
#endif
};

struct sh_pfc_soc_operations {