diff options
author | Richard Purdie <rpurdie@rpsys.net> | 2006-09-25 15:11:48 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2006-09-27 15:58:59 -0400 |
commit | 8d48427ecb0639593ccf14e807479b7873254ccb (patch) | |
tree | 7bcc5f49faf33515d5d65fae53d6670cfe76e5c3 /drivers/video/backlight/locomolcd.c | |
parent | 2dc94310bd94d0906febea7d0f7c188da620c952 (diff) |
[ARM] 3847/2: Convert LOMOMO to use struct device for GPIOs
Convert LOMOMO to use struct device * for GPIOs instead of struct
locomo_dev. This enables access to the GPIOs from code which is not
a locomo device itself (such as audio). Access for gpio 31 is removed
for error handling (no such hardware exists).
Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'drivers/video/backlight/locomolcd.c')
-rw-r--r-- | drivers/video/backlight/locomolcd.c | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/drivers/video/backlight/locomolcd.c b/drivers/video/backlight/locomolcd.c index caf1eca199b0..628571c63bac 100644 --- a/drivers/video/backlight/locomolcd.c +++ b/drivers/video/backlight/locomolcd.c | |||
@@ -33,19 +33,19 @@ static unsigned long locomolcd_flags; | |||
33 | 33 | ||
34 | static void locomolcd_on(int comadj) | 34 | static void locomolcd_on(int comadj) |
35 | { | 35 | { |
36 | locomo_gpio_set_dir(locomolcd_dev, LOCOMO_GPIO_LCD_VSHA_ON, 0); | 36 | locomo_gpio_set_dir(locomolcd_dev->dev.parent, LOCOMO_GPIO_LCD_VSHA_ON, 0); |
37 | locomo_gpio_write(locomolcd_dev, LOCOMO_GPIO_LCD_VSHA_ON, 1); | 37 | locomo_gpio_write(locomolcd_dev->dev.parent, LOCOMO_GPIO_LCD_VSHA_ON, 1); |
38 | mdelay(2); | 38 | mdelay(2); |
39 | 39 | ||
40 | locomo_gpio_set_dir(locomolcd_dev, LOCOMO_GPIO_LCD_VSHD_ON, 0); | 40 | locomo_gpio_set_dir(locomolcd_dev->dev.parent, LOCOMO_GPIO_LCD_VSHD_ON, 0); |
41 | locomo_gpio_write(locomolcd_dev, LOCOMO_GPIO_LCD_VSHD_ON, 1); | 41 | locomo_gpio_write(locomolcd_dev->dev.parent, LOCOMO_GPIO_LCD_VSHD_ON, 1); |
42 | mdelay(2); | 42 | mdelay(2); |
43 | 43 | ||
44 | locomo_m62332_senddata(locomolcd_dev, comadj, 0); | 44 | locomo_m62332_senddata(locomolcd_dev, comadj, 0); |
45 | mdelay(5); | 45 | mdelay(5); |
46 | 46 | ||
47 | locomo_gpio_set_dir(locomolcd_dev, LOCOMO_GPIO_LCD_VEE_ON, 0); | 47 | locomo_gpio_set_dir(locomolcd_dev->dev.parent, LOCOMO_GPIO_LCD_VEE_ON, 0); |
48 | locomo_gpio_write(locomolcd_dev, LOCOMO_GPIO_LCD_VEE_ON, 1); | 48 | locomo_gpio_write(locomolcd_dev->dev.parent, LOCOMO_GPIO_LCD_VEE_ON, 1); |
49 | mdelay(10); | 49 | mdelay(10); |
50 | 50 | ||
51 | /* TFTCRST | CPSOUT=0 | CPSEN */ | 51 | /* TFTCRST | CPSOUT=0 | CPSEN */ |
@@ -58,8 +58,8 @@ static void locomolcd_on(int comadj) | |||
58 | locomo_writel((0x04 | 0x01), locomolcd_dev->mapbase + LOCOMO_TC); | 58 | locomo_writel((0x04 | 0x01), locomolcd_dev->mapbase + LOCOMO_TC); |
59 | mdelay(10); | 59 | mdelay(10); |
60 | 60 | ||
61 | locomo_gpio_set_dir(locomolcd_dev, LOCOMO_GPIO_LCD_MOD, 0); | 61 | locomo_gpio_set_dir(locomolcd_dev->dev.parent, LOCOMO_GPIO_LCD_MOD, 0); |
62 | locomo_gpio_write(locomolcd_dev, LOCOMO_GPIO_LCD_MOD, 1); | 62 | locomo_gpio_write(locomolcd_dev->dev.parent, LOCOMO_GPIO_LCD_MOD, 1); |
63 | } | 63 | } |
64 | 64 | ||
65 | static void locomolcd_off(int comadj) | 65 | static void locomolcd_off(int comadj) |
@@ -68,16 +68,16 @@ static void locomolcd_off(int comadj) | |||
68 | locomo_writel(0x06, locomolcd_dev->mapbase + LOCOMO_TC); | 68 | locomo_writel(0x06, locomolcd_dev->mapbase + LOCOMO_TC); |
69 | mdelay(1); | 69 | mdelay(1); |
70 | 70 | ||
71 | locomo_gpio_write(locomolcd_dev, LOCOMO_GPIO_LCD_VSHA_ON, 0); | 71 | locomo_gpio_write(locomolcd_dev->dev.parent, LOCOMO_GPIO_LCD_VSHA_ON, 0); |
72 | mdelay(110); | 72 | mdelay(110); |
73 | 73 | ||
74 | locomo_gpio_write(locomolcd_dev, LOCOMO_GPIO_LCD_VEE_ON, 0); | 74 | locomo_gpio_write(locomolcd_dev->dev.parent, LOCOMO_GPIO_LCD_VEE_ON, 0); |
75 | mdelay(700); | 75 | mdelay(700); |
76 | 76 | ||
77 | /* TFTCRST=0 | CPSOUT=0 | CPSEN = 0 */ | 77 | /* TFTCRST=0 | CPSOUT=0 | CPSEN = 0 */ |
78 | locomo_writel(0, locomolcd_dev->mapbase + LOCOMO_TC); | 78 | locomo_writel(0, locomolcd_dev->mapbase + LOCOMO_TC); |
79 | locomo_gpio_write(locomolcd_dev, LOCOMO_GPIO_LCD_MOD, 0); | 79 | locomo_gpio_write(locomolcd_dev->dev.parent, LOCOMO_GPIO_LCD_MOD, 0); |
80 | locomo_gpio_write(locomolcd_dev, LOCOMO_GPIO_LCD_VSHD_ON, 0); | 80 | locomo_gpio_write(locomolcd_dev->dev.parent, LOCOMO_GPIO_LCD_VSHD_ON, 0); |
81 | } | 81 | } |
82 | 82 | ||
83 | void locomolcd_power(int on) | 83 | void locomolcd_power(int on) |
@@ -167,14 +167,14 @@ static int locomolcd_resume(struct locomo_dev *dev) | |||
167 | #define locomolcd_resume NULL | 167 | #define locomolcd_resume NULL |
168 | #endif | 168 | #endif |
169 | 169 | ||
170 | static int locomolcd_probe(struct locomo_dev *dev) | 170 | static int locomolcd_probe(struct locomo_dev *ldev) |
171 | { | 171 | { |
172 | unsigned long flags; | 172 | unsigned long flags; |
173 | 173 | ||
174 | local_irq_save(flags); | 174 | local_irq_save(flags); |
175 | locomolcd_dev = dev; | 175 | locomolcd_dev = ldev; |
176 | 176 | ||
177 | locomo_gpio_set_dir(dev, LOCOMO_GPIO_FL_VR, 0); | 177 | locomo_gpio_set_dir(ldev->dev.parent, LOCOMO_GPIO_FL_VR, 0); |
178 | 178 | ||
179 | /* the poodle_lcd_power function is called for the first time | 179 | /* the poodle_lcd_power function is called for the first time |
180 | * from fs_initcall, which is before locomo is activated. | 180 | * from fs_initcall, which is before locomo is activated. |