]> Pileus Git - ~andy/linux/blobdiff - drivers/gpio/gpio-ml-ioh.c
ARM: 7341/1: input: prepare jornada720 keyboard and ts for sa11x0 sparse irq
[~andy/linux] / drivers / gpio / gpio-ml-ioh.c
index 461958fc2264e91321a5bb80f7ba9cbed0a1a5bc..f0febe5b8221384c390711208c191a56cc2ee4f8 100644 (file)
@@ -248,7 +248,7 @@ static void ioh_gpio_setup(struct ioh_gpio *chip, int num_port)
 static int ioh_irq_type(struct irq_data *d, unsigned int type)
 {
        u32 im;
-       u32 *im_reg;
+       void __iomem *im_reg;
        u32 ien;
        u32 im_pos;
        int ch;
@@ -412,7 +412,7 @@ static int __devinit ioh_gpio_probe(struct pci_dev *pdev,
        int i, j;
        struct ioh_gpio *chip;
        void __iomem *base;
-       void __iomem *chip_save;
+       void *chip_save;
        int irq_base;
 
        ret = pci_enable_device(pdev);
@@ -428,7 +428,7 @@ static int __devinit ioh_gpio_probe(struct pci_dev *pdev,
        }
 
        base = pci_iomap(pdev, 1, 0);
-       if (base == 0) {
+       if (!base) {
                dev_err(&pdev->dev, "%s : pci_iomap failed", __func__);
                ret = -ENOMEM;
                goto err_iomap;
@@ -448,6 +448,7 @@ static int __devinit ioh_gpio_probe(struct pci_dev *pdev,
                chip->reg = chip->base;
                chip->ch = i;
                mutex_init(&chip->lock);
+               spin_lock_init(&chip->spinlock);
                ioh_gpio_setup(chip, num_ports[i]);
                ret = gpiochip_add(&chip->gpio);
                if (ret) {
@@ -521,7 +522,7 @@ static void __devexit ioh_gpio_remove(struct pci_dev *pdev)
        int err;
        int i;
        struct ioh_gpio *chip = pci_get_drvdata(pdev);
-       void __iomem *chip_save;
+       void *chip_save;
 
        chip_save = chip;