• Home
  • Raw
  • Download

Lines Matching +full:bd +full:- +full:address

1 // SPDX-License-Identifier: GPL-2.0-or-later
37 struct backlight_device *bd; member
173 return spi_sync(lcd->spi, &msg); in ams369fg06_spi_write_byte()
176 static int ams369fg06_spi_write(struct ams369fg06 *lcd, unsigned char address, in ams369fg06_spi_write() argument
181 if (address != DATA_ONLY) in ams369fg06_spi_write()
182 ret = ams369fg06_spi_write_byte(lcd, 0x70, address); in ams369fg06_spi_write()
219 dev_err(lcd->dev, "failed to set gamma table.\n"); in _ams369fg06_gamma_ctl()
310 struct backlight_device *bd; in ams369fg06_power_on() local
312 pd = lcd->lcd_pd; in ams369fg06_power_on()
313 bd = lcd->bd; in ams369fg06_power_on()
315 if (pd->power_on) { in ams369fg06_power_on()
316 pd->power_on(lcd->ld, 1); in ams369fg06_power_on()
317 msleep(pd->power_on_delay); in ams369fg06_power_on()
320 if (!pd->reset) { in ams369fg06_power_on()
321 dev_err(lcd->dev, "reset is NULL.\n"); in ams369fg06_power_on()
322 return -EINVAL; in ams369fg06_power_on()
325 pd->reset(lcd->ld); in ams369fg06_power_on()
326 msleep(pd->reset_delay); in ams369fg06_power_on()
330 dev_err(lcd->dev, "failed to initialize ldi.\n"); in ams369fg06_power_on()
336 dev_err(lcd->dev, "failed to enable ldi.\n"); in ams369fg06_power_on()
341 ret = ams369fg06_gamma_ctl(lcd, bd->props.brightness); in ams369fg06_power_on()
343 dev_err(lcd->dev, "lcd gamma setting failed.\n"); in ams369fg06_power_on()
355 pd = lcd->lcd_pd; in ams369fg06_power_off()
359 dev_err(lcd->dev, "lcd setting failed.\n"); in ams369fg06_power_off()
360 return -EIO; in ams369fg06_power_off()
363 msleep(pd->power_off_delay); in ams369fg06_power_off()
365 if (pd->power_on) in ams369fg06_power_off()
366 pd->power_on(lcd->ld, 0); in ams369fg06_power_off()
376 !ams369fg06_power_is_on(lcd->power)) in ams369fg06_power()
379 ams369fg06_power_is_on(lcd->power)) in ams369fg06_power()
383 lcd->power = power; in ams369fg06_power()
392 return lcd->power; in ams369fg06_get_power()
401 dev_err(lcd->dev, "power value should be 0, 1 or 4.\n"); in ams369fg06_set_power()
402 return -EINVAL; in ams369fg06_set_power()
408 static int ams369fg06_set_brightness(struct backlight_device *bd) in ams369fg06_set_brightness() argument
411 int brightness = bd->props.brightness; in ams369fg06_set_brightness()
412 struct ams369fg06 *lcd = bl_get_data(bd); in ams369fg06_set_brightness()
415 brightness > bd->props.max_brightness) { in ams369fg06_set_brightness()
416 dev_err(&bd->dev, "lcd brightness should be %d to %d.\n", in ams369fg06_set_brightness()
418 return -EINVAL; in ams369fg06_set_brightness()
421 ret = ams369fg06_gamma_ctl(lcd, bd->props.brightness); in ams369fg06_set_brightness()
423 dev_err(&bd->dev, "lcd brightness setting failed.\n"); in ams369fg06_set_brightness()
424 return -EIO; in ams369fg06_set_brightness()
444 struct backlight_device *bd = NULL; in ams369fg06_probe() local
447 lcd = devm_kzalloc(&spi->dev, sizeof(struct ams369fg06), GFP_KERNEL); in ams369fg06_probe()
449 return -ENOMEM; in ams369fg06_probe()
451 /* ams369fg06 lcd panel uses 3-wire 16bits SPI Mode. */ in ams369fg06_probe()
452 spi->bits_per_word = 16; in ams369fg06_probe()
456 dev_err(&spi->dev, "spi setup failed.\n"); in ams369fg06_probe()
460 lcd->spi = spi; in ams369fg06_probe()
461 lcd->dev = &spi->dev; in ams369fg06_probe()
463 lcd->lcd_pd = dev_get_platdata(&spi->dev); in ams369fg06_probe()
464 if (!lcd->lcd_pd) { in ams369fg06_probe()
465 dev_err(&spi->dev, "platform data is NULL\n"); in ams369fg06_probe()
466 return -EINVAL; in ams369fg06_probe()
469 ld = devm_lcd_device_register(&spi->dev, "ams369fg06", &spi->dev, lcd, in ams369fg06_probe()
474 lcd->ld = ld; in ams369fg06_probe()
480 bd = devm_backlight_device_register(&spi->dev, "ams369fg06-bl", in ams369fg06_probe()
481 &spi->dev, lcd, in ams369fg06_probe()
483 if (IS_ERR(bd)) in ams369fg06_probe()
484 return PTR_ERR(bd); in ams369fg06_probe()
486 bd->props.brightness = DEFAULT_BRIGHTNESS; in ams369fg06_probe()
487 lcd->bd = bd; in ams369fg06_probe()
489 if (!lcd->lcd_pd->lcd_enabled) { in ams369fg06_probe()
495 lcd->power = FB_BLANK_POWERDOWN; in ams369fg06_probe()
499 lcd->power = FB_BLANK_UNBLANK; in ams369fg06_probe()
504 dev_info(&spi->dev, "ams369fg06 panel driver has been probed.\n"); in ams369fg06_probe()
521 dev_dbg(dev, "lcd->power = %d\n", lcd->power); in ams369fg06_suspend()
534 lcd->power = FB_BLANK_POWERDOWN; in ams369fg06_resume()