aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-05-02 17:42:46 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2013-05-02 17:42:46 -0400
commitfbe8ed634d3f7db92227d84363264868bd7ed751 (patch)
treec473ea48a10283f354a21d1f9098fa7770c9158c
parent99bece775f988a4ee21ad3db9fd413caf1704ff6 (diff)
parentd463f82d22f90096d1352de3837b1602a3410b5d (diff)
Merge tag 'pinctrl-fixes-v3.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl
Pull pinctrl fixes from Linus Walleij: "Two fixes to the pinctrl subsystem for v3.10: - A quite apparent mutex fix in an untested codepath - A compile warning fix in the plgpio driver" * tag 'pinctrl-fixes-v3.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: pinctrl: fix mutex deadlock in get_pinctrl_dev_from_of_node() pinctrl: plgpio: add CONFIG_PM_SLEEP to suspend/resume functions
-rw-r--r--drivers/pinctrl/core.c2
-rw-r--r--drivers/pinctrl/spear/pinctrl-plgpio.c6
2 files changed, 4 insertions, 4 deletions
diff --git a/drivers/pinctrl/core.c b/drivers/pinctrl/core.c
index c3d222ed39a2..5327f35d9b5c 100644
--- a/drivers/pinctrl/core.c
+++ b/drivers/pinctrl/core.c
@@ -129,7 +129,7 @@ struct pinctrl_dev *get_pinctrl_dev_from_of_node(struct device_node *np)
129 return pctldev; 129 return pctldev;
130 } 130 }
131 131
132 mutex_lock(&pinctrldev_list_mutex); 132 mutex_unlock(&pinctrldev_list_mutex);
133 133
134 return NULL; 134 return NULL;
135} 135}
diff --git a/drivers/pinctrl/spear/pinctrl-plgpio.c b/drivers/pinctrl/spear/pinctrl-plgpio.c
index a4908ecd74fb..3e5a887216b8 100644
--- a/drivers/pinctrl/spear/pinctrl-plgpio.c
+++ b/drivers/pinctrl/spear/pinctrl-plgpio.c
@@ -75,7 +75,7 @@ struct plgpio {
75 int (*o2p)(int offset); /* offset_to_pin */ 75 int (*o2p)(int offset); /* offset_to_pin */
76 u32 p2o_regs; 76 u32 p2o_regs;
77 struct plgpio_regs regs; 77 struct plgpio_regs regs;
78#ifdef CONFIG_PM 78#ifdef CONFIG_PM_SLEEP
79 struct plgpio_regs *csave_regs; 79 struct plgpio_regs *csave_regs;
80#endif 80#endif
81}; 81};
@@ -554,7 +554,7 @@ static int plgpio_probe(struct platform_device *pdev)
554 if (IS_ERR(plgpio->clk)) 554 if (IS_ERR(plgpio->clk))
555 dev_warn(&pdev->dev, "clk_get() failed, work without it\n"); 555 dev_warn(&pdev->dev, "clk_get() failed, work without it\n");
556 556
557#ifdef CONFIG_PM 557#ifdef CONFIG_PM_SLEEP
558 plgpio->csave_regs = devm_kzalloc(&pdev->dev, 558 plgpio->csave_regs = devm_kzalloc(&pdev->dev,
559 sizeof(*plgpio->csave_regs) * 559 sizeof(*plgpio->csave_regs) *
560 DIV_ROUND_UP(plgpio->chip.ngpio, MAX_GPIO_PER_REG), 560 DIV_ROUND_UP(plgpio->chip.ngpio, MAX_GPIO_PER_REG),
@@ -641,7 +641,7 @@ unprepare_clk:
641 return ret; 641 return ret;
642} 642}
643 643
644#ifdef CONFIG_PM 644#ifdef CONFIG_PM_SLEEP
645static int plgpio_suspend(struct device *dev) 645static int plgpio_suspend(struct device *dev)
646{ 646{
647 struct plgpio *plgpio = dev_get_drvdata(dev); 647 struct plgpio *plgpio = dev_get_drvdata(dev);