aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2015-09-16 11:07:04 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2015-09-16 11:07:04 -0400
commit9efeaaf9a0c1a27c2be8b2d37c73142555702a4f (patch)
treee1460b0b29c91af71c7e2e81a7a6bdc757eb9376
parentd1291ebd85770299857b355160864cd1a9f6e5e9 (diff)
parentfa84b52cb681b27e6b5e003457562e25a239b9c4 (diff)
Merge tag 'pinctrl-v4.3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl
Pull pin control fixes from Linus Walleij: "This is a first set of pin control fixes for the v4.3 series. Nothing special to say, business as usual. - Some IS_ERR() fixes from Julia Lawall. I always wanted the compiler to catch these but error pointers by nailing them as an err pointer intrinsic type or something seem to be a "no can do". In any case, cocinelle is obviously up to the task, better than bugs staying around. - Better error handling for NULL GPIO chips. - Fix a compile error from the big irq desc refactoring. I'm surprised the fallout wasn't bigger than this" * tag 'pinctrl-v4.3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: pinctrl: samsung: s3c24xx: fix syntax error pinctrl: core: Warn about NULL gpio_chip in pinctrl_ready_for_gpio_range() pinctrl: join lines that can be a single line within 80 columns pinctrl: digicolor: convert null test to IS_ERR test pinctrl: qcom: ssbi: convert null test to IS_ERR test
-rw-r--r--drivers/pinctrl/core.c3
-rw-r--r--drivers/pinctrl/pinctrl-digicolor.c4
-rw-r--r--drivers/pinctrl/pinmux.c3
-rw-r--r--drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c4
-rw-r--r--drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c4
-rw-r--r--drivers/pinctrl/samsung/pinctrl-s3c24xx.c2
6 files changed, 11 insertions, 9 deletions
diff --git a/drivers/pinctrl/core.c b/drivers/pinctrl/core.c
index 69723e07036b..9638a00c67c2 100644
--- a/drivers/pinctrl/core.c
+++ b/drivers/pinctrl/core.c
@@ -349,6 +349,9 @@ static bool pinctrl_ready_for_gpio_range(unsigned gpio)
349 struct pinctrl_gpio_range *range = NULL; 349 struct pinctrl_gpio_range *range = NULL;
350 struct gpio_chip *chip = gpio_to_chip(gpio); 350 struct gpio_chip *chip = gpio_to_chip(gpio);
351 351
352 if (WARN(!chip, "no gpio_chip for gpio%i?", gpio))
353 return false;
354
352 mutex_lock(&pinctrldev_list_mutex); 355 mutex_lock(&pinctrldev_list_mutex);
353 356
354 /* Loop over the pin controllers */ 357 /* Loop over the pin controllers */
diff --git a/drivers/pinctrl/pinctrl-digicolor.c b/drivers/pinctrl/pinctrl-digicolor.c
index 461fffc4c62a..11f8b835d3b6 100644
--- a/drivers/pinctrl/pinctrl-digicolor.c
+++ b/drivers/pinctrl/pinctrl-digicolor.c
@@ -337,9 +337,9 @@ static int dc_pinctrl_probe(struct platform_device *pdev)
337 pmap->dev = &pdev->dev; 337 pmap->dev = &pdev->dev;
338 338
339 pmap->pctl = pinctrl_register(pctl_desc, &pdev->dev, pmap); 339 pmap->pctl = pinctrl_register(pctl_desc, &pdev->dev, pmap);
340 if (!pmap->pctl) { 340 if (IS_ERR(pmap->pctl)) {
341 dev_err(&pdev->dev, "pinctrl driver registration failed\n"); 341 dev_err(&pdev->dev, "pinctrl driver registration failed\n");
342 return -EINVAL; 342 return PTR_ERR(pmap->pctl);
343 } 343 }
344 344
345 ret = dc_gpiochip_add(pmap, pdev->dev.of_node); 345 ret = dc_gpiochip_add(pmap, pdev->dev.of_node);
diff --git a/drivers/pinctrl/pinmux.c b/drivers/pinctrl/pinmux.c
index 67e08cb315c4..29984b36926a 100644
--- a/drivers/pinctrl/pinmux.c
+++ b/drivers/pinctrl/pinmux.c
@@ -313,8 +313,7 @@ static int pinmux_func_name_to_selector(struct pinctrl_dev *pctldev,
313 313
314 /* See if this pctldev has this function */ 314 /* See if this pctldev has this function */
315 while (selector < nfuncs) { 315 while (selector < nfuncs) {
316 const char *fname = ops->get_function_name(pctldev, 316 const char *fname = ops->get_function_name(pctldev, selector);
317 selector);
318 317
319 if (!strcmp(function, fname)) 318 if (!strcmp(function, fname))
320 return selector; 319 return selector;
diff --git a/drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c b/drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c
index c978b311031b..e1a3721bc8e5 100644
--- a/drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c
+++ b/drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c
@@ -723,9 +723,9 @@ static int pm8xxx_gpio_probe(struct platform_device *pdev)
723#endif 723#endif
724 724
725 pctrl->pctrl = pinctrl_register(&pctrl->desc, &pdev->dev, pctrl); 725 pctrl->pctrl = pinctrl_register(&pctrl->desc, &pdev->dev, pctrl);
726 if (!pctrl->pctrl) { 726 if (IS_ERR(pctrl->pctrl)) {
727 dev_err(&pdev->dev, "couldn't register pm8xxx gpio driver\n"); 727 dev_err(&pdev->dev, "couldn't register pm8xxx gpio driver\n");
728 return -ENODEV; 728 return PTR_ERR(pctrl->pctrl);
729 } 729 }
730 730
731 pctrl->chip = pm8xxx_gpio_template; 731 pctrl->chip = pm8xxx_gpio_template;
diff --git a/drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c b/drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c
index 2d1b69f171be..6652b8d7f707 100644
--- a/drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c
+++ b/drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c
@@ -814,9 +814,9 @@ static int pm8xxx_mpp_probe(struct platform_device *pdev)
814#endif 814#endif
815 815
816 pctrl->pctrl = pinctrl_register(&pctrl->desc, &pdev->dev, pctrl); 816 pctrl->pctrl = pinctrl_register(&pctrl->desc, &pdev->dev, pctrl);
817 if (!pctrl->pctrl) { 817 if (IS_ERR(pctrl->pctrl)) {
818 dev_err(&pdev->dev, "couldn't register pm8xxx mpp driver\n"); 818 dev_err(&pdev->dev, "couldn't register pm8xxx mpp driver\n");
819 return -ENODEV; 819 return PTR_ERR(pctrl->pctrl);
820 } 820 }
821 821
822 pctrl->chip = pm8xxx_mpp_template; 822 pctrl->chip = pm8xxx_mpp_template;
diff --git a/drivers/pinctrl/samsung/pinctrl-s3c24xx.c b/drivers/pinctrl/samsung/pinctrl-s3c24xx.c
index 019844d479bb..d168b39dd7fd 100644
--- a/drivers/pinctrl/samsung/pinctrl-s3c24xx.c
+++ b/drivers/pinctrl/samsung/pinctrl-s3c24xx.c
@@ -361,7 +361,7 @@ static inline void s3c24xx_demux_eint(struct irq_desc *desc,
361 u32 offset, u32 range) 361 u32 offset, u32 range)
362{ 362{
363 struct s3c24xx_eint_data *data = irq_desc_get_handler_data(desc); 363 struct s3c24xx_eint_data *data = irq_desc_get_handler_data(desc);
364 struct irq_chip *chip = irq_desc_get_irq_chip(desc); 364 struct irq_chip *chip = irq_desc_get_chip(desc);
365 struct samsung_pinctrl_drv_data *d = data->drvdata; 365 struct samsung_pinctrl_drv_data *d = data->drvdata;
366 unsigned int pend, mask; 366 unsigned int pend, mask;
367 367