diff options
Diffstat (limited to 'drivers/gpu/drm/panel/panel-sharp-lq101r1sx01.c')
| -rw-r--r-- | drivers/gpu/drm/panel/panel-sharp-lq101r1sx01.c | 38 | 
1 files changed, 7 insertions, 31 deletions
diff --git a/drivers/gpu/drm/panel/panel-sharp-lq101r1sx01.c b/drivers/gpu/drm/panel/panel-sharp-lq101r1sx01.c index 3cce3ca19601..6bf8730f1a21 100644 --- a/drivers/gpu/drm/panel/panel-sharp-lq101r1sx01.c +++ b/drivers/gpu/drm/panel/panel-sharp-lq101r1sx01.c @@ -96,10 +96,7 @@ static int sharp_panel_disable(struct drm_panel *panel)  	if (!sharp->enabled)  		return 0; -	if (sharp->backlight) { -		sharp->backlight->props.power = FB_BLANK_POWERDOWN; -		backlight_update_status(sharp->backlight); -	} +	backlight_disable(sharp->backlight);  	sharp->enabled = false; @@ -263,10 +260,7 @@ static int sharp_panel_enable(struct drm_panel *panel)  	if (sharp->enabled)  		return 0; -	if (sharp->backlight) { -		sharp->backlight->props.power = FB_BLANK_UNBLANK; -		backlight_update_status(sharp->backlight); -	} +	backlight_enable(sharp->backlight);  	sharp->enabled = true; @@ -324,8 +318,7 @@ MODULE_DEVICE_TABLE(of, sharp_of_match);  static int sharp_panel_add(struct sharp_panel *sharp)  { -	struct device_node *np; -	int err; +	struct device *dev = &sharp->link1->dev;  	sharp->mode = &default_mode; @@ -333,30 +326,16 @@ static int sharp_panel_add(struct sharp_panel *sharp)  	if (IS_ERR(sharp->supply))  		return PTR_ERR(sharp->supply); -	np = of_parse_phandle(sharp->link1->dev.of_node, "backlight", 0); -	if (np) { -		sharp->backlight = of_find_backlight_by_node(np); -		of_node_put(np); +	sharp->backlight = devm_of_find_backlight(dev); -		if (!sharp->backlight) -			return -EPROBE_DEFER; -	} +	if (IS_ERR(sharp->backlight)) +		return PTR_ERR(sharp->backlight);  	drm_panel_init(&sharp->base);  	sharp->base.funcs = &sharp_panel_funcs;  	sharp->base.dev = &sharp->link1->dev; -	err = drm_panel_add(&sharp->base); -	if (err < 0) -		goto put_backlight; - -	return 0; - -put_backlight: -	if (sharp->backlight) -		put_device(&sharp->backlight->dev); - -	return err; +	return drm_panel_add(&sharp->base);  }  static void sharp_panel_del(struct sharp_panel *sharp) @@ -364,9 +343,6 @@ static void sharp_panel_del(struct sharp_panel *sharp)  	if (sharp->base.dev)  		drm_panel_remove(&sharp->base); -	if (sharp->backlight) -		put_device(&sharp->backlight->dev); -  	if (sharp->link2)  		put_device(&sharp->link2->dev);  }  |