Lines Matching refs:panel

3  * Novatek NT39016 TFT LCD panel driver
66 static inline struct nt39016 *to_nt39016(struct drm_panel *panel)
68 return container_of(panel, struct nt39016, drm_panel);
121 struct nt39016 *panel = to_nt39016(drm_panel);
124 err = regulator_enable(panel->supply);
136 gpiod_set_value_cansleep(panel->reset_gpio, 1);
138 gpiod_set_value_cansleep(panel->reset_gpio, 0);
142 err = regmap_multi_reg_write(panel->map, nt39016_panel_regs,
152 regulator_disable(panel->supply);
158 struct nt39016 *panel = to_nt39016(drm_panel);
160 gpiod_set_value_cansleep(panel->reset_gpio, 1);
162 regulator_disable(panel->supply);
169 struct nt39016 *panel = to_nt39016(drm_panel);
172 ret = regmap_write(panel->map, NT39016_REG_SYSTEM,
175 dev_err(drm_panel->dev, "Unable to enable panel: %d\n", ret);
189 struct nt39016 *panel = to_nt39016(drm_panel);
192 err = regmap_write(panel->map, NT39016_REG_SYSTEM,
195 dev_err(drm_panel->dev, "Unable to disable panel: %d\n", err);
205 struct nt39016 *panel = to_nt39016(drm_panel);
206 const struct nt39016_panel_info *panel_info = panel->panel_info;
247 struct nt39016 *panel;
250 panel = devm_kzalloc(dev, sizeof(*panel), GFP_KERNEL);
251 if (!panel)
254 spi_set_drvdata(spi, panel);
256 panel->panel_info = of_device_get_match_data(dev);
257 if (!panel->panel_info)
260 panel->supply = devm_regulator_get(dev, "power");
261 if (IS_ERR(panel->supply)) {
263 return PTR_ERR(panel->supply);
266 panel->reset_gpio = devm_gpiod_get(dev, "reset", GPIOD_OUT_HIGH);
267 if (IS_ERR(panel->reset_gpio)) {
269 return PTR_ERR(panel->reset_gpio);
280 panel->map = devm_regmap_init_spi(spi, &nt39016_regmap_config);
281 if (IS_ERR(panel->map)) {
283 return PTR_ERR(panel->map);
286 drm_panel_init(&panel->drm_panel, dev, &nt39016_funcs,
289 err = drm_panel_of_backlight(&panel->drm_panel);
296 drm_panel_add(&panel->drm_panel);
303 struct nt39016 *panel = spi_get_drvdata(spi);
305 drm_panel_remove(&panel->drm_panel);
307 nt39016_disable(&panel->drm_panel);
308 nt39016_unprepare(&panel->drm_panel);