Lines Matching full:panel
3 * Novatek NT39016 TFT LCD panel driver
66 static inline struct nt39016 *to_nt39016(struct drm_panel *panel) in to_nt39016() argument
68 return container_of(panel, struct nt39016, drm_panel); in to_nt39016()
121 struct nt39016 *panel = to_nt39016(drm_panel); in nt39016_prepare() local
124 err = regulator_enable(panel->supply); in nt39016_prepare()
136 gpiod_set_value_cansleep(panel->reset_gpio, 1); in nt39016_prepare()
138 gpiod_set_value_cansleep(panel->reset_gpio, 0); in nt39016_prepare()
142 err = regmap_multi_reg_write(panel->map, nt39016_panel_regs, in nt39016_prepare()
152 regulator_disable(panel->supply); in nt39016_prepare()
158 struct nt39016 *panel = to_nt39016(drm_panel); in nt39016_unprepare() local
160 gpiod_set_value_cansleep(panel->reset_gpio, 1); in nt39016_unprepare()
162 regulator_disable(panel->supply); in nt39016_unprepare()
169 struct nt39016 *panel = to_nt39016(drm_panel); in nt39016_enable() local
172 ret = regmap_write(panel->map, NT39016_REG_SYSTEM, in nt39016_enable()
175 dev_err(drm_panel->dev, "Unable to enable panel: %d\n", ret); in nt39016_enable()
189 struct nt39016 *panel = to_nt39016(drm_panel); in nt39016_disable() local
192 err = regmap_write(panel->map, NT39016_REG_SYSTEM, in nt39016_disable()
195 dev_err(drm_panel->dev, "Unable to disable panel: %d\n", err); in nt39016_disable()
205 struct nt39016 *panel = to_nt39016(drm_panel); in nt39016_get_modes() local
206 const struct nt39016_panel_info *panel_info = panel->panel_info; in nt39016_get_modes()
247 struct nt39016 *panel; in nt39016_probe() local
250 panel = devm_kzalloc(dev, sizeof(*panel), GFP_KERNEL); in nt39016_probe()
251 if (!panel) in nt39016_probe()
254 spi_set_drvdata(spi, panel); in nt39016_probe()
256 panel->panel_info = of_device_get_match_data(dev); in nt39016_probe()
257 if (!panel->panel_info) in nt39016_probe()
260 panel->supply = devm_regulator_get(dev, "power"); in nt39016_probe()
261 if (IS_ERR(panel->supply)) in nt39016_probe()
262 return dev_err_probe(dev, PTR_ERR(panel->supply), in nt39016_probe()
265 panel->reset_gpio = devm_gpiod_get(dev, "reset", GPIOD_OUT_HIGH); in nt39016_probe()
266 if (IS_ERR(panel->reset_gpio)) in nt39016_probe()
267 return dev_err_probe(dev, PTR_ERR(panel->reset_gpio), "Failed to get reset GPIO\n"); in nt39016_probe()
277 panel->map = devm_regmap_init_spi(spi, &nt39016_regmap_config); in nt39016_probe()
278 if (IS_ERR(panel->map)) { in nt39016_probe()
280 return PTR_ERR(panel->map); in nt39016_probe()
283 drm_panel_init(&panel->drm_panel, dev, &nt39016_funcs, in nt39016_probe()
286 err = drm_panel_of_backlight(&panel->drm_panel); in nt39016_probe()
290 drm_panel_add(&panel->drm_panel); in nt39016_probe()
297 struct nt39016 *panel = spi_get_drvdata(spi); in nt39016_remove() local
299 drm_panel_remove(&panel->drm_panel); in nt39016_remove()
301 nt39016_disable(&panel->drm_panel); in nt39016_remove()
302 nt39016_unprepare(&panel->drm_panel); in nt39016_remove()