diff options
-rw-r--r-- | arch/arm/mach-pxa/Makefile | 2 | ||||
-rw-r--r-- | arch/arm/mach-pxa/e330.c | 7 | ||||
-rw-r--r-- | arch/arm/mach-pxa/e350.c | 7 | ||||
-rw-r--r-- | arch/arm/mach-pxa/e400.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-pxa/e740.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-pxa/e750.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-pxa/e800.c | 11 | ||||
-rw-r--r-- | arch/arm/mach-pxa/eseries.c | 8 | ||||
-rw-r--r-- | arch/arm/mach-pxa/eseries.h | 1 | ||||
-rw-r--r-- | arch/arm/mach-pxa/eseries_udc.c | 57 |
10 files changed, 41 insertions, 58 deletions
diff --git a/arch/arm/mach-pxa/Makefile b/arch/arm/mach-pxa/Makefile index b536a50c150..5ca73a22439 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 2f4555e2fb9..d488eded205 100644 --- a/arch/arm/mach-pxa/e330.c +++ b/arch/arm/mach-pxa/e330.c @@ -19,10 +19,16 @@ #include <mach/mfp-pxa25x.h> #include <mach/hardware.h> +#include <mach/udc.h> #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 5d58deb7eff..8ecbc547982 100644 --- a/arch/arm/mach-pxa/e350.c +++ b/arch/arm/mach-pxa/e350.c @@ -19,10 +19,16 @@ #include <mach/mfp-pxa25x.h> #include <mach/hardware.h> +#include <mach/udc.h> #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 0bcf9ece3d3..544bbaa2062 100644 --- a/arch/arm/mach-pxa/e400.c +++ b/arch/arm/mach-pxa/e400.c @@ -22,6 +22,7 @@ #include <mach/hardware.h> #include <mach/pxafb.h> +#include <mach/udc.h> #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 ef0c3c80e79..c57a15b37f0 100644 --- a/arch/arm/mach-pxa/e740.c +++ b/arch/arm/mach-pxa/e740.c @@ -24,6 +24,7 @@ #include <mach/mfp-pxa25x.h> #include <mach/hardware.h> +#include <mach/udc.h> #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 7e9a21dddd4..640e738b85d 100644 --- a/arch/arm/mach-pxa/e750.c +++ b/arch/arm/mach-pxa/e750.c @@ -24,6 +24,7 @@ #include <mach/mfp-pxa25x.h> #include <mach/hardware.h> +#include <mach/udc.h> #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 2f5e9061954..a293e09bfe2 100644 --- a/arch/arm/mach-pxa/e800.c +++ b/arch/arm/mach-pxa/e800.c @@ -24,6 +24,8 @@ #include <mach/mfp-pxa25x.h> #include <mach/hardware.h> +#include <mach/eseries-gpio.h> +#include <mach/udc.h> #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 1872faa11a2..d28849b50a1 100644 --- a/arch/arm/mach-pxa/eseries.c +++ b/arch/arm/mach-pxa/eseries.c @@ -19,6 +19,8 @@ #include <mach/mfp-pxa25x.h> #include <mach/hardware.h> +#include <mach/eseries-gpio.h> +#include <mach/udc.h> #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 bc74e21d054..a83f88d4b6a 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 d622c04c0d4..00000000000 --- 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 <linux/kernel.h> -#include <linux/init.h> -#include <linux/device.h> - -#include <mach/udc.h> -#include <mach/eseries-gpio.h> -#include <mach/hardware.h> -#include <mach/pxa-regs.h> -#include <asm/mach/arch.h> -#include <asm/mach-types.h> -#include <asm/mach/map.h> -#include <asm/domain.h> - -/* 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 <spyro@f2s.com>"); -MODULE_DESCRIPTION("eseries UDC support"); -MODULE_LICENSE("GPLv2"); |