diff options
Diffstat (limited to 'drivers/video/backlight/platform_lcd.c')
| -rw-r--r-- | drivers/video/backlight/platform_lcd.c | 26 | 
1 files changed, 5 insertions, 21 deletions
diff --git a/drivers/video/backlight/platform_lcd.c b/drivers/video/backlight/platform_lcd.c index 05683670670..c3d2e209fc8 100644 --- a/drivers/video/backlight/platform_lcd.c +++ b/drivers/video/backlight/platform_lcd.c @@ -80,7 +80,7 @@ static int platform_lcd_probe(struct platform_device *pdev)  	struct device *dev = &pdev->dev;  	int err; -	pdata = pdev->dev.platform_data; +	pdata = dev_get_platdata(&pdev->dev);  	if (!pdata) {  		dev_err(dev, "no platform data supplied\n");  		return -EINVAL; @@ -94,37 +94,22 @@ static int platform_lcd_probe(struct platform_device *pdev)  	plcd = devm_kzalloc(&pdev->dev, sizeof(struct platform_lcd),  			    GFP_KERNEL); -	if (!plcd) { -		dev_err(dev, "no memory for state\n"); +	if (!plcd)  		return -ENOMEM; -	}  	plcd->us = dev;  	plcd->pdata = pdata; -	plcd->lcd = lcd_device_register(dev_name(dev), dev, -					plcd, &platform_lcd_ops); +	plcd->lcd = devm_lcd_device_register(&pdev->dev, dev_name(dev), dev, +						plcd, &platform_lcd_ops);  	if (IS_ERR(plcd->lcd)) {  		dev_err(dev, "cannot register lcd device\n"); -		err = PTR_ERR(plcd->lcd); -		goto err; +		return PTR_ERR(plcd->lcd);  	}  	platform_set_drvdata(pdev, plcd);  	platform_lcd_set_power(plcd->lcd, FB_BLANK_NORMAL);  	return 0; - - err: -	return err; -} - -static int platform_lcd_remove(struct platform_device *pdev) -{ -	struct platform_lcd *plcd = platform_get_drvdata(pdev); - -	lcd_device_unregister(plcd->lcd); - -	return 0;  }  #ifdef CONFIG_PM_SLEEP @@ -168,7 +153,6 @@ static struct platform_driver platform_lcd_driver = {  		.of_match_table = of_match_ptr(platform_lcd_of_match),  	},  	.probe		= platform_lcd_probe, -	.remove		= platform_lcd_remove,  };  module_platform_driver(platform_lcd_driver);  | 
