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

Changed files
+49 -19
arch
arm
drivers
include
dt-bindings
pinctrl
+14 -8
arch/arm/boot/dts/atlas6.dtsi
··· 485 485 sirf,function = "usp0"; 486 486 }; 487 487 }; 488 + usp0_uart_nostreamctrl_pins_a: usp0@1 { 489 + usp0 { 490 + sirf,pins = "usp0_uart_nostreamctrl_grp"; 491 + sirf,function = "usp0_uart_nostreamctrl"; 492 + }; 493 + }; 488 494 usp1_pins_a: usp1@0 { 489 495 usp1 { 490 496 sirf,pins = "usp1grp"; ··· 521 515 sirf,function = "pulse_count"; 522 516 }; 523 517 }; 524 - cko0_rst_pins_a: cko0_rst@0 { 525 - cko0_rst { 526 - sirf,pins = "cko0_rstgrp"; 527 - sirf,function = "cko0_rst"; 518 + cko0_pins_a: cko0@0 { 519 + cko0 { 520 + sirf,pins = "cko0grp"; 521 + sirf,function = "cko0"; 528 522 }; 529 523 }; 530 - cko1_rst_pins_a: cko1_rst@0 { 531 - cko1_rst { 532 - sirf,pins = "cko1_rstgrp"; 533 - sirf,function = "cko1_rst"; 524 + cko1_pins_a: cko1@0 { 525 + cko1 { 526 + sirf,pins = "cko1grp"; 527 + sirf,function = "cko1"; 534 528 }; 535 529 }; 536 530 };
+8 -8
arch/arm/boot/dts/prima2.dtsi
··· 515 515 sirf,function = "pulse_count"; 516 516 }; 517 517 }; 518 - cko0_rst_pins_a: cko0_rst@0 { 519 - cko0_rst { 520 - sirf,pins = "cko0_rstgrp"; 521 - sirf,function = "cko0_rst"; 518 + cko0_pins_a: cko0@0 { 519 + cko0 { 520 + sirf,pins = "cko0grp"; 521 + sirf,function = "cko0"; 522 522 }; 523 523 }; 524 - cko1_rst_pins_a: cko1_rst@0 { 525 - cko1_rst { 526 - sirf,pins = "cko1_rstgrp"; 527 - sirf,function = "cko1_rst"; 524 + cko1_pins_a: cko1@0 { 525 + cko1 { 526 + sirf,pins = "cko1grp"; 527 + sirf,function = "cko1"; 528 528 }; 529 529 }; 530 530 };
+1
drivers/pinctrl/core.c
··· 1193 1193 list_for_each_entry(maps_node, &pinctrl_maps, node) { 1194 1194 if (maps_node->maps == map) { 1195 1195 list_del(&maps_node->node); 1196 + kfree(maps_node); 1196 1197 mutex_unlock(&pinctrl_maps_mutex); 1197 1198 return; 1198 1199 }
+2
drivers/pinctrl/pinctrl-single.c
··· 1483 1483 return ret; 1484 1484 } 1485 1485 1486 + #ifdef CONFIG_PM 1486 1487 static int pinctrl_single_suspend(struct platform_device *pdev, 1487 1488 pm_message_t state) 1488 1489 { ··· 1506 1505 1507 1506 return pinctrl_force_default(pcs->pctl); 1508 1507 } 1508 + #endif 1509 1509 1510 1510 static int pcs_probe(struct platform_device *pdev) 1511 1511 {
+1
drivers/pinctrl/sh-pfc/pfc-sh73a0.c
··· 3785 3785 3786 3786 static struct regulator_consumer_supply sh73a0_vccq_mc0_consumers[] = { 3787 3787 REGULATOR_SUPPLY("vqmmc", "sh_mobile_sdhi.0"), 3788 + REGULATOR_SUPPLY("vqmmc", "ee100000.sdhi"), 3788 3789 }; 3789 3790 3790 3791 static const struct regulator_init_data sh73a0_vccq_mc0_init_data = {
+22 -2
drivers/pinctrl/sirf/pinctrl-atlas6.c
··· 496 496 static const struct sirfsoc_muxmask usp0_muxmask[] = { 497 497 { 498 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 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 525 static const struct sirfsoc_muxmask usp1_muxmask[] = { 513 526 { 514 527 .group = 0, ··· 835 822 SIRFSOC_PIN_GROUP("uart2grp", uart2_pins), 836 823 SIRFSOC_PIN_GROUP("uart2_nostreamctrlgrp", uart2_nostreamctrl_pins), 837 824 SIRFSOC_PIN_GROUP("usp0grp", usp0_pins), 825 + SIRFSOC_PIN_GROUP("usp0_uart_nostreamctrl_grp", 826 + usp0_uart_nostreamctrl_pins), 838 827 SIRFSOC_PIN_GROUP("usp1grp", usp1_pins), 839 828 SIRFSOC_PIN_GROUP("i2c0grp", i2c0_pins), 840 829 SIRFSOC_PIN_GROUP("i2c1grp", i2c1_pins), ··· 877 862 static const char * const uart1grp[] = { "uart1grp" }; 878 863 static const char * const uart2grp[] = { "uart2grp" }; 879 864 static const char * const uart2_nostreamctrlgrp[] = { "uart2_nostreamctrlgrp" }; 865 + static const char * const usp0_uart_nostreamctrl_grp[] = { 866 + "usp0_uart_nostreamctrl_grp" }; 880 867 static const char * const usp0grp[] = { "usp0grp" }; 881 868 static const char * const usp1grp[] = { "usp1grp" }; 882 869 static const char * const i2c0grp[] = { "i2c0grp" }; ··· 921 904 SIRFSOC_PMX_FUNCTION("uart2", uart2grp, uart2_padmux), 922 905 SIRFSOC_PMX_FUNCTION("uart2_nostreamctrl", uart2_nostreamctrlgrp, uart2_nostreamctrl_padmux), 923 906 SIRFSOC_PMX_FUNCTION("usp0", usp0grp, usp0_padmux), 907 + SIRFSOC_PMX_FUNCTION("usp0_uart_nostreamctrl", 908 + usp0_uart_nostreamctrl_grp, 909 + usp0_uart_nostreamctrl_padmux), 924 910 SIRFSOC_PMX_FUNCTION("usp1", usp1grp, usp1_padmux), 925 911 SIRFSOC_PMX_FUNCTION("i2c0", i2c0grp, i2c0_padmux), 926 912 SIRFSOC_PMX_FUNCTION("i2c1", i2c1grp, i2c1_padmux),
+1 -1
include/dt-bindings/pinctrl/am33xx.h
··· 5 5 #ifndef _DT_BINDINGS_PINCTRL_AM33XX_H 6 6 #define _DT_BINDINGS_PINCTRL_AM33XX_H 7 7 8 - #include <include/dt-bindings/pinctrl/omap.h> 8 + #include <dt-bindings/pinctrl/omap.h> 9 9 10 10 /* am33xx specific mux bit defines */ 11 11 #undef PULL_ENA