diff options
-rw-r--r-- | arch/arm/mach-s3c2416/mach-smdk2416.c | 1 | ||||
-rw-r--r-- | arch/arm/plat-samsung/devs.c | 1 | ||||
-rw-r--r-- | arch/arm/plat-samsung/include/plat/udc.h | 15 | ||||
-rw-r--r-- | drivers/usb/gadget/s3c-hsudc.c | 2 | ||||
-rw-r--r-- | include/linux/platform_data/s3c-hsudc.h | 34 |
5 files changed, 38 insertions, 15 deletions
diff --git a/arch/arm/mach-s3c2416/mach-smdk2416.c b/arch/arm/mach-s3c2416/mach-smdk2416.c index a9eee531ca76..6345bcbf5c73 100644 --- a/arch/arm/mach-s3c2416/mach-smdk2416.c +++ b/arch/arm/mach-s3c2416/mach-smdk2416.c | |||
@@ -50,6 +50,7 @@ | |||
50 | #include <plat/nand.h> | 50 | #include <plat/nand.h> |
51 | #include <plat/sdhci.h> | 51 | #include <plat/sdhci.h> |
52 | #include <plat/udc.h> | 52 | #include <plat/udc.h> |
53 | #include <linux/platform_data/s3c-hsudc.h> | ||
53 | 54 | ||
54 | #include <plat/regs-fb-v4.h> | 55 | #include <plat/regs-fb-v4.h> |
55 | #include <plat/fb.h> | 56 | #include <plat/fb.h> |
diff --git a/arch/arm/plat-samsung/devs.c b/arch/arm/plat-samsung/devs.c index 4ca8b571f971..92b4c025d37a 100644 --- a/arch/arm/plat-samsung/devs.c +++ b/arch/arm/plat-samsung/devs.c | |||
@@ -29,6 +29,7 @@ | |||
29 | #include <linux/mtd/partitions.h> | 29 | #include <linux/mtd/partitions.h> |
30 | #include <linux/mmc/host.h> | 30 | #include <linux/mmc/host.h> |
31 | #include <linux/ioport.h> | 31 | #include <linux/ioport.h> |
32 | #include <linux/platform_data/s3c-hsudc.h> | ||
32 | 33 | ||
33 | #include <asm/irq.h> | 34 | #include <asm/irq.h> |
34 | #include <asm/pmu.h> | 35 | #include <asm/pmu.h> |
diff --git a/arch/arm/plat-samsung/include/plat/udc.h b/arch/arm/plat-samsung/include/plat/udc.h index 8c22d586befb..de8e2288a509 100644 --- a/arch/arm/plat-samsung/include/plat/udc.h +++ b/arch/arm/plat-samsung/include/plat/udc.h | |||
@@ -37,20 +37,7 @@ struct s3c2410_udc_mach_info { | |||
37 | 37 | ||
38 | extern void __init s3c24xx_udc_set_platdata(struct s3c2410_udc_mach_info *); | 38 | extern void __init s3c24xx_udc_set_platdata(struct s3c2410_udc_mach_info *); |
39 | 39 | ||
40 | /** | 40 | struct s3c24xx_hsudc_platdata; |
41 | * s3c24xx_hsudc_platdata - Platform data for USB High-Speed gadget controller. | ||
42 | * @epnum: Number of endpoints to be instantiated by the controller driver. | ||
43 | * @gpio_init: Platform specific USB related GPIO initialization. | ||
44 | * @gpio_uninit: Platform specific USB releted GPIO uninitialzation. | ||
45 | * | ||
46 | * Representation of platform data for the S3C24XX USB 2.0 High Speed gadget | ||
47 | * controllers. | ||
48 | */ | ||
49 | struct s3c24xx_hsudc_platdata { | ||
50 | unsigned int epnum; | ||
51 | void (*gpio_init)(void); | ||
52 | void (*gpio_uninit)(void); | ||
53 | }; | ||
54 | 41 | ||
55 | extern void __init s3c24xx_hsudc_set_platdata(struct s3c24xx_hsudc_platdata *pd); | 42 | extern void __init s3c24xx_hsudc_set_platdata(struct s3c24xx_hsudc_platdata *pd); |
56 | 43 | ||
diff --git a/drivers/usb/gadget/s3c-hsudc.c b/drivers/usb/gadget/s3c-hsudc.c index f398b8590f9c..2f9f8409031b 100644 --- a/drivers/usb/gadget/s3c-hsudc.c +++ b/drivers/usb/gadget/s3c-hsudc.c | |||
@@ -28,9 +28,9 @@ | |||
28 | #include <linux/usb/gadget.h> | 28 | #include <linux/usb/gadget.h> |
29 | #include <linux/usb/otg.h> | 29 | #include <linux/usb/otg.h> |
30 | #include <linux/prefetch.h> | 30 | #include <linux/prefetch.h> |
31 | #include <linux/platform_data/s3c-hsudc.h> | ||
31 | 32 | ||
32 | #include <mach/regs-s3c2443-clock.h> | 33 | #include <mach/regs-s3c2443-clock.h> |
33 | #include <plat/udc.h> | ||
34 | 34 | ||
35 | #define S3C_HSUDC_REG(x) (x) | 35 | #define S3C_HSUDC_REG(x) (x) |
36 | 36 | ||
diff --git a/include/linux/platform_data/s3c-hsudc.h b/include/linux/platform_data/s3c-hsudc.h new file mode 100644 index 000000000000..6fa109339bf9 --- /dev/null +++ b/include/linux/platform_data/s3c-hsudc.h | |||
@@ -0,0 +1,34 @@ | |||
1 | /* | ||
2 | * S3C24XX USB 2.0 High-speed USB controller gadget driver | ||
3 | * | ||
4 | * Copyright (c) 2010 Samsung Electronics Co., Ltd. | ||
5 | * http://www.samsung.com/ | ||
6 | * | ||
7 | * The S3C24XX USB 2.0 high-speed USB controller supports upto 9 endpoints. | ||
8 | * Each endpoint can be configured as either in or out endpoint. Endpoints | ||
9 | * can be configured for Bulk or Interrupt transfer mode. | ||
10 | * | ||
11 | * This program is free software; you can redistribute it and/or modify | ||
12 | * it under the terms of the GNU General Public License version 2 as | ||
13 | * published by the Free Software Foundation. | ||
14 | */ | ||
15 | |||
16 | #ifndef __LINUX_USB_S3C_HSUDC_H | ||
17 | #define __LINUX_USB_S3C_HSUDC_H | ||
18 | |||
19 | /** | ||
20 | * s3c24xx_hsudc_platdata - Platform data for USB High-Speed gadget controller. | ||
21 | * @epnum: Number of endpoints to be instantiated by the controller driver. | ||
22 | * @gpio_init: Platform specific USB related GPIO initialization. | ||
23 | * @gpio_uninit: Platform specific USB releted GPIO uninitialzation. | ||
24 | * | ||
25 | * Representation of platform data for the S3C24XX USB 2.0 High Speed gadget | ||
26 | * controllers. | ||
27 | */ | ||
28 | struct s3c24xx_hsudc_platdata { | ||
29 | unsigned int epnum; | ||
30 | void (*gpio_init)(void); | ||
31 | void (*gpio_uninit)(void); | ||
32 | }; | ||
33 | |||
34 | #endif /* __LINUX_USB_S3C_HSUDC_H */ | ||