Message ID | 20160719003030.26420-1-paul.gortmaker@windriver.com |
---|---|
State | New |
Headers | show |
Hi Paul, On Mon, 18 Jul 2016 20:30:30 -0400, Paul Gortmaker wrote: > This reverts commit b8c2b10a9bc0272a20e096852f8fbbf361749dda. > > This patch was in my queue at the same time that a conversion of > the same driver from bool --> tristate was pending and merged. > > That is commit 337ea0fb1535 ("pinctrl: Turn AMD support to tristate") I can't find this commit anywhere, but I would certainly prefer this to making the driver non-modular. So I vote in favor of this revert. Acked-by: Jean Delvare <jdelvare@suse.de> Thanks,
[Re: [PATCH] Revert "pinctrl: amd: make it explicitly non-modular"] On 19/07/2016 (Tue 10:46) Jean Delvare wrote: > Hi Paul, > > On Mon, 18 Jul 2016 20:30:30 -0400, Paul Gortmaker wrote: > > This reverts commit b8c2b10a9bc0272a20e096852f8fbbf361749dda. > > > > This patch was in my queue at the same time that a conversion of > > the same driver from bool --> tristate was pending and merged. > > > > That is commit 337ea0fb1535 ("pinctrl: Turn AMD support to tristate") > > I can't find this commit anywhere, but I would certainly prefer this to > making the driver non-modular. So I vote in favor of this revert. It is a mainline commit, so I guess you need to pull in the last couple months of commits... paul@builder-02:~/git/linux-head$ git describe --contains 337ea0fb1535 v4.6-rc1~149^2~35 paul@builder-02:~/git/linux-head$ git show v4.6-rc1~149 commit 5ca5446ec5ba5e79a6f271cd026bb153d6850fcc Merge: 710d60cbf1b3 3c177a166253 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Tue Mar 15 20:23:13 2016 -0700 Merge tag 'pinctrl-v4.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl Pull pin control updates from Linus Walleij: I didn't bother marking it for 4.6 stable since it used to be builtin only and even with the crossed patches, it still would have been builtin; it just wouldn't respect the newly available tristate option if chosen. Thanks, Paul.
Hi Paul, On Tue, 19 Jul 2016 09:44:40 -0400, Paul Gortmaker wrote: > [Re: [PATCH] Revert "pinctrl: amd: make it explicitly non-modular"] On 19/07/2016 (Tue 10:46) Jean Delvare wrote: > > On Mon, 18 Jul 2016 20:30:30 -0400, Paul Gortmaker wrote: > > > This reverts commit b8c2b10a9bc0272a20e096852f8fbbf361749dda. > > > > > > This patch was in my queue at the same time that a conversion of > > > the same driver from bool --> tristate was pending and merged. > > > > > > That is commit 337ea0fb1535 ("pinctrl: Turn AMD support to tristate") > > > > I can't find this commit anywhere, but I would certainly prefer this to > > making the driver non-modular. So I vote in favor of this revert. > > It is a mainline commit, so I guess you need to pull in the last couple > months of commits... Oops, my bad, I was expecting something a lot more recent. > > paul@builder-02:~/git/linux-head$ git describe --contains 337ea0fb1535 > v4.6-rc1~149^2~35 > paul@builder-02:~/git/linux-head$ git show v4.6-rc1~149 > commit 5ca5446ec5ba5e79a6f271cd026bb153d6850fcc > Merge: 710d60cbf1b3 3c177a166253 > Author: Linus Torvalds <torvalds@linux-foundation.org> > Date: Tue Mar 15 20:23:13 2016 -0700 > > Merge tag 'pinctrl-v4.6-1' of > git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl > > Pull pin control updates from Linus Walleij: Ah ah, now I see the commit is from me. How is it possible to have such bad memory :*D > I didn't bother marking it for 4.6 stable since it used to be builtin > only and even with the crossed patches, it still would have been builtin; > it just wouldn't respect the newly available tristate option if chosen. I agree, it's no stable material. I'm happy it's finally sorted out, thanks.
On Tue, Jul 19, 2016 at 2:30 AM, Paul Gortmaker <paul.gortmaker@windriver.com> wrote: > This reverts commit b8c2b10a9bc0272a20e096852f8fbbf361749dda. > > This patch was in my queue at the same time that a conversion of > the same driver from bool --> tristate was pending and merged. > > That is commit 337ea0fb1535 ("pinctrl: Turn AMD support to tristate") > > Normally the conflict would show up in the build coverage I do, > however in this case an avoidable instance of linux/module.h in > linux/gpio/driver.h (!) causes the build failure to be masked and > instead the tristate gets built-in even for selected "=m". > > In working on removing module.h from driver.h this issue was then > revealed (along with other implicit module.h assumptions in gpio, > and mfd -- which will be fixed separately.) > > Cc: Jean Delvare <jdelvare@suse.de> > Cc: Linus Walleij <linus.walleij@linaro.org> > Cc: linux-gpio@vger.kernel.org > Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Patch applied with Jean's ACK. Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/pinctrl/pinctrl-amd.c b/drivers/pinctrl/pinctrl-amd.c index b466d70b9004..634b4d30eefb 100644 --- a/drivers/pinctrl/pinctrl-amd.c +++ b/drivers/pinctrl/pinctrl-amd.c @@ -13,7 +13,7 @@ #include <linux/err.h> #include <linux/bug.h> #include <linux/kernel.h> -#include <linux/init.h> +#include <linux/module.h> #include <linux/spinlock.h> #include <linux/compiler.h> #include <linux/types.h> @@ -828,18 +828,35 @@ out2: return ret; } +static int amd_gpio_remove(struct platform_device *pdev) +{ + struct amd_gpio *gpio_dev; + + gpio_dev = platform_get_drvdata(pdev); + + gpiochip_remove(&gpio_dev->gc); + + return 0; +} + static const struct acpi_device_id amd_gpio_acpi_match[] = { { "AMD0030", 0 }, { "AMDI0030", 0}, { }, }; +MODULE_DEVICE_TABLE(acpi, amd_gpio_acpi_match); static struct platform_driver amd_gpio_driver = { .driver = { .name = "amd_gpio", - .suppress_bind_attrs = true, .acpi_match_table = ACPI_PTR(amd_gpio_acpi_match), }, .probe = amd_gpio_probe, + .remove = amd_gpio_remove, }; -builtin_platform_driver(amd_gpio_driver); + +module_platform_driver(amd_gpio_driver); + +MODULE_LICENSE("GPL v2"); +MODULE_AUTHOR("Ken Xue <Ken.Xue@amd.com>, Jeff Wu <Jeff.Wu@amd.com>"); +MODULE_DESCRIPTION("AMD GPIO pinctrl driver");
This reverts commit b8c2b10a9bc0272a20e096852f8fbbf361749dda. This patch was in my queue at the same time that a conversion of the same driver from bool --> tristate was pending and merged. That is commit 337ea0fb1535 ("pinctrl: Turn AMD support to tristate") Normally the conflict would show up in the build coverage I do, however in this case an avoidable instance of linux/module.h in linux/gpio/driver.h (!) causes the build failure to be masked and instead the tristate gets built-in even for selected "=m". In working on removing module.h from driver.h this issue was then revealed (along with other implicit module.h assumptions in gpio, and mfd -- which will be fixed separately.) Cc: Jean Delvare <jdelvare@suse.de> Cc: Linus Walleij <linus.walleij@linaro.org> Cc: linux-gpio@vger.kernel.org Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> --- drivers/pinctrl/pinctrl-amd.c | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-)