Commit d39de313 authored by Laxman Dewangan's avatar Laxman Dewangan Committed by Linus Walleij
Browse files

pinctrl: spear: Use devm_pinctrl_register() for pinctrl registration



Use devm_pinctrl_register() for pin control registration and remove
need of .remove callback.

Signed-off-by: default avatarLaxman Dewangan <ldewangan@nvidia.com>
Cc: Viresh Kumar <vireshk@kernel.org>
Cc: spear-devel@list.st.com
Cc: linux-arm-kernel@lists.infradead.org
Acked-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent 67ec8d7b
Loading
Loading
Loading
Loading
+1 −10
Original line number Diff line number Diff line
@@ -395,7 +395,7 @@ int spear_pinctrl_probe(struct platform_device *pdev,
	spear_pinctrl_desc.pins = machdata->pins;
	spear_pinctrl_desc.npins = machdata->npins;

	pmx->pctl = pinctrl_register(&spear_pinctrl_desc, &pdev->dev, pmx);
	pmx->pctl = devm_pinctrl_register(&pdev->dev, &spear_pinctrl_desc, pmx);
	if (IS_ERR(pmx->pctl)) {
		dev_err(&pdev->dev, "Couldn't register pinctrl driver\n");
		return PTR_ERR(pmx->pctl);
@@ -403,12 +403,3 @@ int spear_pinctrl_probe(struct platform_device *pdev,

	return 0;
}

int spear_pinctrl_remove(struct platform_device *pdev)
{
	struct spear_pmx *pmx = platform_get_drvdata(pdev);

	pinctrl_unregister(pmx->pctl);

	return 0;
}
+0 −1
Original line number Diff line number Diff line
@@ -197,7 +197,6 @@ void pmx_init_gpio_pingroup_addr(struct spear_gpio_pingroup *gpio_pingroup,
				 unsigned count, u16 reg);
int spear_pinctrl_probe(struct platform_device *pdev,
			struct spear_pinctrl_machdata *machdata);
int spear_pinctrl_remove(struct platform_device *pdev);

#define SPEAR_PIN_0_TO_101		\
	PINCTRL_PIN(0, "PLGPIO0"),	\
+0 −6
Original line number Diff line number Diff line
@@ -2704,18 +2704,12 @@ static int spear1310_pinctrl_probe(struct platform_device *pdev)
	return spear_pinctrl_probe(pdev, &spear1310_machdata);
}

static int spear1310_pinctrl_remove(struct platform_device *pdev)
{
	return spear_pinctrl_remove(pdev);
}

static struct platform_driver spear1310_pinctrl_driver = {
	.driver = {
		.name = DRIVER_NAME,
		.of_match_table = spear1310_pinctrl_of_match,
	},
	.probe = spear1310_pinctrl_probe,
	.remove = spear1310_pinctrl_remove,
};

static int __init spear1310_pinctrl_init(void)
+0 −6
Original line number Diff line number Diff line
@@ -2020,18 +2020,12 @@ static int spear1340_pinctrl_probe(struct platform_device *pdev)
	return spear_pinctrl_probe(pdev, &spear1340_machdata);
}

static int spear1340_pinctrl_remove(struct platform_device *pdev)
{
	return spear_pinctrl_remove(pdev);
}

static struct platform_driver spear1340_pinctrl_driver = {
	.driver = {
		.name = DRIVER_NAME,
		.of_match_table = spear1340_pinctrl_of_match,
	},
	.probe = spear1340_pinctrl_probe,
	.remove = spear1340_pinctrl_remove,
};

static int __init spear1340_pinctrl_init(void)
+0 −6
Original line number Diff line number Diff line
@@ -677,18 +677,12 @@ static int spear300_pinctrl_probe(struct platform_device *pdev)
	return 0;
}

static int spear300_pinctrl_remove(struct platform_device *pdev)
{
	return spear_pinctrl_remove(pdev);
}

static struct platform_driver spear300_pinctrl_driver = {
	.driver = {
		.name = DRIVER_NAME,
		.of_match_table = spear300_pinctrl_of_match,
	},
	.probe = spear300_pinctrl_probe,
	.remove = spear300_pinctrl_remove,
};

static int __init spear300_pinctrl_init(void)
Loading