Lines Matching full:panel

3  * Orisetech OTA5601A TFT LCD panel driver
42 static inline struct ota5601a *to_ota5601a(struct drm_panel *panel) in to_ota5601a() argument
44 return container_of(panel, struct ota5601a, drm_panel); in to_ota5601a()
113 struct ota5601a *panel = to_ota5601a(drm_panel); in ota5601a_prepare() local
116 err = regulator_enable(panel->supply); in ota5601a_prepare()
123 gpiod_set_value_cansleep(panel->reset_gpio, 1); in ota5601a_prepare()
125 gpiod_set_value_cansleep(panel->reset_gpio, 0); in ota5601a_prepare()
129 err = regmap_multi_reg_write(panel->map, ota5601a_panel_regs, in ota5601a_prepare()
141 regulator_disable(panel->supply); in ota5601a_prepare()
147 struct ota5601a *panel = to_ota5601a(drm_panel); in ota5601a_unprepare() local
149 gpiod_set_value_cansleep(panel->reset_gpio, 1); in ota5601a_unprepare()
151 regulator_disable(panel->supply); in ota5601a_unprepare()
158 struct ota5601a *panel = to_ota5601a(drm_panel); in ota5601a_enable() local
161 err = regmap_write(panel->map, OTA5601A_CTL, OTA5601A_CTL_ON); in ota5601a_enable()
164 dev_err(drm_panel->dev, "Unable to enable panel: %d\n", err); in ota5601a_enable()
178 struct ota5601a *panel = to_ota5601a(drm_panel); in ota5601a_disable() local
181 err = regmap_write(panel->map, OTA5601A_CTL, OTA5601A_CTL_OFF); in ota5601a_disable()
184 dev_err(drm_panel->dev, "Unable to disable panel: %d\n", err); in ota5601a_disable()
194 struct ota5601a *panel = to_ota5601a(drm_panel); in ota5601a_get_modes() local
195 const struct ota5601a_panel_info *panel_info = panel->panel_info; in ota5601a_get_modes()
237 struct ota5601a *panel; in ota5601a_probe() local
240 panel = devm_kzalloc(dev, sizeof(*panel), GFP_KERNEL); in ota5601a_probe()
241 if (!panel) in ota5601a_probe()
244 spi_set_drvdata(spi, panel); in ota5601a_probe()
246 panel->panel_info = (const struct ota5601a_panel_info *)id->driver_data; in ota5601a_probe()
247 if (!panel->panel_info) in ota5601a_probe()
250 panel->supply = devm_regulator_get(dev, "power"); in ota5601a_probe()
251 if (IS_ERR(panel->supply)) { in ota5601a_probe()
253 return PTR_ERR(panel->supply); in ota5601a_probe()
256 panel->reset_gpio = devm_gpiod_get(dev, "reset", GPIOD_OUT_HIGH); in ota5601a_probe()
257 if (IS_ERR(panel->reset_gpio)) { in ota5601a_probe()
259 return PTR_ERR(panel->reset_gpio); in ota5601a_probe()
270 panel->map = devm_regmap_init_spi(spi, &ota5601a_regmap_config); in ota5601a_probe()
271 if (IS_ERR(panel->map)) { in ota5601a_probe()
273 return PTR_ERR(panel->map); in ota5601a_probe()
276 drm_panel_init(&panel->drm_panel, dev, &ota5601a_funcs, in ota5601a_probe()
279 err = drm_panel_of_backlight(&panel->drm_panel); in ota5601a_probe()
286 drm_panel_add(&panel->drm_panel); in ota5601a_probe()
293 struct ota5601a *panel = spi_get_drvdata(spi); in ota5601a_remove() local
295 drm_panel_remove(&panel->drm_panel); in ota5601a_remove()
297 ota5601a_disable(&panel->drm_panel); in ota5601a_remove()
298 ota5601a_unprepare(&panel->drm_panel); in ota5601a_remove()
363 MODULE_DESCRIPTION("Orisetech OTA5601A TFT LCD panel driver");