Date: | 2012-01-31 14:21:01 (11 years 7 months ago) |
---|---|
Author: | Paul Cercueil |
Commit: | c0b8b4de40abac36cea0dd2b376f2713f49b859e |
Message: | MIPS: JZ4740: code re-ordering. The init/exit functions of each SLCD panel has been moved, so that in the future they can call enable/disable or other static functions more easily. |
Files: |
drivers/video/jz4740_slcd_panels.c (4 diffs) |
Change Details
drivers/video/jz4740_slcd_panels.c | ||
---|---|---|
91 | 91 | #define ILI9325_GPIO_CS_N JZ_GPIO_PORTB(17) /* Chip select */ |
92 | 92 | #define ILI9325_GPIO_RESET_N JZ_GPIO_PORTB(18) /* LCD reset */ |
93 | 93 | |
94 | static int ili9325_init(struct jzfb *jzfb) | |
95 | { | |
96 | struct device *dev = &jzfb->pdev->dev; | |
97 | int ret; | |
98 | ||
99 | ret = gpio_request(ILI9325_GPIO_CS_N, dev_name(dev)); | |
100 | if (ret) | |
101 | goto err_cs; | |
102 | gpio_direction_output(ILI9325_GPIO_CS_N, 1); | |
103 | ||
104 | ret = gpio_request(ILI9325_GPIO_RESET_N, dev_name(dev)); | |
105 | if (ret) | |
106 | goto err_reset; | |
107 | gpio_direction_output(ILI9325_GPIO_RESET_N, 0); | |
108 | ||
109 | mdelay(100); | |
110 | return 0; | |
111 | ||
112 | err_reset: | |
113 | gpio_free(ILI9325_GPIO_CS_N); | |
114 | err_cs: | |
115 | dev_err(dev, "Could not reserve GPIO pins for ILI9325 panel driver\n"); | |
116 | return ret; | |
117 | } | |
118 | ||
119 | static void ili9325_exit(struct jzfb *jzfb) | |
120 | { | |
121 | gpio_free(ILI9325_GPIO_CS_N); | |
122 | gpio_free(ILI9325_GPIO_RESET_N); | |
123 | } | |
124 | ||
125 | 94 | static void ili9325_enable(struct jzfb *jzfb) |
126 | 95 | { |
127 | 96 | /* RESET pulse */ |
... | ... | |
203 | 172 | gpio_set_value(ILI9325_GPIO_RESET_N, 0); |
204 | 173 | } |
205 | 174 | |
206 | #endif | |
207 | ||
208 | #ifdef CONFIG_JZ_SLCD_ILI9331 | |
209 | ||
210 | #define ILI9331_GPIO_CS_N JZ_GPIO_PORTB(17) /* Chip select */ | |
211 | #define ILI9331_GPIO_RESET_N JZ_GPIO_PORTB(18) /* LCD reset */ | |
212 | ||
213 | static int ili9331_init(struct jzfb *jzfb) | |
175 | static int ili9325_init(struct jzfb *jzfb) | |
214 | 176 | { |
215 | 177 | struct device *dev = &jzfb->pdev->dev; |
216 | 178 | int ret; |
217 | 179 | |
218 | ret = gpio_request(ILI9331_GPIO_CS_N, dev_name(dev)); | |
180 | ret = gpio_request(ILI9325_GPIO_CS_N, dev_name(dev)); | |
219 | 181 | if (ret) |
220 | 182 | goto err_cs; |
221 | gpio_direction_output(ILI9331_GPIO_CS_N, 1); | |
183 | gpio_direction_output(ILI9325_GPIO_CS_N, 1); | |
222 | 184 | |
223 | ret = gpio_request(ILI9331_GPIO_RESET_N, dev_name(dev)); | |
185 | ret = gpio_request(ILI9325_GPIO_RESET_N, dev_name(dev)); | |
224 | 186 | if (ret) |
225 | 187 | goto err_reset; |
226 | gpio_direction_output(ILI9331_GPIO_RESET_N, 0); | |
188 | gpio_direction_output(ILI9325_GPIO_RESET_N, 0); | |
227 | 189 | |
228 | 190 | mdelay(100); |
229 | 191 | return 0; |
230 | 192 | |
231 | 193 | err_reset: |
232 | gpio_free(ILI9331_GPIO_CS_N); | |
194 | gpio_free(ILI9325_GPIO_CS_N); | |
233 | 195 | err_cs: |
234 | dev_err(dev, "Could not reserve GPIO pins for ILI9331 panel driver\n"); | |
196 | dev_err(dev, "Could not reserve GPIO pins for ILI9325 panel driver\n"); | |
235 | 197 | return ret; |
236 | 198 | } |
237 | 199 | |
238 | static void ili9331_exit(struct jzfb *jzfb) | |
200 | static void ili9325_exit(struct jzfb *jzfb) | |
239 | 201 | { |
240 | gpio_free(ILI9331_GPIO_CS_N); | |
241 | gpio_free(ILI9331_GPIO_RESET_N); | |
202 | gpio_free(ILI9325_GPIO_CS_N); | |
203 | gpio_free(ILI9325_GPIO_RESET_N); | |
242 | 204 | } |
243 | 205 | |
206 | #endif | |
207 | ||
208 | #ifdef CONFIG_JZ_SLCD_ILI9331 | |
209 | ||
210 | #define ILI9331_GPIO_CS_N JZ_GPIO_PORTB(17) /* Chip select */ | |
211 | #define ILI9331_GPIO_RESET_N JZ_GPIO_PORTB(18) /* LCD reset */ | |
212 | ||
244 | 213 | static void ili9331_enable(struct jzfb *jzfb) |
245 | 214 | { |
246 | 215 | /* RESET pulse */ |
... | ... | |
319 | 288 | gpio_set_value(ILI9331_GPIO_RESET_N, 0); |
320 | 289 | } |
321 | 290 | |
322 | #endif | |
323 | ||
324 | #ifdef CONFIG_JZ_SLCD_ILI9338 | |
325 | ||
326 | #define ILI9338_GPIO_CS_N JZ_GPIO_PORTB(17) /* Chip select */ | |
327 | #define ILI9338_GPIO_RESET_N JZ_GPIO_PORTB(18) /* LCD reset */ | |
328 | ||
329 | static int ili9338_init(struct jzfb *jzfb) | |
291 | static int ili9331_init(struct jzfb *jzfb) | |
330 | 292 | { |
331 | 293 | struct device *dev = &jzfb->pdev->dev; |
332 | 294 | int ret; |
333 | 295 | |
334 | ret = gpio_request(ILI9338_GPIO_CS_N, dev_name(dev)); | |
296 | ret = gpio_request(ILI9331_GPIO_CS_N, dev_name(dev)); | |
335 | 297 | if (ret) |
336 | 298 | goto err_cs; |
337 | gpio_direction_output(ILI9338_GPIO_CS_N, 1); | |
299 | gpio_direction_output(ILI9331_GPIO_CS_N, 1); | |
338 | 300 | |
339 | ret = gpio_request(ILI9338_GPIO_RESET_N, dev_name(dev)); | |
301 | ret = gpio_request(ILI9331_GPIO_RESET_N, dev_name(dev)); | |
340 | 302 | if (ret) |
341 | 303 | goto err_reset; |
342 | gpio_direction_output(ILI9338_GPIO_RESET_N, 0); | |
304 | gpio_direction_output(ILI9331_GPIO_RESET_N, 0); | |
343 | 305 | |
344 | 306 | mdelay(100); |
345 | 307 | return 0; |
346 | 308 | |
347 | 309 | err_reset: |
348 | gpio_free(ILI9338_GPIO_CS_N); | |
310 | gpio_free(ILI9331_GPIO_CS_N); | |
349 | 311 | err_cs: |
350 | dev_err(dev, "Could not reserve GPIO pins for ILI9338 panel driver\n"); | |
312 | dev_err(dev, "Could not reserve GPIO pins for ILI9331 panel driver\n"); | |
351 | 313 | return ret; |
352 | 314 | } |
353 | 315 | |
354 | static void ili9338_exit(struct jzfb *jzfb) | |
316 | static void ili9331_exit(struct jzfb *jzfb) | |
355 | 317 | { |
356 | gpio_free(ILI9338_GPIO_CS_N); | |
357 | gpio_free(ILI9338_GPIO_RESET_N); | |
318 | gpio_free(ILI9331_GPIO_CS_N); | |
319 | gpio_free(ILI9331_GPIO_RESET_N); | |
358 | 320 | } |
359 | 321 | |
322 | #endif | |
323 | ||
324 | #ifdef CONFIG_JZ_SLCD_ILI9338 | |
325 | ||
326 | #define ILI9338_GPIO_CS_N JZ_GPIO_PORTB(17) /* Chip select */ | |
327 | #define ILI9338_GPIO_RESET_N JZ_GPIO_PORTB(18) /* LCD reset */ | |
328 | ||
360 | 329 | static void ili9338_enable(struct jzfb *jzfb) |
361 | 330 | { |
362 | 331 | /* RESET pulse */ |
... | ... | |
450 | 419 | /* Keep RESET active */ |
451 | 420 | gpio_set_value(ILI9338_GPIO_RESET_N, 0); |
452 | 421 | } |
422 | ||
423 | static int ili9338_init(struct jzfb *jzfb) | |
424 | { | |
425 | struct device *dev = &jzfb->pdev->dev; | |
426 | int ret; | |
427 | ||
428 | ret = gpio_request(ILI9338_GPIO_CS_N, dev_name(dev)); | |
429 | if (ret) | |
430 | goto err_cs; | |
431 | gpio_direction_output(ILI9338_GPIO_CS_N, 1); | |
432 | ||
433 | ret = gpio_request(ILI9338_GPIO_RESET_N, dev_name(dev)); | |
434 | if (ret) | |
435 | goto err_reset; | |
436 | gpio_direction_output(ILI9338_GPIO_RESET_N, 0); | |
437 | ||
438 | mdelay(100); | |
439 | return 0; | |
440 | ||
441 | err_reset: | |
442 | gpio_free(ILI9338_GPIO_CS_N); | |
443 | err_cs: | |
444 | dev_err(dev, "Could not reserve GPIO pins for ILI9338 panel driver\n"); | |
445 | return ret; | |
446 | } | |
447 | ||
448 | static void ili9338_exit(struct jzfb *jzfb) | |
449 | { | |
450 | gpio_free(ILI9338_GPIO_CS_N); | |
451 | gpio_free(ILI9338_GPIO_RESET_N); | |
452 | } | |
453 | ||
453 | 454 | #endif |
454 | 455 | |
455 | 456 | static const struct jz_slcd_panel jz_slcd_panels[] = { |
Branches:
ben-wpan
ben-wpan-stefan
5396a9238205f20f811ea57898980d3ca82df0b6
jz-2.6.34
jz-2.6.34-rc5
jz-2.6.34-rc6
jz-2.6.34-rc7
jz-2.6.35
jz-2.6.36
jz-2.6.37
jz-2.6.38
jz-2.6.39
jz-3.0
jz-3.1
jz-3.11
jz-3.12
jz-3.13
jz-3.15
jz-3.16
jz-3.18-dt
jz-3.2
jz-3.3
jz-3.4
jz-3.5
jz-3.6
jz-3.6-rc2-pwm
jz-3.9
jz-3.9-clk
jz-3.9-rc8
jz47xx
jz47xx-2.6.38
master
Tags:
od-2011-09-04
od-2011-09-18
v2.6.34-rc5
v2.6.34-rc6
v2.6.34-rc7
v3.9