aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Gortmaker <paul.gortmaker@windriver.com>2016-07-18 20:30:30 -0400
committerLinus Walleij <linus.walleij@linaro.org>2016-07-22 11:26:10 -0400
commitb9416498d68980387ff7094785d9a49ebfa53f10 (patch)
tree81f9aba3a03f35cdf2f5500a41161a7de2a2af06
parentf58de3d96a73e05b5bb67be517e6e87c6234fef0 (diff)
Revert "pinctrl: amd: make it explicitly non-modular"
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: linux-gpio@vger.kernel.org Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Acked-by: Jean Delvare <jdelvare@suse.de> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
-rw-r--r--drivers/pinctrl/pinctrl-amd.c23
1 files changed, 20 insertions, 3 deletions
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 @@
13#include <linux/err.h> 13#include <linux/err.h>
14#include <linux/bug.h> 14#include <linux/bug.h>
15#include <linux/kernel.h> 15#include <linux/kernel.h>
16#include <linux/init.h> 16#include <linux/module.h>
17#include <linux/spinlock.h> 17#include <linux/spinlock.h>
18#include <linux/compiler.h> 18#include <linux/compiler.h>
19#include <linux/types.h> 19#include <linux/types.h>
@@ -828,18 +828,35 @@ out2:
828 return ret; 828 return ret;
829} 829}
830 830
831static int amd_gpio_remove(struct platform_device *pdev)
832{
833 struct amd_gpio *gpio_dev;
834
835 gpio_dev = platform_get_drvdata(pdev);
836
837 gpiochip_remove(&gpio_dev->gc);
838
839 return 0;
840}
841
831static const struct acpi_device_id amd_gpio_acpi_match[] = { 842static const struct acpi_device_id amd_gpio_acpi_match[] = {
832 { "AMD0030", 0 }, 843 { "AMD0030", 0 },
833 { "AMDI0030", 0}, 844 { "AMDI0030", 0},
834 { }, 845 { },
835}; 846};
847MODULE_DEVICE_TABLE(acpi, amd_gpio_acpi_match);
836 848
837static struct platform_driver amd_gpio_driver = { 849static struct platform_driver amd_gpio_driver = {
838 .driver = { 850 .driver = {
839 .name = "amd_gpio", 851 .name = "amd_gpio",
840 .suppress_bind_attrs = true,
841 .acpi_match_table = ACPI_PTR(amd_gpio_acpi_match), 852 .acpi_match_table = ACPI_PTR(amd_gpio_acpi_match),
842 }, 853 },
843 .probe = amd_gpio_probe, 854 .probe = amd_gpio_probe,
855 .remove = amd_gpio_remove,
844}; 856};
845builtin_platform_driver(amd_gpio_driver); 857
858module_platform_driver(amd_gpio_driver);
859
860MODULE_LICENSE("GPL v2");
861MODULE_AUTHOR("Ken Xue <Ken.Xue@amd.com>, Jeff Wu <Jeff.Wu@amd.com>");
862MODULE_DESCRIPTION("AMD GPIO pinctrl driver");