Lines Matching defs:lcd

15 #include <linux/lcd.h>
75 static void ili9320_reset(struct ili9320 *lcd)
77 struct ili9320_platdata *cfg = lcd->platdata;
89 static inline int ili9320_init_chip(struct ili9320 *lcd)
93 ili9320_reset(lcd);
95 ret = lcd->client->init(lcd, lcd->platdata);
97 dev_err(lcd->dev, "failed to initialise display\n");
101 lcd->initialised = 1;
105 static inline int ili9320_power_on(struct ili9320 *lcd)
107 if (!lcd->initialised)
108 ili9320_init_chip(lcd);
110 lcd->display1 |= (ILI9320_DISPLAY1_D(3) | ILI9320_DISPLAY1_BASEE);
111 ili9320_write(lcd, ILI9320_DISPLAY1, lcd->display1);
116 static inline int ili9320_power_off(struct ili9320 *lcd)
118 lcd->display1 &= ~(ILI9320_DISPLAY1_D(3) | ILI9320_DISPLAY1_BASEE);
119 ili9320_write(lcd, ILI9320_DISPLAY1, lcd->display1);
126 static int ili9320_power(struct ili9320 *lcd, int power)
130 dev_dbg(lcd->dev, "power %d => %d\n", lcd->power, power);
132 if (POWER_IS_ON(power) && !POWER_IS_ON(lcd->power))
133 ret = ili9320_power_on(lcd);
134 else if (!POWER_IS_ON(power) && POWER_IS_ON(lcd->power))
135 ret = ili9320_power_off(lcd);
138 lcd->power = power;
140 dev_warn(lcd->dev, "failed to set power mode %d\n", power);
145 static inline struct ili9320 *to_our_lcd(struct lcd_device *lcd)
147 return lcd_get_data(lcd);
152 struct ili9320 *lcd = to_our_lcd(ld);
154 return ili9320_power(lcd, power);
159 struct ili9320 *lcd = to_our_lcd(ld);
161 return lcd->power;
201 struct lcd_device *lcd;
233 lcd = devm_lcd_device_register(&spi->dev, "ili9320", dev, ili,
235 if (IS_ERR(lcd)) {
236 dev_err(dev, "failed to register lcd device\n");
237 return PTR_ERR(lcd);
240 ili->lcd = lcd;
246 dev_err(dev, "failed to set lcd power state\n");
262 int ili9320_suspend(struct ili9320 *lcd)
266 ret = ili9320_power(lcd, FB_BLANK_POWERDOWN);
268 if (lcd->platdata->suspend == ILI9320_SUSPEND_DEEP) {
269 ili9320_write(lcd, ILI9320_POWER1, lcd->power1 |
272 lcd->initialised = 0;
279 int ili9320_resume(struct ili9320 *lcd)
281 dev_info(lcd->dev, "resuming from power state %d\n", lcd->power);
283 if (lcd->platdata->suspend == ILI9320_SUSPEND_DEEP)
284 ili9320_write(lcd, ILI9320_POWER1, 0x00);
286 return ili9320_power(lcd, FB_BLANK_UNBLANK);
292 void ili9320_shutdown(struct ili9320 *lcd)
294 ili9320_power(lcd, FB_BLANK_POWERDOWN);