From 8bf046b06b6289ae51e8ef27eb036f89af426cf0 Mon Sep 17 00:00:00 2001 From: Jesper Juhl Date: Sat, 11 Aug 2007 10:29:59 +0100 Subject: [PATCH] --- yaml --- r: 66103 b: refs/heads/master c: 0b75f2dfa2a67012ff6996b322117e1d7e45abe1 h: refs/heads/master i: 66101: aa5e2c261813dd8b0f79843fd4567e1b6ec2abe7 66099: 74dc3e11fa49e3dabe71baf4961fae7226e52b08 66095: 001544422b44793f16921e0ac0f28698d0f9e315 v: v3 --- [refs] | 2 +- trunk/drivers/video/backlight/cr_bllcd.c | 35 ++++++++++++++---------- 2 files changed, 21 insertions(+), 16 deletions(-) diff --git a/[refs] b/[refs] index 9f19671bb2da..4ac59455137e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 0ad90efde278866a4ba7510e6e1fbd9626da1689 +refs/heads/master: 0b75f2dfa2a67012ff6996b322117e1d7e45abe1 diff --git a/trunk/drivers/video/backlight/cr_bllcd.c b/trunk/drivers/video/backlight/cr_bllcd.c index b7904da51b23..92e201e81fbd 100644 --- a/trunk/drivers/video/backlight/cr_bllcd.c +++ b/trunk/drivers/video/backlight/cr_bllcd.c @@ -171,13 +171,11 @@ static struct lcd_ops cr_lcd_ops = { static int cr_backlight_probe(struct platform_device *pdev) { + struct backlight_device *bdp; + struct lcd_device *ldp; struct cr_panel *crp; u8 dev_en; - crp = kzalloc(sizeof(*crp), GFP_KERNEL); - if (crp == NULL) - return -ENOMEM; - lpc_dev = pci_get_device(PCI_VENDOR_ID_INTEL, CRVML_DEVICE_LPC, NULL); if (!lpc_dev) { @@ -193,27 +191,34 @@ static int cr_backlight_probe(struct platform_device *pdev) return -ENODEV; } - crp->cr_backlight_device = backlight_device_register("cr-backlight", - &pdev->dev, NULL, - &cr_backlight_ops); - if (IS_ERR(crp->cr_backlight_device)) { + bdp = backlight_device_register("cr-backlight", + &pdev->dev, NULL, &cr_backlight_ops); + if (IS_ERR(bdp)) { pci_dev_put(lpc_dev); - return PTR_ERR(crp->cr_backlight_device); + return PTR_ERR(bdp); } - crp->cr_lcd_device = lcd_device_register("cr-lcd", - &pdev->dev, NULL, - &cr_lcd_ops); - - if (IS_ERR(crp->cr_lcd_device)) { + ldp = lcd_device_register("cr-lcd", &pdev->dev, NULL, &cr_lcd_ops); + if (IS_ERR(ldp)) { + backlight_device_unregister(bdp); pci_dev_put(lpc_dev); - return PTR_ERR(crp->cr_backlight_device); + return PTR_ERR(bdp); } pci_read_config_dword(lpc_dev, CRVML_REG_GPIOBAR, &gpio_bar); gpio_bar &= ~0x3F; + crp = kzalloc(sizeof(*crp), GFP_KERNEL); + if (!crp) { + lcd_device_unregister(ldp); + backlight_device_unregister(bdp); + pci_dev_put(lpc_dev); + return -ENOMEM; + } + + crp->cr_backlight_device = bdp; + crp->cr_lcd_device = ldp; crp->cr_backlight_device->props.power = FB_BLANK_UNBLANK; crp->cr_backlight_device->props.brightness = 0; crp->cr_backlight_device->props.max_brightness = 0;