diff options
Diffstat (limited to 'drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c')
| -rw-r--r-- | drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c | 13 | 
1 files changed, 10 insertions, 3 deletions
diff --git a/drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c b/drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c index 46029c5610c8..145047e19394 100644 --- a/drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c +++ b/drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c @@ -229,7 +229,7 @@ static void rpi_touchscreen_i2c_write(struct rpi_touchscreen *ts,  	ret = i2c_smbus_write_byte_data(ts->i2c, reg, val);  	if (ret) -		dev_err(&ts->dsi->dev, "I2C write failed: %d\n", ret); +		dev_err(&ts->i2c->dev, "I2C write failed: %d\n", ret);  }  static int rpi_touchscreen_write(struct rpi_touchscreen *ts, u16 reg, u32 val) @@ -265,7 +265,7 @@ static int rpi_touchscreen_noop(struct drm_panel *panel)  	return 0;  } -static int rpi_touchscreen_enable(struct drm_panel *panel) +static int rpi_touchscreen_prepare(struct drm_panel *panel)  {  	struct rpi_touchscreen *ts = panel_to_ts(panel);  	int i; @@ -295,6 +295,13 @@ static int rpi_touchscreen_enable(struct drm_panel *panel)  	rpi_touchscreen_write(ts, DSI_STARTDSI, 0x01);  	msleep(100); +	return 0; +} + +static int rpi_touchscreen_enable(struct drm_panel *panel) +{ +	struct rpi_touchscreen *ts = panel_to_ts(panel); +  	/* Turn on the backlight. */  	rpi_touchscreen_i2c_write(ts, REG_PWM, 255); @@ -349,7 +356,7 @@ static int rpi_touchscreen_get_modes(struct drm_panel *panel,  static const struct drm_panel_funcs rpi_touchscreen_funcs = {  	.disable = rpi_touchscreen_disable,  	.unprepare = rpi_touchscreen_noop, -	.prepare = rpi_touchscreen_noop, +	.prepare = rpi_touchscreen_prepare,  	.enable = rpi_touchscreen_enable,  	.get_modes = rpi_touchscreen_get_modes,  };  |