Lines Matching refs:lcd
116 static int lms501kf03_spi_write_byte(struct lms501kf03 *lcd, int addr, int data) in lms501kf03_spi_write_byte() argument
131 return spi_sync(lcd->spi, &msg); in lms501kf03_spi_write_byte()
134 static int lms501kf03_spi_write(struct lms501kf03 *lcd, unsigned char address, in lms501kf03_spi_write() argument
137 return lms501kf03_spi_write_byte(lcd, address, command); in lms501kf03_spi_write()
140 static int lms501kf03_panel_send_sequence(struct lms501kf03 *lcd, in lms501kf03_panel_send_sequence() argument
148 ret = lms501kf03_spi_write(lcd, COMMAND_ONLY, wbuf[i]); in lms501kf03_panel_send_sequence()
150 ret = lms501kf03_spi_write(lcd, DATA_ONLY, wbuf[i]); in lms501kf03_panel_send_sequence()
159 static int lms501kf03_ldi_init(struct lms501kf03 *lcd) in lms501kf03_ldi_init() argument
193 ret = lms501kf03_panel_send_sequence(lcd, init_seq[i], in lms501kf03_ldi_init()
208 static int lms501kf03_ldi_enable(struct lms501kf03 *lcd) in lms501kf03_ldi_enable() argument
210 return lms501kf03_panel_send_sequence(lcd, seq_display_on, in lms501kf03_ldi_enable()
214 static int lms501kf03_ldi_disable(struct lms501kf03 *lcd) in lms501kf03_ldi_disable() argument
216 return lms501kf03_panel_send_sequence(lcd, seq_display_off, in lms501kf03_ldi_disable()
225 static int lms501kf03_power_on(struct lms501kf03 *lcd) in lms501kf03_power_on() argument
230 pd = lcd->lcd_pd; in lms501kf03_power_on()
233 dev_err(lcd->dev, "power_on is NULL.\n"); in lms501kf03_power_on()
237 pd->power_on(lcd->ld, 1); in lms501kf03_power_on()
241 dev_err(lcd->dev, "reset is NULL.\n"); in lms501kf03_power_on()
245 pd->reset(lcd->ld); in lms501kf03_power_on()
248 ret = lms501kf03_ldi_init(lcd); in lms501kf03_power_on()
250 dev_err(lcd->dev, "failed to initialize ldi.\n"); in lms501kf03_power_on()
254 ret = lms501kf03_ldi_enable(lcd); in lms501kf03_power_on()
256 dev_err(lcd->dev, "failed to enable ldi.\n"); in lms501kf03_power_on()
263 static int lms501kf03_power_off(struct lms501kf03 *lcd) in lms501kf03_power_off() argument
268 pd = lcd->lcd_pd; in lms501kf03_power_off()
270 ret = lms501kf03_ldi_disable(lcd); in lms501kf03_power_off()
272 dev_err(lcd->dev, "lcd setting failed.\n"); in lms501kf03_power_off()
278 pd->power_on(lcd->ld, 0); in lms501kf03_power_off()
283 static int lms501kf03_power(struct lms501kf03 *lcd, int power) in lms501kf03_power() argument
288 !lms501kf03_power_is_on(lcd->power)) in lms501kf03_power()
289 ret = lms501kf03_power_on(lcd); in lms501kf03_power()
291 lms501kf03_power_is_on(lcd->power)) in lms501kf03_power()
292 ret = lms501kf03_power_off(lcd); in lms501kf03_power()
295 lcd->power = power; in lms501kf03_power()
302 struct lms501kf03 *lcd = lcd_get_data(ld); in lms501kf03_get_power() local
304 return lcd->power; in lms501kf03_get_power()
309 struct lms501kf03 *lcd = lcd_get_data(ld); in lms501kf03_set_power() local
313 dev_err(lcd->dev, "power value should be 0, 1 or 4.\n"); in lms501kf03_set_power()
317 return lms501kf03_power(lcd, power); in lms501kf03_set_power()
327 struct lms501kf03 *lcd = NULL; in lms501kf03_probe() local
331 lcd = devm_kzalloc(&spi->dev, sizeof(struct lms501kf03), GFP_KERNEL); in lms501kf03_probe()
332 if (!lcd) in lms501kf03_probe()
344 lcd->spi = spi; in lms501kf03_probe()
345 lcd->dev = &spi->dev; in lms501kf03_probe()
347 lcd->lcd_pd = dev_get_platdata(&spi->dev); in lms501kf03_probe()
348 if (!lcd->lcd_pd) { in lms501kf03_probe()
353 ld = devm_lcd_device_register(&spi->dev, "lms501kf03", &spi->dev, lcd, in lms501kf03_probe()
358 lcd->ld = ld; in lms501kf03_probe()
360 if (!lcd->lcd_pd->lcd_enabled) { in lms501kf03_probe()
366 lcd->power = FB_BLANK_POWERDOWN; in lms501kf03_probe()
368 lms501kf03_power(lcd, FB_BLANK_UNBLANK); in lms501kf03_probe()
370 lcd->power = FB_BLANK_UNBLANK; in lms501kf03_probe()
373 spi_set_drvdata(spi, lcd); in lms501kf03_probe()
382 struct lms501kf03 *lcd = spi_get_drvdata(spi); in lms501kf03_remove() local
384 lms501kf03_power(lcd, FB_BLANK_POWERDOWN); in lms501kf03_remove()
391 struct lms501kf03 *lcd = dev_get_drvdata(dev); in lms501kf03_suspend() local
393 dev_dbg(dev, "lcd->power = %d\n", lcd->power); in lms501kf03_suspend()
399 return lms501kf03_power(lcd, FB_BLANK_POWERDOWN); in lms501kf03_suspend()
404 struct lms501kf03 *lcd = dev_get_drvdata(dev); in lms501kf03_resume() local
406 lcd->power = FB_BLANK_POWERDOWN; in lms501kf03_resume()
408 return lms501kf03_power(lcd, FB_BLANK_UNBLANK); in lms501kf03_resume()
417 struct lms501kf03 *lcd = spi_get_drvdata(spi); in lms501kf03_shutdown() local
419 lms501kf03_power(lcd, FB_BLANK_POWERDOWN); in lms501kf03_shutdown()