mfd: Convert WM8350 to genirq
[safe/jmp/linux-2.6] / drivers / mfd / sm501.c
index 6c3786f..dc9ea95 100644 (file)
@@ -367,7 +367,8 @@ int sm501_unit_power(struct device *dev, unsigned int unit, unsigned int to)
                break;
 
        default:
-               return -1;
+               gate = -1;
+               goto already;
        }
 
        writel(mode, sm->regs + SM501_POWER_MODE_CONTROL);
@@ -1050,7 +1051,7 @@ static int __devinit sm501_gpio_register_chip(struct sm501_devdata *sm,
        return gpiochip_add(gchip);
 }
 
-static int sm501_register_gpio(struct sm501_devdata *sm)
+static int __devinit sm501_register_gpio(struct sm501_devdata *sm)
 {
        struct sm501_gpio *gpio = &sm->gpio;
        resource_size_t iobase = sm->io_res->start + SM501_GPIO;
@@ -1429,7 +1430,7 @@ static int __devinit sm501_plat_probe(struct platform_device *dev)
        }
 
        sm->regs_claim = request_mem_region(sm->io_res->start,
-                                           0x100, "sm501");
+                                           resource_size(sm->io_res), "sm501");
 
        if (sm->regs_claim == NULL) {
                dev_err(&dev->dev, "cannot claim registers\n");
@@ -1439,8 +1440,7 @@ static int __devinit sm501_plat_probe(struct platform_device *dev)
 
        platform_set_drvdata(dev, sm);
 
-       sm->regs = ioremap(sm->io_res->start,
-                          (sm->io_res->end - sm->io_res->start) - 1);
+       sm->regs = ioremap(sm->io_res->start, resource_size(sm->io_res));
 
        if (sm->regs == NULL) {
                dev_err(&dev->dev, "cannot remap registers\n");
@@ -1644,7 +1644,7 @@ static int __devinit sm501_pci_probe(struct pci_dev *dev,
        sm->mem_res = &dev->resource[0];
 
        sm->regs_claim = request_mem_region(sm->io_res->start,
-                                           0x100, "sm501");
+                                           resource_size(sm->io_res), "sm501");
        if (sm->regs_claim == NULL) {
                dev_err(&dev->dev, "cannot claim registers\n");
                err= -EBUSY;