diff options
author | Richard Purdie <rpurdie@rpsys.net> | 2005-09-13 04:25:33 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-09-13 11:22:31 -0400 |
commit | 513b6e1afaf81b42cacbb24ef1aa7eea5e9661c2 (patch) | |
tree | d30c0a6ae0af38948e981f5d83a740f12f14a196 /arch | |
parent | 9fc7896b62b48714fafecf9266d9dc14c1cd6e33 (diff) |
[PATCH] SharpSL: Abstract c7x0 specifics from Corgi Touchscreen driver
Separate out the Sharp Zaurus c7x0 series specific code from the Corgi
Touchscreen driver. Use the new functions in corgi_lcd.c via sharpsl.h for
hsync handling and pass the IRQ as a platform device resource. Move a
function prototype into the w100fb header file where it belongs.
This enables the driver to be used by the Zaurus cxx00 series.
Signed-Off-by: Richard Purdie <rpurdie@rpsys.net>
Cc: Vojtech Pavlik <vojtech@suse.cz>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-pxa/corgi.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/arch/arm/mach-pxa/corgi.c b/arch/arm/mach-pxa/corgi.c index 3678d1e0e826..fc428b827671 100644 --- a/arch/arm/mach-pxa/corgi.c +++ b/arch/arm/mach-pxa/corgi.c | |||
@@ -130,12 +130,29 @@ static struct platform_device corgikbd_device = { | |||
130 | /* | 130 | /* |
131 | * Corgi Touch Screen Device | 131 | * Corgi Touch Screen Device |
132 | */ | 132 | */ |
133 | static struct resource corgits_resources[] = { | ||
134 | [0] = { | ||
135 | .start = CORGI_IRQ_GPIO_TP_INT, | ||
136 | .end = CORGI_IRQ_GPIO_TP_INT, | ||
137 | .flags = IORESOURCE_IRQ, | ||
138 | }, | ||
139 | }; | ||
140 | |||
141 | static struct corgits_machinfo corgi_ts_machinfo = { | ||
142 | .get_hsync_len = corgi_get_hsync_len, | ||
143 | .put_hsync = corgi_put_hsync, | ||
144 | .wait_hsync = corgi_wait_hsync, | ||
145 | }; | ||
146 | |||
133 | static struct platform_device corgits_device = { | 147 | static struct platform_device corgits_device = { |
134 | .name = "corgi-ts", | 148 | .name = "corgi-ts", |
135 | .dev = { | 149 | .dev = { |
136 | .parent = &corgissp_device.dev, | 150 | .parent = &corgissp_device.dev, |
151 | .platform_data = &corgi_ts_machinfo, | ||
137 | }, | 152 | }, |
138 | .id = -1, | 153 | .id = -1, |
154 | .num_resources = ARRAY_SIZE(corgits_resources), | ||
155 | .resource = corgits_resources, | ||
139 | }; | 156 | }; |
140 | 157 | ||
141 | 158 | ||
@@ -239,6 +256,7 @@ static void __init corgi_init(void) | |||
239 | corgi_ssp_set_machinfo(&corgi_ssp_machinfo); | 256 | corgi_ssp_set_machinfo(&corgi_ssp_machinfo); |
240 | 257 | ||
241 | pxa_gpio_mode(CORGI_GPIO_USB_PULLUP | GPIO_OUT); | 258 | pxa_gpio_mode(CORGI_GPIO_USB_PULLUP | GPIO_OUT); |
259 | pxa_gpio_mode(CORGI_GPIO_HSYNC | GPIO_IN); | ||
242 | pxa_set_udc_info(&udc_info); | 260 | pxa_set_udc_info(&udc_info); |
243 | pxa_set_mci_info(&corgi_mci_platform_data); | 261 | pxa_set_mci_info(&corgi_mci_platform_data); |
244 | 262 | ||