Commit bf44ce83 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'pinctrl-fixes-for-v3.6-rc1' of...

Merge tag 'pinctrl-fixes-for-v3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl

Pull pinctrl fixes from Linus Walleij:
 - Move MXS pinctrl registration to poscore_initcall
 - Fix up various devm_* managed resources code paths
 - Fix one function group in the Nomadik driver
 - Update MAINTAINERS

* tag 'pinctrl-fixes-for-v3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
  drivers/pinctrl/pinctrl-nomadik.c: drop devm_kfree of devm_kzalloc'd data
  MAINTAINERS: fix a few pinctrl related entries
  pinctrl-sirf: remove devm_kfree at error path
  pinctrl/nomadik: fix hsi function group list
  pinctrl/pinctrl-u300: remove unneeded devm_kfree call
  pinctrl: mxs: register driver at postcore_initcall time
parents 7f46f9c1 75c353ec
...@@ -5329,14 +5329,15 @@ PIN CONTROL SUBSYSTEM ...@@ -5329,14 +5329,15 @@ PIN CONTROL SUBSYSTEM
M: Linus Walleij <linus.walleij@linaro.org> M: Linus Walleij <linus.walleij@linaro.org>
S: Maintained S: Maintained
F: drivers/pinctrl/ F: drivers/pinctrl/
F: include/linux/pinctrl/
PIN CONTROLLER - ST SPEAR PIN CONTROLLER - ST SPEAR
M: Viresh Kumar <viresh.linux@gmail.com> M: Viresh Kumar <viresh.linux@gmail.com>
L: spear-devel@list.st.com L: spear-devel@list.st.com
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
W: http://www.st.com/spear W: http://www.st.com/spear
S: Maintained S: Maintained
F: driver/pinctrl/spear/ F: drivers/pinctrl/spear/
PKTCDVD DRIVER PKTCDVD DRIVER
M: Peter Osterlund <petero2@telia.com> M: Peter Osterlund <petero2@telia.com>
......
...@@ -292,7 +292,7 @@ static int __init imx23_pinctrl_init(void) ...@@ -292,7 +292,7 @@ static int __init imx23_pinctrl_init(void)
{ {
return platform_driver_register(&imx23_pinctrl_driver); return platform_driver_register(&imx23_pinctrl_driver);
} }
arch_initcall(imx23_pinctrl_init); postcore_initcall(imx23_pinctrl_init);
static void __exit imx23_pinctrl_exit(void) static void __exit imx23_pinctrl_exit(void)
{ {
......
...@@ -408,7 +408,7 @@ static int __init imx28_pinctrl_init(void) ...@@ -408,7 +408,7 @@ static int __init imx28_pinctrl_init(void)
{ {
return platform_driver_register(&imx28_pinctrl_driver); return platform_driver_register(&imx28_pinctrl_driver);
} }
arch_initcall(imx28_pinctrl_init); postcore_initcall(imx28_pinctrl_init);
static void __exit imx28_pinctrl_exit(void) static void __exit imx28_pinctrl_exit(void)
{ {
......
...@@ -766,7 +766,7 @@ DB8500_FUNC_GROUPS(ipgpio, "ipgpio0_a_1", "ipgpio1_a_1", "ipgpio7_b_1", ...@@ -766,7 +766,7 @@ DB8500_FUNC_GROUPS(ipgpio, "ipgpio0_a_1", "ipgpio1_a_1", "ipgpio7_b_1",
DB8500_FUNC_GROUPS(msp2, "msp2sck_a_1", "msp2_a_1"); DB8500_FUNC_GROUPS(msp2, "msp2sck_a_1", "msp2_a_1");
DB8500_FUNC_GROUPS(mc4, "mc4_a_1", "mc4rstn_c_1"); DB8500_FUNC_GROUPS(mc4, "mc4_a_1", "mc4rstn_c_1");
DB8500_FUNC_GROUPS(mc1, "mc1_a_1", "mc1dir_a_1"); DB8500_FUNC_GROUPS(mc1, "mc1_a_1", "mc1dir_a_1");
DB8500_FUNC_GROUPS(hsi, "hsir1_a_1", "hsit1_a_1", "hsit_a_2"); DB8500_FUNC_GROUPS(hsi, "hsir_a_1", "hsit_a_1", "hsit_a_2");
DB8500_FUNC_GROUPS(clkout, "clkout_a_1", "clkout_a_2", "clkout_c_1"); DB8500_FUNC_GROUPS(clkout, "clkout_a_1", "clkout_a_2", "clkout_c_1");
DB8500_FUNC_GROUPS(usb, "usb_a_1"); DB8500_FUNC_GROUPS(usb, "usb_a_1");
DB8500_FUNC_GROUPS(trig, "trig_b_1"); DB8500_FUNC_GROUPS(trig, "trig_b_1");
......
...@@ -1731,7 +1731,6 @@ static int __devinit nmk_pinctrl_probe(struct platform_device *pdev) ...@@ -1731,7 +1731,6 @@ static int __devinit nmk_pinctrl_probe(struct platform_device *pdev)
for (i = 0; i < npct->soc->gpio_num_ranges; i++) { for (i = 0; i < npct->soc->gpio_num_ranges; i++) {
if (!nmk_gpio_chips[i]) { if (!nmk_gpio_chips[i]) {
dev_warn(&pdev->dev, "GPIO chip %d not registered yet\n", i); dev_warn(&pdev->dev, "GPIO chip %d not registered yet\n", i);
devm_kfree(&pdev->dev, npct);
return -EPROBE_DEFER; return -EPROBE_DEFER;
} }
npct->soc->gpio_ranges[i].gc = &nmk_gpio_chips[i]->chip; npct->soc->gpio_ranges[i].gc = &nmk_gpio_chips[i]->chip;
......
...@@ -1217,7 +1217,6 @@ static int __devinit sirfsoc_pinmux_probe(struct platform_device *pdev) ...@@ -1217,7 +1217,6 @@ static int __devinit sirfsoc_pinmux_probe(struct platform_device *pdev)
iounmap(spmx->gpio_virtbase); iounmap(spmx->gpio_virtbase);
out_no_gpio_remap: out_no_gpio_remap:
platform_set_drvdata(pdev, NULL); platform_set_drvdata(pdev, NULL);
devm_kfree(&pdev->dev, spmx);
return ret; return ret;
} }
......
...@@ -1121,10 +1121,8 @@ static int __devinit u300_pmx_probe(struct platform_device *pdev) ...@@ -1121,10 +1121,8 @@ static int __devinit u300_pmx_probe(struct platform_device *pdev)
upmx->dev = &pdev->dev; upmx->dev = &pdev->dev;
res = platform_get_resource(pdev, IORESOURCE_MEM, 0); res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
if (!res) { if (!res)
ret = -ENOENT; return -ENOENT;
goto out_no_resource;
}
upmx->phybase = res->start; upmx->phybase = res->start;
upmx->physize = resource_size(res); upmx->physize = resource_size(res);
...@@ -1165,8 +1163,6 @@ static int __devinit u300_pmx_probe(struct platform_device *pdev) ...@@ -1165,8 +1163,6 @@ static int __devinit u300_pmx_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, NULL); platform_set_drvdata(pdev, NULL);
out_no_memregion: out_no_memregion:
release_mem_region(upmx->phybase, upmx->physize); release_mem_region(upmx->phybase, upmx->physize);
out_no_resource:
devm_kfree(&pdev->dev, upmx);
return ret; return ret;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment