diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-07-28 21:19:27 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-07-28 21:19:27 -0400 |
commit | 76d25a5f2fbd10d97d580f2d511e6b020ca87c09 (patch) | |
tree | 2ccc03b06ec8793e8f68d867a243c7fad1913839 /drivers | |
parent | 6803f37e0955c7cc7ebe4363cf2bab5552e4716d (diff) | |
parent | db6c2c69c27f2c4fd1e2a1c6b0b1119b1e885f8a (diff) |
Merge tag 'pinctrl-for-v3.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl
Pull pin control fixes from Linus Walleij:
- Driver fixes for AM33xx, SIRF and PFC pin controllers
- Fix a compile warning from the pinctrl single-register driver
- Fix a little nasty memory leak
* tag 'pinctrl-for-v3.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
pinctrl: fix a memleak when freeing maps
pinctrl: pinctrl-single: fix compile warning when no CONFIG_PM
pinctrl: sh-pfc: fix SDHI0 VccQ regulator on sh73a0 with DT
arm/dts: sirf: fix the pingroup name mismatch between drivers and dts
pinctrl: sirf: add usp0_uart_nostreamctrl pin group for usp-uart without flowctrl
pinctrl: sirf: fix the pin number and mux bit for usp0
pinctrl: am33xx dt binding: correct include path
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/pinctrl/core.c | 1 | ||||
-rw-r--r-- | drivers/pinctrl/pinctrl-single.c | 2 | ||||
-rw-r--r-- | drivers/pinctrl/sh-pfc/pfc-sh73a0.c | 1 | ||||
-rw-r--r-- | drivers/pinctrl/sirf/pinctrl-atlas6.c | 24 |
4 files changed, 26 insertions, 2 deletions
diff --git a/drivers/pinctrl/core.c b/drivers/pinctrl/core.c index 5b272bfd261d..2a00239661b3 100644 --- a/drivers/pinctrl/core.c +++ b/drivers/pinctrl/core.c | |||
@@ -1193,6 +1193,7 @@ void pinctrl_unregister_map(struct pinctrl_map const *map) | |||
1193 | list_for_each_entry(maps_node, &pinctrl_maps, node) { | 1193 | list_for_each_entry(maps_node, &pinctrl_maps, node) { |
1194 | if (maps_node->maps == map) { | 1194 | if (maps_node->maps == map) { |
1195 | list_del(&maps_node->node); | 1195 | list_del(&maps_node->node); |
1196 | kfree(maps_node); | ||
1196 | mutex_unlock(&pinctrl_maps_mutex); | 1197 | mutex_unlock(&pinctrl_maps_mutex); |
1197 | return; | 1198 | return; |
1198 | } | 1199 | } |
diff --git a/drivers/pinctrl/pinctrl-single.c b/drivers/pinctrl/pinctrl-single.c index 6866548fab31..7323cca440b5 100644 --- a/drivers/pinctrl/pinctrl-single.c +++ b/drivers/pinctrl/pinctrl-single.c | |||
@@ -1483,6 +1483,7 @@ static int pcs_add_gpio_func(struct device_node *node, struct pcs_device *pcs) | |||
1483 | return ret; | 1483 | return ret; |
1484 | } | 1484 | } |
1485 | 1485 | ||
1486 | #ifdef CONFIG_PM | ||
1486 | static int pinctrl_single_suspend(struct platform_device *pdev, | 1487 | static int pinctrl_single_suspend(struct platform_device *pdev, |
1487 | pm_message_t state) | 1488 | pm_message_t state) |
1488 | { | 1489 | { |
@@ -1505,6 +1506,7 @@ static int pinctrl_single_resume(struct platform_device *pdev) | |||
1505 | 1506 | ||
1506 | return pinctrl_force_default(pcs->pctl); | 1507 | return pinctrl_force_default(pcs->pctl); |
1507 | } | 1508 | } |
1509 | #endif | ||
1508 | 1510 | ||
1509 | static int pcs_probe(struct platform_device *pdev) | 1511 | static int pcs_probe(struct platform_device *pdev) |
1510 | { | 1512 | { |
diff --git a/drivers/pinctrl/sh-pfc/pfc-sh73a0.c b/drivers/pinctrl/sh-pfc/pfc-sh73a0.c index 7956df58d751..31f7d0e04aaa 100644 --- a/drivers/pinctrl/sh-pfc/pfc-sh73a0.c +++ b/drivers/pinctrl/sh-pfc/pfc-sh73a0.c | |||
@@ -3785,6 +3785,7 @@ static const struct regulator_desc sh73a0_vccq_mc0_desc = { | |||
3785 | 3785 | ||
3786 | static struct regulator_consumer_supply sh73a0_vccq_mc0_consumers[] = { | 3786 | static struct regulator_consumer_supply sh73a0_vccq_mc0_consumers[] = { |
3787 | REGULATOR_SUPPLY("vqmmc", "sh_mobile_sdhi.0"), | 3787 | REGULATOR_SUPPLY("vqmmc", "sh_mobile_sdhi.0"), |
3788 | REGULATOR_SUPPLY("vqmmc", "ee100000.sdhi"), | ||
3788 | }; | 3789 | }; |
3789 | 3790 | ||
3790 | static const struct regulator_init_data sh73a0_vccq_mc0_init_data = { | 3791 | static const struct regulator_init_data sh73a0_vccq_mc0_init_data = { |
diff --git a/drivers/pinctrl/sirf/pinctrl-atlas6.c b/drivers/pinctrl/sirf/pinctrl-atlas6.c index 1fa39a444171..867c9681763c 100644 --- a/drivers/pinctrl/sirf/pinctrl-atlas6.c +++ b/drivers/pinctrl/sirf/pinctrl-atlas6.c | |||
@@ -496,7 +496,7 @@ static const unsigned sdmmc5_pins[] = { 24, 25, 26 }; | |||
496 | static const struct sirfsoc_muxmask usp0_muxmask[] = { | 496 | static const struct sirfsoc_muxmask usp0_muxmask[] = { |
497 | { | 497 | { |
498 | .group = 1, | 498 | .group = 1, |
499 | .mask = BIT(19) | BIT(20) | BIT(21) | BIT(22), | 499 | .mask = BIT(19) | BIT(20) | BIT(21) | BIT(22) | BIT(23), |
500 | }, | 500 | }, |
501 | }; | 501 | }; |
502 | 502 | ||
@@ -507,8 +507,21 @@ static const struct sirfsoc_padmux usp0_padmux = { | |||
507 | .funcval = 0, | 507 | .funcval = 0, |
508 | }; | 508 | }; |
509 | 509 | ||
510 | static const unsigned usp0_pins[] = { 51, 52, 53, 54 }; | 510 | static const unsigned usp0_pins[] = { 51, 52, 53, 54, 55 }; |
511 | 511 | ||
512 | static const struct sirfsoc_muxmask usp0_uart_nostreamctrl_muxmask[] = { | ||
513 | { | ||
514 | .group = 1, | ||
515 | .mask = BIT(20) | BIT(21), | ||
516 | }, | ||
517 | }; | ||
518 | |||
519 | static const struct sirfsoc_padmux usp0_uart_nostreamctrl_padmux = { | ||
520 | .muxmask_counts = ARRAY_SIZE(usp0_uart_nostreamctrl_muxmask), | ||
521 | .muxmask = usp0_uart_nostreamctrl_muxmask, | ||
522 | }; | ||
523 | |||
524 | static const unsigned usp0_uart_nostreamctrl_pins[] = { 52, 53 }; | ||
512 | static const struct sirfsoc_muxmask usp1_muxmask[] = { | 525 | static const struct sirfsoc_muxmask usp1_muxmask[] = { |
513 | { | 526 | { |
514 | .group = 0, | 527 | .group = 0, |
@@ -822,6 +835,8 @@ static const struct sirfsoc_pin_group sirfsoc_pin_groups[] = { | |||
822 | SIRFSOC_PIN_GROUP("uart2grp", uart2_pins), | 835 | SIRFSOC_PIN_GROUP("uart2grp", uart2_pins), |
823 | SIRFSOC_PIN_GROUP("uart2_nostreamctrlgrp", uart2_nostreamctrl_pins), | 836 | SIRFSOC_PIN_GROUP("uart2_nostreamctrlgrp", uart2_nostreamctrl_pins), |
824 | SIRFSOC_PIN_GROUP("usp0grp", usp0_pins), | 837 | SIRFSOC_PIN_GROUP("usp0grp", usp0_pins), |
838 | SIRFSOC_PIN_GROUP("usp0_uart_nostreamctrl_grp", | ||
839 | usp0_uart_nostreamctrl_pins), | ||
825 | SIRFSOC_PIN_GROUP("usp1grp", usp1_pins), | 840 | SIRFSOC_PIN_GROUP("usp1grp", usp1_pins), |
826 | SIRFSOC_PIN_GROUP("i2c0grp", i2c0_pins), | 841 | SIRFSOC_PIN_GROUP("i2c0grp", i2c0_pins), |
827 | SIRFSOC_PIN_GROUP("i2c1grp", i2c1_pins), | 842 | SIRFSOC_PIN_GROUP("i2c1grp", i2c1_pins), |
@@ -862,6 +877,8 @@ static const char * const uart0grp[] = { "uart0grp" }; | |||
862 | static const char * const uart1grp[] = { "uart1grp" }; | 877 | static const char * const uart1grp[] = { "uart1grp" }; |
863 | static const char * const uart2grp[] = { "uart2grp" }; | 878 | static const char * const uart2grp[] = { "uart2grp" }; |
864 | static const char * const uart2_nostreamctrlgrp[] = { "uart2_nostreamctrlgrp" }; | 879 | static const char * const uart2_nostreamctrlgrp[] = { "uart2_nostreamctrlgrp" }; |
880 | static const char * const usp0_uart_nostreamctrl_grp[] = { | ||
881 | "usp0_uart_nostreamctrl_grp" }; | ||
865 | static const char * const usp0grp[] = { "usp0grp" }; | 882 | static const char * const usp0grp[] = { "usp0grp" }; |
866 | static const char * const usp1grp[] = { "usp1grp" }; | 883 | static const char * const usp1grp[] = { "usp1grp" }; |
867 | static const char * const i2c0grp[] = { "i2c0grp" }; | 884 | static const char * const i2c0grp[] = { "i2c0grp" }; |
@@ -904,6 +921,9 @@ static const struct sirfsoc_pmx_func sirfsoc_pmx_functions[] = { | |||
904 | SIRFSOC_PMX_FUNCTION("uart2", uart2grp, uart2_padmux), | 921 | SIRFSOC_PMX_FUNCTION("uart2", uart2grp, uart2_padmux), |
905 | SIRFSOC_PMX_FUNCTION("uart2_nostreamctrl", uart2_nostreamctrlgrp, uart2_nostreamctrl_padmux), | 922 | SIRFSOC_PMX_FUNCTION("uart2_nostreamctrl", uart2_nostreamctrlgrp, uart2_nostreamctrl_padmux), |
906 | SIRFSOC_PMX_FUNCTION("usp0", usp0grp, usp0_padmux), | 923 | SIRFSOC_PMX_FUNCTION("usp0", usp0grp, usp0_padmux), |
924 | SIRFSOC_PMX_FUNCTION("usp0_uart_nostreamctrl", | ||
925 | usp0_uart_nostreamctrl_grp, | ||
926 | usp0_uart_nostreamctrl_padmux), | ||
907 | SIRFSOC_PMX_FUNCTION("usp1", usp1grp, usp1_padmux), | 927 | SIRFSOC_PMX_FUNCTION("usp1", usp1grp, usp1_padmux), |
908 | SIRFSOC_PMX_FUNCTION("i2c0", i2c0grp, i2c0_padmux), | 928 | SIRFSOC_PMX_FUNCTION("i2c0", i2c0grp, i2c0_padmux), |
909 | SIRFSOC_PMX_FUNCTION("i2c1", i2c1grp, i2c1_padmux), | 929 | SIRFSOC_PMX_FUNCTION("i2c1", i2c1grp, i2c1_padmux), |