From 3f4851db42fff249900164c8d2ee181b5515fe05 Mon Sep 17 00:00:00 2001 From: "jinhyung.jo" Date: Fri, 14 Dec 2012 18:41:08 +0900 Subject: [PATCH] maru_brightness : remove Sonar violations remove Sonar violations Signed-off-by: Jinhyung Jo --- drivers/maru/maru_bl.c | 53 ++++++++++++++++++++++++------------------ 1 file changed, 31 insertions(+), 22 deletions(-) diff --git a/drivers/maru/maru_bl.c b/drivers/maru/maru_bl.c index 9f17acb9315f..57f5d7ccc947 100644 --- a/drivers/maru/maru_bl.c +++ b/drivers/maru/maru_bl.c @@ -70,7 +70,6 @@ static int max_brightness = 100; static int marubl_get_intensity(struct backlight_device *bd) { return marubl_device->brightness; - // return marubl_device->brightness = (unsigned int)readl(marubl_device->marubl_mmreg); } static int marubl_send_intensity(struct backlight_device *bd) @@ -90,8 +89,6 @@ static int marubl_send_intensity(struct backlight_device *bd) intensity = 0; off = 1; } -// if (bd->props.state & GENERICBL_BATTLOW) -// intensity &= bl_machinfo->limit_mask; writel(intensity, marubl_device->marubl_mmreg); writel(off, marubl_device->marubl_mmreg + 0x04); @@ -118,32 +115,43 @@ static int __devinit marubl_probe(struct pci_dev *pci_dev, marubl_device = kmalloc(sizeof(struct marubl), GFP_KERNEL); if (marubl_device == NULL) { printk(KERN_ERR "marubl: kmalloc() is failed.\n"); - return -1; + return -ENOMEM; } memset(marubl_device, 0, sizeof(struct marubl)); - if ((ret = pci_enable_device(pci_dev)) < 0) { + ret = pci_enable_device(pci_dev); + if (ret < 0) { printk(KERN_ERR "marubl: pci_enable_device is failed.\n"); - goto outnotdev; + kfree(marubl_device); + marubl_device = NULL; + return ret; } ret = -EIO; - + /* 1 : IORESOURCE_MEM */ - if (!request_mem_region(marubl_device->reg_start = pci_resource_start(pci_dev, 1), - marubl_device->reg_size = pci_resource_len(pci_dev, 1), - MARUBL_DRIVER_NAME)) { - goto outnotdev; + marubl_device->reg_start = pci_resource_start(pci_dev, 1); + marubl_device->reg_size = pci_resource_len(pci_dev, 1); + if (!request_mem_region(marubl_device->reg_start, + marubl_device->reg_size, + MARUBL_DRIVER_NAME)) { + pci_disable_device(pci_dev); + kfree(marubl_device); + marubl_device = NULL; + return ret; } /* memory areas mapped kernel space */ marubl_device->marubl_mmreg = ioremap(marubl_device->reg_start, marubl_device->reg_size); if (!marubl_device->marubl_mmreg) { - goto outnotdev; + release_mem_region(marubl_device->reg_start, marubl_device->reg_size); + pci_disable_device(pci_dev); + kfree(marubl_device); + marubl_device = NULL; + return ret; } - //pci_write_config_byte(pci_dev, PCI_CACHE_LINE_SIZE, 8); pci_write_config_byte(pci_dev, PCI_LATENCY_TIMER, 64); pci_set_master(pci_dev); @@ -155,9 +163,14 @@ static int __devinit marubl_probe(struct pci_dev *pci_dev, props.max_brightness = max_brightness; props.type = BACKLIGHT_PLATFORM; bd = backlight_device_register ("emulator", &pci_dev->dev, NULL, &marubl_ops, &props); - if (IS_ERR (bd)) { - ret = PTR_ERR (bd); - goto outnotdev; + if (IS_ERR(bd)) { + ret = PTR_ERR(bd); + iounmap(marubl_device->marubl_mmreg); + release_mem_region(marubl_device->reg_start, marubl_device->reg_size); + pci_disable_device(pci_dev); + kfree(marubl_device); + marubl_device = NULL; + return ret; } bd->props.brightness = (unsigned int)readl(marubl_device->marubl_mmreg);; @@ -168,12 +181,6 @@ static int __devinit marubl_probe(struct pci_dev *pci_dev, printk(KERN_INFO "marubl: MARU Virtual Backlight driver.\n"); return 0; - -outnotdev: - if (marubl_device->marubl_mmreg) - iounmap(marubl_device->marubl_mmreg); - kfree(marubl_device); - return ret; } static void __devexit marubl_exit(struct pci_dev *pcidev) @@ -193,8 +200,10 @@ static void __devexit marubl_exit(struct pci_dev *pcidev) * Unregister pci device & delete device */ iounmap(marubl_device->marubl_mmreg); + release_mem_region(marubl_device->reg_start, marubl_device->reg_size); pci_disable_device(pcidev); kfree(marubl_device); + marubl_device = NULL; } /* -- 2.34.1