diff options
Diffstat (limited to 'arch/arm/mach-pxa/lubbock.c')
-rw-r--r-- | arch/arm/mach-pxa/lubbock.c | 30 |
1 files changed, 9 insertions, 21 deletions
diff --git a/arch/arm/mach-pxa/lubbock.c b/arch/arm/mach-pxa/lubbock.c index 1d3112dc629e..e7ae4bb3e361 100644 --- a/arch/arm/mach-pxa/lubbock.c +++ b/arch/arm/mach-pxa/lubbock.c | |||
@@ -41,6 +41,7 @@ | |||
41 | #include <asm/hardware/sa1111.h> | 41 | #include <asm/hardware/sa1111.h> |
42 | 42 | ||
43 | #include <asm/arch/pxa-regs.h> | 43 | #include <asm/arch/pxa-regs.h> |
44 | #include <asm/arch/pxa2xx-regs.h> | ||
44 | #include <asm/arch/lubbock.h> | 45 | #include <asm/arch/lubbock.h> |
45 | #include <asm/arch/udc.h> | 46 | #include <asm/arch/udc.h> |
46 | #include <asm/arch/irda.h> | 47 | #include <asm/arch/irda.h> |
@@ -136,9 +137,13 @@ static struct sys_device lubbock_irq_device = { | |||
136 | 137 | ||
137 | static int __init lubbock_irq_device_init(void) | 138 | static int __init lubbock_irq_device_init(void) |
138 | { | 139 | { |
139 | int ret = sysdev_class_register(&lubbock_irq_sysclass); | 140 | int ret = -ENODEV; |
140 | if (ret == 0) | 141 | |
141 | ret = sysdev_register(&lubbock_irq_device); | 142 | if (machine_is_lubbock()) { |
143 | ret = sysdev_class_register(&lubbock_irq_sysclass); | ||
144 | if (ret == 0) | ||
145 | ret = sysdev_register(&lubbock_irq_device); | ||
146 | } | ||
142 | return ret; | 147 | return ret; |
143 | } | 148 | } |
144 | 149 | ||
@@ -191,7 +196,7 @@ static struct resource smc91x_resources[] = { | |||
191 | [1] = { | 196 | [1] = { |
192 | .start = LUBBOCK_ETH_IRQ, | 197 | .start = LUBBOCK_ETH_IRQ, |
193 | .end = LUBBOCK_ETH_IRQ, | 198 | .end = LUBBOCK_ETH_IRQ, |
194 | .flags = IORESOURCE_IRQ, | 199 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE, |
195 | }, | 200 | }, |
196 | [2] = { | 201 | [2] = { |
197 | .name = "smc91x-attrib", | 202 | .name = "smc91x-attrib", |
@@ -206,30 +211,13 @@ static struct resource smc91x_resources[] = { | |||
206 | * (to J5) and poking board registers (as done below). Else it's only useful | 211 | * (to J5) and poking board registers (as done below). Else it's only useful |
207 | * for the temperature sensors. | 212 | * for the temperature sensors. |
208 | */ | 213 | */ |
209 | static struct resource pxa_ssp_resources[] = { | ||
210 | [0] = { | ||
211 | .start = __PREG(SSCR0_P(1)), | ||
212 | .end = __PREG(SSCR0_P(1)) + 0x14, | ||
213 | .flags = IORESOURCE_MEM, | ||
214 | }, | ||
215 | [1] = { | ||
216 | .start = IRQ_SSP, | ||
217 | .end = IRQ_SSP, | ||
218 | .flags = IORESOURCE_IRQ, | ||
219 | }, | ||
220 | }; | ||
221 | |||
222 | static struct pxa2xx_spi_master pxa_ssp_master_info = { | 214 | static struct pxa2xx_spi_master pxa_ssp_master_info = { |
223 | .ssp_type = PXA25x_SSP, | ||
224 | .clock_enable = CKEN_SSP, | ||
225 | .num_chipselect = 0, | 215 | .num_chipselect = 0, |
226 | }; | 216 | }; |
227 | 217 | ||
228 | static struct platform_device pxa_ssp = { | 218 | static struct platform_device pxa_ssp = { |
229 | .name = "pxa2xx-spi", | 219 | .name = "pxa2xx-spi", |
230 | .id = 1, | 220 | .id = 1, |
231 | .resource = pxa_ssp_resources, | ||
232 | .num_resources = ARRAY_SIZE(pxa_ssp_resources), | ||
233 | .dev = { | 221 | .dev = { |
234 | .platform_data = &pxa_ssp_master_info, | 222 | .platform_data = &pxa_ssp_master_info, |
235 | }, | 223 | }, |