diff options
| author | Thomas Gleixner <tglx@linutronix.de> | 2010-05-10 11:59:37 +0200 | 
|---|---|---|
| committer | Thomas Gleixner <tglx@linutronix.de> | 2010-05-10 14:20:42 +0200 | 
| commit | dbb6be6d5e974c42bbecd183effaa0df69e1dd8b (patch) | |
| tree | 5735cb47e70853d057a9881dd0ce44b83e88fa63 /drivers/video/backlight/progear_bl.c | |
| parent | 6a867a395558a7f882d041783e4cdea6744ca2bf (diff) | |
| parent | b57f95a38233a2e73b679bea4a5453a1cc2a1cc9 (diff) | |
| download | olio-linux-3.10-dbb6be6d5e974c42bbecd183effaa0df69e1dd8b.tar.xz olio-linux-3.10-dbb6be6d5e974c42bbecd183effaa0df69e1dd8b.zip  | |
Merge branch 'linus' into timers/core
Reason: Further posix_cpu_timer patches depend on mainline changes
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'drivers/video/backlight/progear_bl.c')
| -rw-r--r-- | drivers/video/backlight/progear_bl.c | 23 | 
1 files changed, 17 insertions, 6 deletions
diff --git a/drivers/video/backlight/progear_bl.c b/drivers/video/backlight/progear_bl.c index 075786e0503..809278c9073 100644 --- a/drivers/video/backlight/progear_bl.c +++ b/drivers/video/backlight/progear_bl.c @@ -61,8 +61,10 @@ static const struct backlight_ops progearbl_ops = {  static int progearbl_probe(struct platform_device *pdev)  { +	struct backlight_properties props;  	u8 temp;  	struct backlight_device *progear_backlight_device; +	int ret;  	pmu_dev = pci_get_device(PCI_VENDOR_ID_AL, PCI_DEVICE_ID_AL_M7101, NULL);  	if (!pmu_dev) { @@ -73,28 +75,37 @@ static int progearbl_probe(struct platform_device *pdev)  	sb_dev = pci_get_device(PCI_VENDOR_ID_AL, PCI_DEVICE_ID_AL_M1533, NULL);  	if (!sb_dev) {  		printk("ALI 1533 SB not found.\n"); -		pci_dev_put(pmu_dev); -		return -ENODEV; +		ret = -ENODEV; +		goto put_pmu;  	}  	/*     Set SB_MPS1 to enable brightness control. */  	pci_read_config_byte(sb_dev, SB_MPS1, &temp);  	pci_write_config_byte(sb_dev, SB_MPS1, temp | 0x20); +	memset(&props, 0, sizeof(struct backlight_properties)); +	props.max_brightness = HW_LEVEL_MAX - HW_LEVEL_MIN;  	progear_backlight_device = backlight_device_register("progear-bl",  							     &pdev->dev, NULL, -							     &progearbl_ops); -	if (IS_ERR(progear_backlight_device)) -		return PTR_ERR(progear_backlight_device); +							     &progearbl_ops, +							     &props); +	if (IS_ERR(progear_backlight_device)) { +		ret = PTR_ERR(progear_backlight_device); +		goto put_sb; +	}  	platform_set_drvdata(pdev, progear_backlight_device);  	progear_backlight_device->props.power = FB_BLANK_UNBLANK;  	progear_backlight_device->props.brightness = HW_LEVEL_MAX - HW_LEVEL_MIN; -	progear_backlight_device->props.max_brightness = HW_LEVEL_MAX - HW_LEVEL_MIN;  	progearbl_set_intensity(progear_backlight_device);  	return 0; +put_sb: +	pci_dev_put(sb_dev); +put_pmu: +	pci_dev_put(pmu_dev); +	return ret;  }  static int progearbl_remove(struct platform_device *pdev)  |