diff options
Diffstat (limited to 'drivers/gpu/drm/panel/panel-ld9040.c')
| -rw-r--r-- | drivers/gpu/drm/panel/panel-ld9040.c | 21 | 
1 files changed, 18 insertions, 3 deletions
diff --git a/drivers/gpu/drm/panel/panel-ld9040.c b/drivers/gpu/drm/panel/panel-ld9040.c index db1601fdbe29..42ac67b21e9f 100644 --- a/drivers/gpu/drm/panel/panel-ld9040.c +++ b/drivers/gpu/drm/panel/panel-ld9040.c @@ -110,7 +110,10 @@ struct ld9040 {  	int error;  }; -#define panel_to_ld9040(p) container_of(p, struct ld9040, panel) +static inline struct ld9040 *panel_to_ld9040(struct drm_panel *panel) +{ +	return container_of(panel, struct ld9040, panel); +}  static int ld9040_clear_error(struct ld9040 *ctx)  { @@ -216,6 +219,11 @@ static int ld9040_power_off(struct ld9040 *ctx)  static int ld9040_disable(struct drm_panel *panel)  { +	return 0; +} + +static int ld9040_unprepare(struct drm_panel *panel) +{  	struct ld9040 *ctx = panel_to_ld9040(panel);  	msleep(120); @@ -228,7 +236,7 @@ static int ld9040_disable(struct drm_panel *panel)  	return ld9040_power_off(ctx);  } -static int ld9040_enable(struct drm_panel *panel) +static int ld9040_prepare(struct drm_panel *panel)  {  	struct ld9040 *ctx = panel_to_ld9040(panel);  	int ret; @@ -242,11 +250,16 @@ static int ld9040_enable(struct drm_panel *panel)  	ret = ld9040_clear_error(ctx);  	if (ret < 0) -		ld9040_disable(panel); +		ld9040_unprepare(panel);  	return ret;  } +static int ld9040_enable(struct drm_panel *panel) +{ +	return 0; +} +  static int ld9040_get_modes(struct drm_panel *panel)  {  	struct drm_connector *connector = panel->connector; @@ -273,6 +286,8 @@ static int ld9040_get_modes(struct drm_panel *panel)  static const struct drm_panel_funcs ld9040_drm_funcs = {  	.disable = ld9040_disable, +	.unprepare = ld9040_unprepare, +	.prepare = ld9040_prepare,  	.enable = ld9040_enable,  	.get_modes = ld9040_get_modes,  };  |