Lines Matching +full:pd +full:- +full:samsung

1 // SPDX-License-Identifier: GPL-2.0-or-later
5 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
6 * Author: Jingoo Han <jg1.han@samsung.com>
118 return spi_sync(lcd->spi, &msg); in lms501kf03_spi_write_byte()
215 struct lcd_platform_data *pd; in lms501kf03_power_on() local
217 pd = lcd->lcd_pd; in lms501kf03_power_on()
219 if (!pd->power_on) { in lms501kf03_power_on()
220 dev_err(lcd->dev, "power_on is NULL.\n"); in lms501kf03_power_on()
221 return -EINVAL; in lms501kf03_power_on()
224 pd->power_on(lcd->ld, 1); in lms501kf03_power_on()
225 msleep(pd->power_on_delay); in lms501kf03_power_on()
227 if (!pd->reset) { in lms501kf03_power_on()
228 dev_err(lcd->dev, "reset is NULL.\n"); in lms501kf03_power_on()
229 return -EINVAL; in lms501kf03_power_on()
232 pd->reset(lcd->ld); in lms501kf03_power_on()
233 msleep(pd->reset_delay); in lms501kf03_power_on()
237 dev_err(lcd->dev, "failed to initialize ldi.\n"); in lms501kf03_power_on()
243 dev_err(lcd->dev, "failed to enable ldi.\n"); in lms501kf03_power_on()
253 struct lcd_platform_data *pd; in lms501kf03_power_off() local
255 pd = lcd->lcd_pd; in lms501kf03_power_off()
259 dev_err(lcd->dev, "lcd setting failed.\n"); in lms501kf03_power_off()
260 return -EIO; in lms501kf03_power_off()
263 msleep(pd->power_off_delay); in lms501kf03_power_off()
265 pd->power_on(lcd->ld, 0); in lms501kf03_power_off()
275 !lms501kf03_power_is_on(lcd->power)) in lms501kf03_power()
278 lms501kf03_power_is_on(lcd->power)) in lms501kf03_power()
282 lcd->power = power; in lms501kf03_power()
291 return lcd->power; in lms501kf03_get_power()
300 dev_err(lcd->dev, "power value should be 0, 1 or 4.\n"); in lms501kf03_set_power()
301 return -EINVAL; in lms501kf03_set_power()
318 lcd = devm_kzalloc(&spi->dev, sizeof(struct lms501kf03), GFP_KERNEL); in lms501kf03_probe()
320 return -ENOMEM; in lms501kf03_probe()
322 /* lms501kf03 lcd panel uses 3-wire 9-bit SPI Mode. */ in lms501kf03_probe()
323 spi->bits_per_word = 9; in lms501kf03_probe()
327 dev_err(&spi->dev, "spi setup failed.\n"); in lms501kf03_probe()
331 lcd->spi = spi; in lms501kf03_probe()
332 lcd->dev = &spi->dev; in lms501kf03_probe()
334 lcd->lcd_pd = dev_get_platdata(&spi->dev); in lms501kf03_probe()
335 if (!lcd->lcd_pd) { in lms501kf03_probe()
336 dev_err(&spi->dev, "platform data is NULL\n"); in lms501kf03_probe()
337 return -EINVAL; in lms501kf03_probe()
340 ld = devm_lcd_device_register(&spi->dev, "lms501kf03", &spi->dev, lcd, in lms501kf03_probe()
345 lcd->ld = ld; in lms501kf03_probe()
347 if (!lcd->lcd_pd->lcd_enabled) { in lms501kf03_probe()
353 lcd->power = FB_BLANK_POWERDOWN; in lms501kf03_probe()
357 lcd->power = FB_BLANK_UNBLANK; in lms501kf03_probe()
362 dev_info(&spi->dev, "lms501kf03 panel driver has been probed.\n"); in lms501kf03_probe()
380 dev_dbg(dev, "lcd->power = %d\n", lcd->power); in lms501kf03_suspend()
393 lcd->power = FB_BLANK_POWERDOWN; in lms501kf03_resume()
421 MODULE_AUTHOR("Jingoo Han <jg1.han@samsung.com>");