Lines Matching refs:sharp_nt

38 static int sharp_nt_panel_init(struct sharp_nt_panel *sharp_nt)
40 struct mipi_dsi_device *dsi = sharp_nt->dsi;
65 static int sharp_nt_panel_on(struct sharp_nt_panel *sharp_nt)
67 struct mipi_dsi_device *dsi = sharp_nt->dsi;
79 static int sharp_nt_panel_off(struct sharp_nt_panel *sharp_nt)
81 struct mipi_dsi_device *dsi = sharp_nt->dsi;
99 struct sharp_nt_panel *sharp_nt = to_sharp_nt_panel(panel);
102 if (!sharp_nt->prepared)
105 ret = sharp_nt_panel_off(sharp_nt);
111 regulator_disable(sharp_nt->supply);
112 if (sharp_nt->reset_gpio)
113 gpiod_set_value(sharp_nt->reset_gpio, 0);
115 sharp_nt->prepared = false;
122 struct sharp_nt_panel *sharp_nt = to_sharp_nt_panel(panel);
125 if (sharp_nt->prepared)
128 ret = regulator_enable(sharp_nt->supply);
134 if (sharp_nt->reset_gpio) {
135 gpiod_set_value(sharp_nt->reset_gpio, 1);
137 gpiod_set_value(sharp_nt->reset_gpio, 0);
139 gpiod_set_value(sharp_nt->reset_gpio, 1);
143 ret = sharp_nt_panel_init(sharp_nt);
149 ret = sharp_nt_panel_on(sharp_nt);
155 sharp_nt->prepared = true;
160 regulator_disable(sharp_nt->supply);
161 if (sharp_nt->reset_gpio)
162 gpiod_set_value(sharp_nt->reset_gpio, 0);
207 static int sharp_nt_panel_add(struct sharp_nt_panel *sharp_nt)
209 struct device *dev = &sharp_nt->dsi->dev;
212 sharp_nt->supply = devm_regulator_get(dev, "avdd");
213 if (IS_ERR(sharp_nt->supply))
214 return PTR_ERR(sharp_nt->supply);
216 sharp_nt->reset_gpio = devm_gpiod_get(dev, "reset", GPIOD_OUT_LOW);
217 if (IS_ERR(sharp_nt->reset_gpio)) {
219 PTR_ERR(sharp_nt->reset_gpio));
220 sharp_nt->reset_gpio = NULL;
222 gpiod_set_value(sharp_nt->reset_gpio, 0);
225 drm_panel_init(&sharp_nt->base, &sharp_nt->dsi->dev,
228 ret = drm_panel_of_backlight(&sharp_nt->base);
232 drm_panel_add(&sharp_nt->base);
237 static void sharp_nt_panel_del(struct sharp_nt_panel *sharp_nt)
239 if (sharp_nt->base.dev)
240 drm_panel_remove(&sharp_nt->base);
245 struct sharp_nt_panel *sharp_nt;
256 sharp_nt = devm_kzalloc(&dsi->dev, sizeof(*sharp_nt), GFP_KERNEL);
257 if (!sharp_nt)
260 mipi_dsi_set_drvdata(dsi, sharp_nt);
262 sharp_nt->dsi = dsi;
264 ret = sharp_nt_panel_add(sharp_nt);
270 sharp_nt_panel_del(sharp_nt);
279 struct sharp_nt_panel *sharp_nt = mipi_dsi_get_drvdata(dsi);
282 ret = drm_panel_disable(&sharp_nt->base);
290 sharp_nt_panel_del(sharp_nt);
295 struct sharp_nt_panel *sharp_nt = mipi_dsi_get_drvdata(dsi);
297 drm_panel_disable(&sharp_nt->base);