From ebcce7b13be837616a3f9d996f637cf3241e3948 Mon Sep 17 00:00:00 2001 From: Ian Molton Date: Tue, 19 Aug 2008 13:34:56 +0100 Subject: [ARM] eseries: move UDC defs to machine files This patchset moves the UDC definitons for e7xx compatible eseries machines to a common location and moves the 'oddball' e800 definition to its machine file. Signed-off-by: Ian Molton diff --git a/arch/arm/mach-pxa/Makefile b/arch/arm/mach-pxa/Makefile index b536a50..5ca73a2 100644 --- a/arch/arm/mach-pxa/Makefile +++ b/arch/arm/mach-pxa/Makefile @@ -37,7 +37,7 @@ obj-$(CONFIG_MACH_PCM990_BASEBOARD) += pcm990-baseboard.o obj-$(CONFIG_MACH_TOSA) += tosa.o obj-$(CONFIG_MACH_EM_X270) += em-x270.o obj-$(CONFIG_MACH_MAGICIAN) += magician.o -obj-$(CONFIG_ARCH_PXA_ESERIES) += eseries.o eseries_udc.o +obj-$(CONFIG_ARCH_PXA_ESERIES) += eseries.o obj-$(CONFIG_MACH_E330) += e330.o obj-$(CONFIG_MACH_E350) += e350.o obj-$(CONFIG_MACH_E740) += e740.o diff --git a/arch/arm/mach-pxa/e330.c b/arch/arm/mach-pxa/e330.c index 2f4555e..d488ede 100644 --- a/arch/arm/mach-pxa/e330.c +++ b/arch/arm/mach-pxa/e330.c @@ -19,10 +19,16 @@ #include #include +#include #include "generic.h" #include "eseries.h" +static void __init e330_init(void) +{ + pxa_set_udc_info(&e7xx_udc_mach_info); +} + MACHINE_START(E330, "Toshiba e330") /* Maintainer: Ian Molton (spyro@f2s.com) */ .phys_io = 0x40000000, @@ -31,6 +37,7 @@ MACHINE_START(E330, "Toshiba e330") .map_io = pxa_map_io, .init_irq = pxa25x_init_irq, .fixup = eseries_fixup, + .init_machine = e330_init, .timer = &pxa_timer, MACHINE_END diff --git a/arch/arm/mach-pxa/e350.c b/arch/arm/mach-pxa/e350.c index 5d58deb..8ecbc54 100644 --- a/arch/arm/mach-pxa/e350.c +++ b/arch/arm/mach-pxa/e350.c @@ -19,10 +19,16 @@ #include #include +#include #include "generic.h" #include "eseries.h" +static void __init e350_init(void) +{ + pxa_set_udc_info(&e7xx_udc_mach_info); +} + MACHINE_START(E350, "Toshiba e350") /* Maintainer: Ian Molton (spyro@f2s.com) */ .phys_io = 0x40000000, @@ -31,6 +37,7 @@ MACHINE_START(E350, "Toshiba e350") .map_io = pxa_map_io, .init_irq = pxa25x_init_irq, .fixup = eseries_fixup, + .init_machine = e350_init, .timer = &pxa_timer, MACHINE_END diff --git a/arch/arm/mach-pxa/e400.c b/arch/arm/mach-pxa/e400.c index 0bcf9ec..544bbaa 100644 --- a/arch/arm/mach-pxa/e400.c +++ b/arch/arm/mach-pxa/e400.c @@ -22,6 +22,7 @@ #include #include +#include #include "generic.h" #include "eseries.h" @@ -76,6 +77,7 @@ static void __init e400_init(void) { pxa2xx_mfp_config(ARRAY_AND_SIZE(e400_pin_config)); set_pxa_fb_info(&e400_pxafb_mach_info); + pxa_set_udc_info(&e7xx_udc_mach_info); } MACHINE_START(E400, "Toshiba e400") diff --git a/arch/arm/mach-pxa/e740.c b/arch/arm/mach-pxa/e740.c index ef0c3c8..c57a15b 100644 --- a/arch/arm/mach-pxa/e740.c +++ b/arch/arm/mach-pxa/e740.c @@ -24,6 +24,7 @@ #include #include +#include #include "generic.h" #include "eseries.h" @@ -151,6 +152,7 @@ static void __init e740_init(void) { pxa2xx_mfp_config(ARRAY_AND_SIZE(e740_pin_config)); platform_add_devices(devices, ARRAY_SIZE(devices)); + pxa_set_udc_info(&e7xx_udc_mach_info); } MACHINE_START(E740, "Toshiba e740") diff --git a/arch/arm/mach-pxa/e750.c b/arch/arm/mach-pxa/e750.c index 7e9a21d..640e738 100644 --- a/arch/arm/mach-pxa/e750.c +++ b/arch/arm/mach-pxa/e750.c @@ -24,6 +24,7 @@ #include #include +#include #include "generic.h" #include "eseries.h" @@ -108,6 +109,7 @@ static struct platform_device *devices[] __initdata = { static void __init e750_init(void) { platform_add_devices(devices, ARRAY_SIZE(devices)); + pxa_set_udc_info(&e7xx_udc_mach_info); } MACHINE_START(E750, "Toshiba e750") diff --git a/arch/arm/mach-pxa/e800.c b/arch/arm/mach-pxa/e800.c index 2f5e906..a293e09 100644 --- a/arch/arm/mach-pxa/e800.c +++ b/arch/arm/mach-pxa/e800.c @@ -24,6 +24,8 @@ #include #include +#include +#include #include "generic.h" #include "eseries.h" @@ -150,6 +152,14 @@ static struct platform_device e800_fb_device = { .resource = e800_fb_resources, }; +/* --------------------------- UDC definitions --------------------------- */ + +static struct pxa2xx_udc_mach_info e800_udc_mach_info = { + .gpio_vbus = GPIO_E800_USB_DISC, + .gpio_pullup = GPIO_E800_USB_PULLUP, + .gpio_pullup_inverted = 1 +}; + /* ----------------------------------------------------------------------- */ static struct platform_device *devices[] __initdata = { @@ -159,6 +169,7 @@ static struct platform_device *devices[] __initdata = { static void __init e800_init(void) { platform_add_devices(devices, ARRAY_SIZE(devices)); + pxa_set_udc_info(&e800_udc_mach_info); } MACHINE_START(E800, "Toshiba e800") diff --git a/arch/arm/mach-pxa/eseries.c b/arch/arm/mach-pxa/eseries.c index 1872faa..d28849b 100644 --- a/arch/arm/mach-pxa/eseries.c +++ b/arch/arm/mach-pxa/eseries.c @@ -19,6 +19,8 @@ #include #include +#include +#include #include "generic.h" @@ -35,3 +37,9 @@ void __init eseries_fixup(struct machine_desc *desc, mi->bank[0].size = (64*1024*1024); } +struct pxa2xx_udc_mach_info e7xx_udc_mach_info = { + .gpio_vbus = GPIO_E7XX_USB_DISC, + .gpio_pullup = GPIO_E7XX_USB_PULLUP, + .gpio_pullup_inverted = 1 +}; + diff --git a/arch/arm/mach-pxa/eseries.h b/arch/arm/mach-pxa/eseries.h index bc74e21..a83f88d 100644 --- a/arch/arm/mach-pxa/eseries.h +++ b/arch/arm/mach-pxa/eseries.h @@ -1,3 +1,4 @@ void __init eseries_fixup(struct machine_desc *desc, struct tag *tags, char **cmdline, struct meminfo *mi); +extern struct pxa2xx_udc_mach_info e7xx_udc_mach_info; diff --git a/arch/arm/mach-pxa/eseries_udc.c b/arch/arm/mach-pxa/eseries_udc.c deleted file mode 100644 index d622c04..0000000 --- a/arch/arm/mach-pxa/eseries_udc.c +++ /dev/null @@ -1,57 +0,0 @@ -/* - * UDC functions for the Toshiba e-series PDAs - * - * Copyright (c) Ian Molton 2003 - * - * This file is licensed under - * the terms of the GNU General Public License version 2. This program - * is licensed "as is" without any warranty of any kind, whether express - * or implied. - * - */ - -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -/* local PXA generic code */ -#include "generic.h" - -static struct pxa2xx_udc_mach_info e7xx_udc_mach_info = { - .gpio_vbus = GPIO_E7XX_USB_DISC, - .gpio_pullup = GPIO_E7XX_USB_PULLUP, - .gpio_pullup_inverted = 1 -}; - -static struct pxa2xx_udc_mach_info e800_udc_mach_info = { - .gpio_vbus = GPIO_E800_USB_DISC, - .gpio_pullup = GPIO_E800_USB_PULLUP, - .gpio_pullup_inverted = 1 -}; - -static int __init eseries_udc_init(void) -{ - if (machine_is_e330() || machine_is_e350() || - machine_is_e740() || machine_is_e750() || - machine_is_e400()) - pxa_set_udc_info(&e7xx_udc_mach_info); - else if (machine_is_e800()) - pxa_set_udc_info(&e800_udc_mach_info); - - return 0; -} - -module_init(eseries_udc_init); - -MODULE_AUTHOR("Ian Molton "); -MODULE_DESCRIPTION("eseries UDC support"); -MODULE_LICENSE("GPLv2"); -- cgit v0.10.2