]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
Merge tag 'v4.2-rc4' into devel
authorLinus Walleij <linus.walleij@linaro.org>
Thu, 13 Aug 2015 12:42:55 +0000 (14:42 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Thu, 13 Aug 2015 12:42:55 +0000 (14:42 +0200)
Linux 4.2-rc4

1  2 
drivers/gpio/gpio-brcmstb.c
drivers/gpio/gpio-omap.c
drivers/gpio/gpio-zynq.c
drivers/iio/light/stk3310.c
drivers/iio/magnetometer/bmc150_magn.c

index 113dc07fbfbee17b789e3d2be1382421a0edb4d0,4630a8133ea6b94726a84c48486ff75eb4075bb2..9ea86d2ac05462bb832f5fe14cae4c2b9132c2c1
@@@ -424,17 -164,6 +435,16 @@@ static int brcmstb_gpio_probe(struct pl
        priv->reg_base = reg_base;
        priv->pdev = pdev;
  
-       INIT_LIST_HEAD(&priv->bank_list);
 +      if (of_property_read_bool(np, "interrupt-controller")) {
 +              priv->parent_irq = platform_get_irq(pdev, 0);
 +              if (priv->parent_irq <= 0) {
 +                      dev_err(dev, "Couldn't get IRQ");
 +                      return -ENOENT;
 +              }
 +      } else {
 +              priv->parent_irq = -ENOENT;
 +      }
 +
        if (brcmstb_gpio_sanity_check_banks(dev, np, res))
                return -EINVAL;
  
        }
  
        dev_info(dev, "Registered %d banks (GPIO(s): %d-%d)\n",
 -                      priv->num_banks, priv->gpio_base, gpio_base - 1);
 +                      num_banks, priv->gpio_base, gpio_base - 1);
  
-       platform_set_drvdata(pdev, priv);
        return 0;
  
  fail:
index a2ff0eec5b363f1c6327d84f24925e4f6c2f6d43,61a731ff9a076fccd0c9b2bdc15d3ca10ce5e21c..dba67b230e981209368ef0096f77550402f26862
@@@ -498,13 -498,15 +498,15 @@@ static int omap_gpio_irq_type(struct ir
        if (!BANK_USED(bank))
                pm_runtime_get_sync(bank->dev);
  
 -      spin_lock_irqsave(&bank->lock, flags);
 +      raw_spin_lock_irqsave(&bank->lock, flags);
        retval = omap_set_gpio_triggering(bank, offset, type);
-       if (retval)
+       if (retval) {
+               spin_unlock_irqrestore(&bank->lock, flags);
                goto error;
+       }
        omap_gpio_init_irq(bank, offset);
        if (!omap_gpio_is_input(bank, offset)) {
 -              spin_unlock_irqrestore(&bank->lock, flags);
 +              raw_spin_unlock_irqrestore(&bank->lock, flags);
                retval = -EINVAL;
                goto error;
        }
Simple merge
Simple merge