Lines Matching defs:lcd

83 	struct lcd_olinuxino *lcd = to_lcd_olinuxino(panel);
85 if (!lcd->enabled)
88 lcd->enabled = false;
95 struct lcd_olinuxino *lcd = to_lcd_olinuxino(panel);
97 if (!lcd->prepared)
100 gpiod_set_value_cansleep(lcd->enable_gpio, 0);
101 regulator_disable(lcd->supply);
103 lcd->prepared = false;
110 struct lcd_olinuxino *lcd = to_lcd_olinuxino(panel);
113 if (lcd->prepared)
116 ret = regulator_enable(lcd->supply);
120 gpiod_set_value_cansleep(lcd->enable_gpio, 1);
121 lcd->prepared = true;
128 struct lcd_olinuxino *lcd = to_lcd_olinuxino(panel);
130 if (lcd->enabled)
133 lcd->enabled = true;
141 struct lcd_olinuxino *lcd = to_lcd_olinuxino(panel);
142 struct lcd_olinuxino_info *lcd_info = &lcd->eeprom.info;
147 for (i = 0; i < lcd->eeprom.num_modes; i++) {
149 &lcd->eeprom.reserved[i * sizeof(*lcd_mode)];
209 struct lcd_olinuxino *lcd;
217 lcd = devm_kzalloc(dev, sizeof(*lcd), GFP_KERNEL);
218 if (!lcd)
221 i2c_set_clientdata(client, lcd);
222 lcd->dev = dev;
223 lcd->client = client;
225 mutex_init(&lcd->mutex);
229 mutex_lock(&lcd->mutex);
233 (u8 *)&lcd->eeprom + i);
234 mutex_unlock(&lcd->mutex);
242 checksum = ~crc32(~0, (u8 *)&lcd->eeprom, 252);
243 if (checksum != lcd->eeprom.checksum) {
249 if (lcd->eeprom.header != LCD_OLINUXINO_HEADER_MAGIC) {
255 lcd->eeprom.info.name,
256 lcd->eeprom.revision,
257 lcd->eeprom.serial);
263 if (lcd->eeprom.num_modes > 4) {
265 lcd->eeprom.num_modes = 4;
268 lcd->enabled = false;
269 lcd->prepared = false;
271 lcd->supply = devm_regulator_get(dev, "power");
272 if (IS_ERR(lcd->supply))
273 return PTR_ERR(lcd->supply);
275 lcd->enable_gpio = devm_gpiod_get(dev, "enable", GPIOD_OUT_LOW);
276 if (IS_ERR(lcd->enable_gpio))
277 return PTR_ERR(lcd->enable_gpio);
279 drm_panel_init(&lcd->panel, dev, &lcd_olinuxino_funcs,
282 ret = drm_panel_of_backlight(&lcd->panel);
286 drm_panel_add(&lcd->panel);
304 { .compatible = "olimex,lcd-olinuxino" },