aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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");