diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2009-06-03 15:08:38 -0400 |
---|---|---|
committer | Ben Dooks <ben-linux@fluff.org> | 2009-06-16 18:30:50 -0400 |
commit | 52da219e9664e537a745877b0efa7cf2b1ff2996 (patch) | |
tree | 01550064abdc17da8904315d8d54a2e4557f1356 | |
parent | 9492b272820ac8f32a6ad4fcabd571d8305a6d47 (diff) |
[ARM] S3C64XX: Provide device for IIS ports
This allows the S3C64XX IIS drivers to be converted to the standard
driver model and allows fixes there for problems with attempting to
acquire the clocks for the IIS blocks via the clock API.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
-rw-r--r-- | arch/arm/plat-s3c/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/plat-s3c/dev-audio.c | 52 | ||||
-rw-r--r-- | arch/arm/plat-s3c/include/plat/devs.h | 4 |
3 files changed, 56 insertions, 1 deletions
diff --git a/arch/arm/plat-s3c/Makefile b/arch/arm/plat-s3c/Makefile index 610651455a78..74bb7cb5da49 100644 --- a/arch/arm/plat-s3c/Makefile +++ b/arch/arm/plat-s3c/Makefile | |||
@@ -34,6 +34,7 @@ obj-$(CONFIG_S3C_DEV_HSMMC) += dev-hsmmc.o | |||
34 | obj-$(CONFIG_S3C_DEV_HSMMC1) += dev-hsmmc1.o | 34 | obj-$(CONFIG_S3C_DEV_HSMMC1) += dev-hsmmc1.o |
35 | obj-y += dev-i2c0.o | 35 | obj-y += dev-i2c0.o |
36 | obj-$(CONFIG_S3C_DEV_I2C1) += dev-i2c1.o | 36 | obj-$(CONFIG_S3C_DEV_I2C1) += dev-i2c1.o |
37 | obj-$(CONFIG_SND_S3C24XX_SOC) += dev-audio.o | ||
37 | obj-$(CONFIG_S3C_DEV_FB) += dev-fb.o | 38 | obj-$(CONFIG_S3C_DEV_FB) += dev-fb.o |
38 | obj-$(CONFIG_S3C_DEV_USB_HOST) += dev-usb.o | 39 | obj-$(CONFIG_S3C_DEV_USB_HOST) += dev-usb.o |
39 | obj-$(CONFIG_S3C_DEV_USB_HSOTG) += dev-usb-hsotg.o | 40 | obj-$(CONFIG_S3C_DEV_USB_HSOTG) += dev-usb-hsotg.o |
diff --git a/arch/arm/plat-s3c/dev-audio.c b/arch/arm/plat-s3c/dev-audio.c new file mode 100644 index 000000000000..ccdd81584310 --- /dev/null +++ b/arch/arm/plat-s3c/dev-audio.c | |||
@@ -0,0 +1,52 @@ | |||
1 | /* linux/arch/arm/plat-s3c/dev-audio.c | ||
2 | * | ||
3 | * Copyright 2009 Wolfson Microelectronics | ||
4 | * Mark Brown <broonie@opensource.wolfsonmicro.com> | ||
5 | * | ||
6 | |||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License version 2 as | ||
9 | * published by the Free Software Foundation. | ||
10 | */ | ||
11 | |||
12 | #include <linux/kernel.h> | ||
13 | #include <linux/string.h> | ||
14 | #include <linux/platform_device.h> | ||
15 | |||
16 | #include <mach/irqs.h> | ||
17 | #include <mach/map.h> | ||
18 | |||
19 | #include <plat/devs.h> | ||
20 | |||
21 | |||
22 | static struct resource s3c64xx_iis0_resource[] = { | ||
23 | [0] = { | ||
24 | .start = S3C64XX_PA_IIS0, | ||
25 | .end = S3C64XX_PA_IIS0 + 0x100 - 1, | ||
26 | .flags = IORESOURCE_MEM, | ||
27 | }, | ||
28 | }; | ||
29 | |||
30 | struct platform_device s3c64xx_device_iis0 = { | ||
31 | .name = "s3c64xx-iis", | ||
32 | .id = 0, | ||
33 | .num_resources = ARRAY_SIZE(s3c64xx_iis0_resource), | ||
34 | .resource = s3c64xx_iis0_resource, | ||
35 | }; | ||
36 | EXPORT_SYMBOL(s3c64xx_device_iis0); | ||
37 | |||
38 | static struct resource s3c64xx_iis1_resource[] = { | ||
39 | [0] = { | ||
40 | .start = S3C64XX_PA_IIS1, | ||
41 | .end = S3C64XX_PA_IIS1 + 0x100 - 1, | ||
42 | .flags = IORESOURCE_MEM, | ||
43 | }, | ||
44 | }; | ||
45 | |||
46 | struct platform_device s3c64xx_device_iis1 = { | ||
47 | .name = "s3c64xx-iis", | ||
48 | .id = 1, | ||
49 | .num_resources = ARRAY_SIZE(s3c64xx_iis1_resource), | ||
50 | .resource = s3c64xx_iis1_resource, | ||
51 | }; | ||
52 | EXPORT_SYMBOL(s3c64xx_device_iis1); | ||
diff --git a/arch/arm/plat-s3c/include/plat/devs.h b/arch/arm/plat-s3c/include/plat/devs.h index a0b6768fddcf..91de11be274a 100644 --- a/arch/arm/plat-s3c/include/plat/devs.h +++ b/arch/arm/plat-s3c/include/plat/devs.h | |||
@@ -24,13 +24,15 @@ extern struct platform_device *s3c24xx_uart_src[]; | |||
24 | 24 | ||
25 | extern struct platform_device s3c_device_timer[]; | 25 | extern struct platform_device s3c_device_timer[]; |
26 | 26 | ||
27 | extern struct platform_device s3c64xx_device_iis0; | ||
28 | extern struct platform_device s3c64xx_device_iis1; | ||
29 | |||
27 | extern struct platform_device s3c_device_fb; | 30 | extern struct platform_device s3c_device_fb; |
28 | extern struct platform_device s3c_device_usb; | 31 | extern struct platform_device s3c_device_usb; |
29 | extern struct platform_device s3c_device_lcd; | 32 | extern struct platform_device s3c_device_lcd; |
30 | extern struct platform_device s3c_device_wdt; | 33 | extern struct platform_device s3c_device_wdt; |
31 | extern struct platform_device s3c_device_i2c0; | 34 | extern struct platform_device s3c_device_i2c0; |
32 | extern struct platform_device s3c_device_i2c1; | 35 | extern struct platform_device s3c_device_i2c1; |
33 | extern struct platform_device s3c_device_iis; | ||
34 | extern struct platform_device s3c_device_rtc; | 36 | extern struct platform_device s3c_device_rtc; |
35 | extern struct platform_device s3c_device_adc; | 37 | extern struct platform_device s3c_device_adc; |
36 | extern struct platform_device s3c_device_sdi; | 38 | extern struct platform_device s3c_device_sdi; |