diff options
Diffstat (limited to 'drivers/video/backlight/adp8860_bl.c')
| -rw-r--r-- | drivers/video/backlight/adp8860_bl.c | 21 | 
1 files changed, 8 insertions, 13 deletions
diff --git a/drivers/video/backlight/adp8860_bl.c b/drivers/video/backlight/adp8860_bl.c index 75b10f87612..be8d83deca7 100644 --- a/drivers/video/backlight/adp8860_bl.c +++ b/drivers/video/backlight/adp8860_bl.c @@ -216,7 +216,7 @@ static int adp8860_led_setup(struct adp8860_led *led)  static int adp8860_led_probe(struct i2c_client *client)  {  	struct adp8860_backlight_platform_data *pdata = -		client->dev.platform_data; +		dev_get_platdata(&client->dev);  	struct adp8860_bl *data = i2c_get_clientdata(client);  	struct adp8860_led *led, *led_dat;  	struct led_info *cur_led; @@ -224,10 +224,8 @@ static int adp8860_led_probe(struct i2c_client *client)  	led = devm_kzalloc(&client->dev, sizeof(*led) * pdata->num_leds,  				GFP_KERNEL); -	if (led == NULL) { -		dev_err(&client->dev, "failed to alloc memory\n"); +	if (led == NULL)  		return -ENOMEM; -	}  	ret = adp8860_write(client, ADP8860_ISCFR, pdata->led_fade_law);  	ret = adp8860_write(client, ADP8860_ISCT1, @@ -300,7 +298,7 @@ static int adp8860_led_probe(struct i2c_client *client)  static int adp8860_led_remove(struct i2c_client *client)  {  	struct adp8860_backlight_platform_data *pdata = -		client->dev.platform_data; +		dev_get_platdata(&client->dev);  	struct adp8860_bl *data = i2c_get_clientdata(client);  	int i; @@ -658,7 +656,7 @@ static int adp8860_probe(struct i2c_client *client,  	struct backlight_device *bl;  	struct adp8860_bl *data;  	struct adp8860_backlight_platform_data *pdata = -		client->dev.platform_data; +		dev_get_platdata(&client->dev);  	struct backlight_properties props;  	uint8_t reg_val;  	int ret; @@ -711,8 +709,9 @@ static int adp8860_probe(struct i2c_client *client,  	mutex_init(&data->lock); -	bl = backlight_device_register(dev_driver_string(&client->dev), -			&client->dev, data, &adp8860_bl_ops, &props); +	bl = devm_backlight_device_register(&client->dev, +				dev_driver_string(&client->dev), +				&client->dev, data, &adp8860_bl_ops, &props);  	if (IS_ERR(bl)) {  		dev_err(&client->dev, "failed to register backlight\n");  		return PTR_ERR(bl); @@ -728,7 +727,7 @@ static int adp8860_probe(struct i2c_client *client,  	if (ret) {  		dev_err(&client->dev, "failed to register sysfs\n"); -		goto out1; +		return ret;  	}  	ret = adp8860_bl_setup(bl); @@ -751,8 +750,6 @@ out:  	if (data->en_ambl_sens)  		sysfs_remove_group(&data->bl->dev.kobj,  			&adp8860_bl_attr_group); -out1: -	backlight_device_unregister(bl);  	return ret;  } @@ -770,8 +767,6 @@ static int adp8860_remove(struct i2c_client *client)  		sysfs_remove_group(&data->bl->dev.kobj,  			&adp8860_bl_attr_group); -	backlight_device_unregister(data->bl); -  	return 0;  }  | 
