diff options
author | Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> | 2009-05-15 02:11:22 -0400 |
---|---|---|
committer | Eric Miao <eric.miao@marvell.com> | 2009-05-18 09:52:09 -0400 |
commit | a81b38688f50f51123490d45d51f4a10e8dc1184 (patch) | |
tree | 42d91ab85786099bd3b857883d3f3a9b6905c156 /arch/arm/mach-pxa/spitz.c | |
parent | 866bd435819df8d97767c407f8828a7a2ff971e6 (diff) |
[ARM] pxa/spitz: provide spitz_ohci_exit() that unregisters USB_HOST GPIO
Currently spitz_ohci_init() that requests GPIO doesn't have
corresponding spitz_ohci_exit() which will gpio_free(). This causes
minor problems e.g. during resume when the OHCI device can't be resumed.
Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
Diffstat (limited to 'arch/arm/mach-pxa/spitz.c')
-rw-r--r-- | arch/arm/mach-pxa/spitz.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c index cdacea09abfa..5a45fe340a10 100644 --- a/arch/arm/mach-pxa/spitz.c +++ b/arch/arm/mach-pxa/spitz.c | |||
@@ -531,9 +531,15 @@ static int spitz_ohci_init(struct device *dev) | |||
531 | return gpio_direction_output(SPITZ_GPIO_USB_HOST, 1); | 531 | return gpio_direction_output(SPITZ_GPIO_USB_HOST, 1); |
532 | } | 532 | } |
533 | 533 | ||
534 | static void spitz_ohci_exit(struct device *dev) | ||
535 | { | ||
536 | gpio_free(SPITZ_GPIO_USB_HOST); | ||
537 | } | ||
538 | |||
534 | static struct pxaohci_platform_data spitz_ohci_platform_data = { | 539 | static struct pxaohci_platform_data spitz_ohci_platform_data = { |
535 | .port_mode = PMM_NPS_MODE, | 540 | .port_mode = PMM_NPS_MODE, |
536 | .init = spitz_ohci_init, | 541 | .init = spitz_ohci_init, |
542 | .exit = spitz_ohci_exit, | ||
537 | .flags = ENABLE_PORT_ALL | NO_OC_PROTECTION, | 543 | .flags = ENABLE_PORT_ALL | NO_OC_PROTECTION, |
538 | .power_budget = 150, | 544 | .power_budget = 150, |
539 | }; | 545 | }; |