)]}'
{
  "log": [
    {
      "commit": "855f80cd1683179b251b01d232b3ae228c614766",
      "tree": "0fb0d209c5e3ec073368c396515c262814da397c",
      "parents": [
        "76f901eb4659779ecacd0e4eba49f55442daef53"
      ],
      "author": {
        "name": "Lee Jones",
        "email": "lee.jones@linaro.org",
        "time": "Sat May 26 06:09:29 2012 +0100"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Jun 01 02:03:25 2012 +0200"
      },
      "message": "pinctrl-nomadik: Allow Device Tree driver probing\n\nThe Nomadik GPIO controller now relies on Nomadik pinctrl, however\nthe pinctrl driver is not currently started by any ux500 platform.\nThis is requred or GPIOs do not work at all.\n\nAcked-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\nSigned-off-by: Lee Jones \u003clee.jones@linaro.org\u003e\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\n"
    },
    {
      "commit": "30b842889eea1bea02dff55b13d2ddf07a46ce78",
      "tree": "827d96b61384d5fe22ed7aeba02b34026648046e",
      "parents": [
        "84a442b9a16ee69243ce7fce5d6f6f9c3fbdee68",
        "820f3dd7964f1889baaaaa0c2ba45d05bb619f66"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 26 13:05:55 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 26 13:05:55 2012 -0700"
      },
      "message": "Merge tag \u0027soc2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc\n\nPull arm-soc: soc specific changes (part 2) from Olof Johansson:\n \"This adds support for the spear13xx platform, which has first been\n  under review a long time ago and finally been completed after generic\n  spear work has gone into the clock, dt and pinctrl branches.\n\n  Also a number of updates for the samsung socs are part of this branch.\"\n\nFix up trivial conflicts in drivers/gpio/gpio-samsung.c that look much\nworse than they are: the exonys5 init code was refactored in commit\nfd454997d687 (\"gpio: samsung: refactor gpiolib init for exynos4/5\"), and\nthen commit f10590c9836c (\"ARM: EXYNOS: add GPC4 bank instance\") added a\nnew gpio chip define and did tiny updates to the init code.\n\nSo the conflict diff looks like hell, but it\u0027s actually a fairly simple\nchange.\n\n* tag \u0027soc2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (34 commits)\n  ARM: exynos: fix building with CONFIG_OF disabled\n  ARM: EXYNOS: Add AUXDATA for i2c controllers\n  ARM: dts: Update device tree source files for EXYNOS5250\n  ARM: EXYNOS: Add device tree support for interrupt combiner\n  ARM: EXYNOS: Add irq_domain support for interrupt combiner\n  ARM: EXYNOS: Remove a new bus_type instance for EXYNOS5\n  ARM: EXYNOS: update irqs for EXYNOS5250 SoC\n  ARM: EXYNOS: Add pre-divider and fout mux clocks for bpll and mpll\n  ARM: EXYNOS: add GPC4 bank instance\n  ARM: EXYNOS: Redefine IRQ_MCT_L0,1 definition\n  ARM: EXYNOS: Modify the GIC physical address for static io-mapping\n  ARM: EXYNOS: Add watchdog timer clock instance\n  pinctrl: SPEAr1310: Fix pin numbers for clcd_high_res\n  SPEAr: Update MAINTAINERS and Documentation\n  SPEAr13xx: Add defconfig\n  SPEAr13xx: Add compilation support\n  SPEAr13xx: Add dts and dtsi files\n  pinctrl: Add SPEAr13xx pinctrl drivers\n  pinctrl: SPEAr: Create macro for declaring GPIO PINS\n  SPEAr13xx: Add common clock framework support\n  ...\n"
    },
    {
      "commit": "813a95e5b4fa936bbde10ef89188932745dcd7f4",
      "tree": "571ca345861ffb89b45fabe26fcab4e133c8537b",
      "parents": [
        "9f639269ed1522c7d69c54cc8b80ab8ee53fcb10",
        "f3f08dcb9965f42378851ce888fb7539607712e6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 22 09:39:42 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 22 09:39:42 2012 -0700"
      },
      "message": "Merge tag \u0027pinctrl\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc\n\nPull arm soc-specific pinctrl changes from Olof Johansson:\n \"With this, five platforms are moving to the relatively new pinctrl\n  subsystem for their pin management, replacing the older soc specific\n  in-kernel interfaces with common code.\n\n  There is quite a bit of net addition of code for each platform being\n  added to the pinctrl subsystem.  But the payback comes later when\n  adding new boards can be done by only providing new device trees\n  instead.\"\n\nFix up trivial conflicts in arch/arm/mach-ux500/{Makefile,board-mop500.c}\n\n* tag \u0027pinctrl\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (61 commits)\n  mtd: nand: gpmi: fix compile error caused by pinctrl call\n  ARM: PRIMA2: select PINCTRL and PINCTRL_SIRF in Kconfig\n  ARM: nomadik: enable PINCTRL_NOMADIK where needed\n  ARM: mxs: enable pinctrl support\n  video: mxsfb: adopt pinctrl support\n  ASoC: mxs-saif: adopt pinctrl support\n  i2c: mxs: adopt pinctrl support\n  mtd: nand: gpmi: adopt pinctrl support\n  mmc: mxs-mmc: adopt pinctrl support\n  serial: mxs-auart: adopt pinctrl support\n  serial: amba-pl011: adopt pinctrl support\n  spi/imx: adopt pinctrl support\n  i2c: imx: adopt pinctrl support\n  can: flexcan: adopt pinctrl support\n  net: fec: adopt pinctrl support\n  ARM: ux500: switch MSP to using pinctrl for pins\n  ARM: ux500: alter MSP registration to return a device pointer\n  ARM: ux500: switch to using pinctrl for uart0\n  ARM: ux500: delete custom pin control system\n  ARM: ux500: switch over to Nomadik pinctrl driver\n  ...\n"
    },
    {
      "commit": "4f6a16bf019cb0bbe1deb7d3a83d3593dcce8706",
      "tree": "9b52e7fb36c0a55944446b87ddcc869e06e721e4",
      "parents": [
        "93fbd3c0502bd2a470ec599c870b0f8dd54ad359"
      ],
      "author": {
        "name": "Dong Aisheng",
        "email": "dong.aisheng@linaro.org",
        "time": "Tue May 15 15:49:03 2012 +0800"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Sun May 20 21:00:41 2012 +0200"
      },
      "message": "pinctrl: pinctrl-imx: add imx51 pinctrl driver\n\nChangeLog v1-\u003ev2:\n* change PIN_FUNC_ID base in binding doc to 0 from 1.\n\nAcked-by: Shawn Guo \u003cshawn.guo@linaro.org\u003e\nAcked-by: Stephen Warren \u003cswarren@wwwdotorg.org\u003e\nSigned-off-by: Dong Aisheng \u003cdong.aisheng@linaro.org\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "93fbd3c0502bd2a470ec599c870b0f8dd54ad359",
      "tree": "eefc2cded07b0e44f4a86ee9de5aad616346d4db",
      "parents": [
        "19055b8fa730d8ec84743efcf0a379e8005e6c74"
      ],
      "author": {
        "name": "Dong Aisheng",
        "email": "dong.aisheng@linaro.org",
        "time": "Tue May 15 15:49:02 2012 +0800"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Sun May 20 21:00:18 2012 +0200"
      },
      "message": "pinctrl: pinctrl-imx: add imx53 pinctrl driver\n\nChangeLog v1-\u003ev2:\n* change PIN_FUNC_ID base in binding doc to 0 from 1.\n\nAcked-by: Shawn Guo \u003cshawn.guo@linaro.org\u003e\nAcked-by: Stephen Warren \u003cswarren@wwwdotorg.org\u003e\nSigned-off-by: Dong Aisheng \u003cdong.aisheng@linaro.org\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "0fa7be407dc101afe2d3dc99ded99de34c967a52",
      "tree": "457d3a7938b073d31b1e2c23ec75abfda0b4eaac",
      "parents": [
        "7af07ad902cce88ebbd2ce0e681d0c541e8f95fa"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Tue May 15 11:24:34 2012 +0000"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Tue May 15 14:42:57 2012 +0200"
      },
      "message": "ARM: nomadik: enable PINCTRL_NOMADIK where needed\n\nThe nomadik gpio code has been converted to pinctrl, but the nomadik platform\nstill expects the old code to be present. Change it to use the new one instead.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nReviewed-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "19055b8fa730d8ec84743efcf0a379e8005e6c74",
      "tree": "54efd3faefb5108883edbdaad48eb5c9253c0bb2",
      "parents": [
        "eaf7bfb0925975c955d5069d70bbd05f34db6846"
      ],
      "author": {
        "name": "Dong Aisheng",
        "email": "dong.aisheng@linaro.org",
        "time": "Mon May 14 19:06:40 2012 +0800"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Tue May 15 09:59:50 2012 +0200"
      },
      "message": "pinctrl: pinctrl-pxa3xx: remove empty pinmux disable function\n\nAcked-by: Stephen Warren \u003cswarren@wwwdotorg.org\u003e\nSigned-off-by: Dong Aisheng \u003cdong.aisheng@linaro.org\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "eaf7bfb0925975c955d5069d70bbd05f34db6846",
      "tree": "f58939820ea0a7a1e3045e59c75cf19983919c6a",
      "parents": [
        "273f0c349e30f1d20bf04a2779235a8a312f71d2"
      ],
      "author": {
        "name": "Dong Aisheng",
        "email": "dong.aisheng@linaro.org",
        "time": "Mon May 14 19:06:39 2012 +0800"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Tue May 15 09:48:07 2012 +0200"
      },
      "message": "pinctrl: pinctrl-mxs: remove empty pinmux disable function\n\nAcked-by: Stephen Warren \u003cswarren@wwwdotorg.org\u003e\nSigned-off-by: Dong Aisheng \u003cdong.aisheng@linaro.org\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "273f0c349e30f1d20bf04a2779235a8a312f71d2",
      "tree": "4b5a93be149e84981e17352917d6236aa1f2d22c",
      "parents": [
        "02b50ce4cb1b6aff7d9f1c0c5b4ceb44107bacb4"
      ],
      "author": {
        "name": "Dong Aisheng",
        "email": "dong.aisheng@linaro.org",
        "time": "Mon May 14 19:06:38 2012 +0800"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Tue May 15 09:46:41 2012 +0200"
      },
      "message": "pinctrl: pinctrl-imx: remove empty pinmux disable function\n\nAcked-by: Stephen Warren \u003cswarren@wwwdotorg.org\u003e\nSigned-off-by: Dong Aisheng \u003cdong.aisheng@linaro.org\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "02b50ce4cb1b6aff7d9f1c0c5b4ceb44107bacb4",
      "tree": "1aabf2f9af80579bda0464c4546ac8370efebcf8",
      "parents": [
        "c95df2db2cb5a147b42374f391858232517c0576"
      ],
      "author": {
        "name": "Dong Aisheng",
        "email": "dong.aisheng@linaro.org",
        "time": "Mon May 14 19:06:37 2012 +0800"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Tue May 15 09:44:50 2012 +0200"
      },
      "message": "pinctrl: make pinmux disable function optional\n\nSome SoCs may not have pinmux disable function in HW.\n\nAcked-by: Stephen Warren \u003cswarren@wwwdotorg.org\u003e\nSigned-off-by: Dong Aisheng \u003cdong.aisheng@linaro.org\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "c95df2db2cb5a147b42374f391858232517c0576",
      "tree": "eacbb643afd225a991f538690462e9b6e7e52c81",
      "parents": [
        "4851680491f3629cd53b3a1283841deadd6db88c"
      ],
      "author": {
        "name": "Dong Aisheng",
        "email": "dong.aisheng@linaro.org",
        "time": "Mon May 14 19:06:36 2012 +0800"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Tue May 15 09:43:18 2012 +0200"
      },
      "message": "pinctrl: a minor error checking improvement for pinconf\n\nAlso checking invalid num_configs when validate the pinconf map.\n\nAcked-by: Stephen Warren \u003cswarren@wwwdotorg.org\u003e\nSigned-off-by: Dong Aisheng \u003cdong.aisheng@linaro.org\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "eb3f995d7e73fd78b8fcdc55cfbf01a74a09a6e8",
      "tree": "2deaef8b79fcc5ee02ab6e4ead284a4ca18aabec",
      "parents": [
        "71e09a9e7d36151e33de8aeef76cc956259a258c"
      ],
      "author": {
        "name": "Viresh Kumar",
        "email": "viresh.kumar@st.com",
        "time": "Fri Apr 27 17:05:10 2012 +0530"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Mon May 14 17:34:11 2012 +0200"
      },
      "message": "pinctrl: SPEAr1310: Fix pin numbers for clcd_high_res\n\nSigned-off-by: Viresh Kumar \u003cviresh.kumar@st.com\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "85ed41a76f7a3939b55872f39df841039321f033",
      "tree": "fcf883322b3d1c16f92afb10116f5132cb20e032",
      "parents": [
        "d1e77afe9d647174428de7d29be85a13f94f645b"
      ],
      "author": {
        "name": "Viresh Kumar",
        "email": "viresh.kumar@st.com",
        "time": "Wed Mar 28 22:27:07 2012 +0530"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Mon May 14 17:34:07 2012 +0200"
      },
      "message": "pinctrl: Add SPEAr13xx pinctrl drivers\n\nThis adds pinctrl driver for SPEAr13xx family. SPEAr13xx family supports two\nmachines: SPEAr1310 and SPEAr1340.\n\nSigned-off-by: Viresh Kumar \u003cviresh.kumar@st.com\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "d1e77afe9d647174428de7d29be85a13f94f645b",
      "tree": "ab09340b581644899824e7f1d82d0fc59c8ca915",
      "parents": [
        "0b928af1f40f152dd6469f32b7792480048e6b44"
      ],
      "author": {
        "name": "Viresh Kumar",
        "email": "viresh.kumar@st.com",
        "time": "Thu Apr 05 18:59:23 2012 +0530"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Mon May 14 17:34:06 2012 +0200"
      },
      "message": "pinctrl: SPEAr: Create macro for declaring GPIO PINS\n\nSame GPIO pins declarations would be required for other SoCs and that will be a\nlot of lines of code. Its better to create common macros for it.\n\nSigned-off-by: Viresh Kumar \u003cviresh.kumar@st.com\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "4851680491f3629cd53b3a1283841deadd6db88c",
      "tree": "4012cb0b559e3e532f95b9c1d5ce07e9eafe6000",
      "parents": [
        "3b7ac941e06477a76538038f7e8b70395897a215"
      ],
      "author": {
        "name": "Shawn Guo",
        "email": "shawn.guo@linaro.org",
        "time": "Sun May 13 23:19:01 2012 +0800"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Mon May 14 10:43:35 2012 +0200"
      },
      "message": "pinctrl: mxs: skip gpio nodes for group creation\n\nThe recent added mxs gpio device tree bindings require gpio nodes\ndefined under pinctrl node too.  The pinctrl-mxs driver should skip\nthese node for group parsing and creating.\n\nSigned-off-by: Shawn Guo \u003cshawn.guo@linaro.org\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "3b7ac941e06477a76538038f7e8b70395897a215",
      "tree": "068cb0385c6800afeb00aaa83e7d8c39d26e82bd",
      "parents": [
        "c7eea50b980b28f4edaa0cfbdf2456532472bc03"
      ],
      "author": {
        "name": "Shawn Guo",
        "email": "shawn.guo@linaro.org",
        "time": "Sun May 13 23:19:00 2012 +0800"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Mon May 14 10:42:40 2012 +0200"
      },
      "message": "pinctrl: mxs: create group for pin config node\n\nThe initial mxs pinctrl support, commit 1772311 (pinctrl: add\npinctrl-mxs support) skipped creating group from device tree pin config\nnode.  Add it to get pin config node work for client device.\n\nSigned-off-by: Shawn Guo \u003cshawn.guo@linaro.org\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "7af07ad902cce88ebbd2ce0e681d0c541e8f95fa",
      "tree": "40a5aedb583c35d16505d96ea8996c413a747fe6",
      "parents": [
        "7afeca1a30360c7b5cee94fc7ff8f350d582282a",
        "08d98fe0e81cd9424ef2451ed13afe91a9a26f9f"
      ],
      "author": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Sat May 12 19:57:34 2012 -0700"
      },
      "committer": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Sat May 12 19:57:34 2012 -0700"
      },
      "message": "Merge tag \u0027ux500-gpio-pins-for-3.5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson into next/pinctrl\n\nux500 GPIO and pinctrl changes for kernel 3.5\n\n* tag \u0027ux500-gpio-pins-for-3.5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson:\n  ARM: ux500: switch MSP to using pinctrl for pins\n  ARM: ux500: alter MSP registration to return a device pointer\n  ARM: ux500: switch to using pinctrl for uart0\n  ARM: ux500: delete custom pin control system\n  ARM: ux500: switch over to Nomadik pinctrl driver\n  pinctrl: add sleep state definition\n  pinctrl/nomadik: implement pin configuration\n  pinctrl/nomadik: implement pin multiplexing\n  pinctrl/nomadik: reuse GPIO debug function for pins\n  pinctrl/nomadik: break out single GPIO debug function\n  pinctrl/nomadik: basic Nomadik pinctrl interface\n  pinctrl/nomadik: !CONFIG_OF build error\n  gpio: move the Nomadik GPIO driver to pinctrl\n\nContext conflicts resolved in drivers/pinctrl/Kconfig and\ndrivers/pinctrl/Makefile.\n\nSigned-off-by: Olof Johansson \u003colof@lixom.net\u003e\n"
    },
    {
      "commit": "7afeca1a30360c7b5cee94fc7ff8f350d582282a",
      "tree": "a5f19ff1ffef8000a128ac9b0b343ced451bb203",
      "parents": [
        "4a0dfe69fe489b06ae5bad26ae67ae8aefaca3aa",
        "366695ff706669d40459174b1cbb78fca42f4e06"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sat May 12 23:22:36 2012 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sat May 12 23:22:36 2012 +0200"
      },
      "message": "Merge branch \u0027spear/pinctrl\u0027 into next/pinctrl\n\n* spear/pinctrl:\n  pinctrl: (cosmetic) fix two entries in DocBook comments\n  pinctrl: add more info to error msgs in pin_request\n  CLKDEV: provide helpers for common clock framework\n  pinctrl: add pinctrl-mxs support\n  pinctrl: pinctrl-imx: add imx6q pinctrl driver\n  pinctrl: pinctrl-imx: add imx pinctrl core driver\n  dt: add of_get_child_count helper function\n  pinctrl: support gpio request deferred probing\n  pinctrl: add pinctrl_provide_dummies interface for platforms to use\n  pinctrl: enhance reporting of errors when loading from DT\n  pinctrl: add kerneldoc for pinctrl_ops device tree functions\n  pinctrl: propagate map validation errors\n  pinctrl: fix dangling comment\n  pinctrl: fix signed vs unsigned conditionals inside pinmux_map_to_setting\n  ARM: 7392/1: CLKDEV: Optimize clk_find()\n  ARM: 7376/1: clkdev: Implement managed clk_get()\n\nThis just adds more dependencies that are required in order not to\nbreak the spear pinctrl support.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\n"
    },
    {
      "commit": "366695ff706669d40459174b1cbb78fca42f4e06",
      "tree": "085d0d288138c5a0bfb203643e99885ff07ddad7",
      "parents": [
        "e0373607855d033283b19014c8f14b90b3836924",
        "c7eea50b980b28f4edaa0cfbdf2456532472bc03",
        "e9d7f4065408e92338a41b809e437c6e043da090"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sat May 12 20:38:42 2012 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sat May 12 20:38:42 2012 +0200"
      },
      "message": "Merge branches \u0027depends/pinctrl/devel\u0027 and \u0027depends/rmk/clkdev\u0027 into spear/pinctrl\n\nThe spear/pinctrl branch has hard dependencies on both the\npinctrl branch and the clkdev branch. We merge those here\nto fix it up without having to rebase a branch that has\nbeen pulled into other stable branches already.\n\nConflicts:\n\tDocumentation/driver-model/devres.txt\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\n"
    },
    {
      "commit": "d41af627638a0e1e964d546e385b20650e769ce5",
      "tree": "8d720bf186fe6db5574016a108c1adada1b38751",
      "parents": [
        "dbfe8ca259e1f899ca02ea33d903fa21bbea67c5"
      ],
      "author": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Thu May 03 15:58:12 2012 +0200"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Fri May 11 11:14:16 2012 +0200"
      },
      "message": "pinctrl/nomadik: implement pin configuration\n\nThis implements the pin configuration interface for the\nNomadik pin controller.\n\nAs part of the exercise we add a bit in the pin_cfg_t for\nthe Nomadik pinctrl driver that indicates if the pin should\nbe forced into GPIO mode. This is not done to go behind the\nback of the GPIO subsystem, but to ensure that default modes\ncan be set by hogs on boot and system suspend/resume states.\nIt was used implicitly by the old code defining all config\nsettings and modes in a single config word but we now have\na split between pinmux and pinconf leading to the need to\nhave this.\n\nWe also add a bit for explicitly setting sleepmode of the\npin. This was previously handled by custom calls with the\n_sleep() suffix, but we now have one single interface into\nthe configuration so we replace this with a bit indicating\nthat the pin shall be configured into sleep mode.\n\nSome of the configuration can be refactored later to use\nless custom fields on the pin_cfg_t but we are currently\nleaving the old function calls in place so we stay\ncompatible.\n\nChangeLog v1-\u003ev2:\n- Drop a hunk changing pinmuxing for GPIO and move it\n  over to the preceding pinmux patch.\n\nAcked-by: Stephen Warren \u003cswarren@wwwdotorg.org\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "dbfe8ca259e1f899ca02ea33d903fa21bbea67c5",
      "tree": "84323bb062518a3ffe538162e8ca9e21a7743425",
      "parents": [
        "24cbdd75c4a868bf1ebc986337ffcacf3f8a4109"
      ],
      "author": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Wed May 02 22:56:47 2012 +0200"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Fri May 11 11:14:16 2012 +0200"
      },
      "message": "pinctrl/nomadik: implement pin multiplexing\n\nImplements basic pinmux for the Nomadik pin controller.\n\nThe plan is to split the existing singular pin config interface\nnmk_config_pin(), nmk_config_pins(), that will configure muxing\nand other settings at the same time, into two interfaces\nby splitting the code in pinmux and pinctrl and eventually\ndeleting the old interface and its helper functions when all\nusers are gone.\n\nnmk_gpio_set_mode() and nmk_gpio_get_mode() are two older\ninterfaces for just configuring muxing/altfunctions that\nwill also be replaced in the end.\n\nWe take some extra care to handle the glitch-avoidance here,\nbut it is simpler now since there is only one altsetting per\npingroup so we know immediately if we need to avoid altfunc\nC glitches for a certain group.\n\nAs part of the makeover implement the .request() and .free()\ncalls on the GPIO chips and have them call back into the\npinctrl layer to reserve GPIOs.\n\nChangeLog v1-\u003ev2:\n- Rebased on pinctrl-mergebase-20120418 so we get the latest\n  driver infrastructure where function count is done by a fixed\n  value and we can drop a few range checks since this is now\n  handled by the core.\n- Include a GPIO muxing hunk erroneously part of the pin config\n  patch.\n\nAcked-by: Stephen Warren \u003cswarren@wwwdotorg.org\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "24cbdd75c4a868bf1ebc986337ffcacf3f8a4109",
      "tree": "01e4bf0c82ba9a69a1bb46256803e376701aca32",
      "parents": [
        "6f4350a6da99652423039765b9d1c57784150d39"
      ],
      "author": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Wed May 02 21:28:00 2012 +0200"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Fri May 11 11:14:15 2012 +0200"
      },
      "message": "pinctrl/nomadik: reuse GPIO debug function for pins\n\nSince all pins we can control are GPIOs, match a GPIO range to\neach pin in the debug function and call into the GPIO debug\nprint function to have the per-pin information.\n\nAcked-by: Stephen Warren \u003cswarren@wwwdotorg.org\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "6f4350a6da99652423039765b9d1c57784150d39",
      "tree": "090ae4f1a1d4fe778c8add6f49bff7b7e0d41a72",
      "parents": [
        "e98ea774c8d210364379329f042e7596f83ecc58"
      ],
      "author": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Wed May 02 21:06:13 2012 +0200"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Fri May 11 11:14:15 2012 +0200"
      },
      "message": "pinctrl/nomadik: break out single GPIO debug function\n\nBreak out the code displaying the status of a single pin so we\ncan use the same code in the pinctrl debug function.\n\nAcked-by: Stephen Warren \u003cswarren@wwwdotorg.org\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "e98ea774c8d210364379329f042e7596f83ecc58",
      "tree": "95833bd464ee36b68abe4e3c5612dc7e804f771c",
      "parents": [
        "072e82a18f72b7b7278130c79029aac59de7650b"
      ],
      "author": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Thu Apr 26 23:57:25 2012 +0200"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Fri May 11 11:14:14 2012 +0200"
      },
      "message": "pinctrl/nomadik: basic Nomadik pinctrl interface\n\nThis adds a scratch pin control interface to the Nomadik pinctrl\ndriver, and defines the pins and groups in the DB8500 ASIC. We\ndefine GPIO ranges to cover the pins exposed. The DB8500 has\nmore pins than this but we restrict the driver to the pins that\ncan be controlled from the combined GPIO and pin control hardware\nto begin with.\n\nChangeLog v1-\u003ev2:\n- Base on the latest pinctrl development from\n  pinctrl-mergebase-20120418 so we can get rid of legacy\n  group count mechanism. Also drop the range checks for group\n  index, this is handled by the core now.\n\nAcked-by: Stephen Warren \u003cswarren@wwwdotorg.org\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "072e82a18f72b7b7278130c79029aac59de7650b",
      "tree": "8d0b552fb2d3e3ee31c636b41b2683ee957bc59a",
      "parents": [
        "1ae4e59279b185a850ad25da4eb5a771bf36bdcb"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Thu May 10 13:39:52 2012 +0200"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Fri May 11 10:33:59 2012 +0200"
      },
      "message": "pinctrl/nomadik: !CONFIG_OF build error\n\na60b57e \"drivers/gpio: gpio-nomadik: Add support for irqdomains\" broke\nbuilding with CONFIG_OF_GPIO disabled.\n\nWithout this patch, building nhk8815_defconfig results in:\n\n/home/arnd/linux-arm/drivers/gpio/gpio-nomadik.c: In function \u0027nmk_gpio_probe\u0027:\n/home/arnd/linux-arm/drivers/gpio/gpio-nomadik.c:1238:6: error: \u0027struct gpio_chip\u0027 has no member named \u0027of_node\u0027\nmake[3]: *** [drivers/gpio/gpio-nomadik.o] Error 1\nmake[2]: *** [drivers/gpio] Error 2\nmake[2]: *** Waiting for unfinished jobs....\nmake[1]: *** [drivers] Error 2\nmake[1]: *** Waiting for unfinished jobs....\nmake: *** [sub-make] Error 2\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "1ae4e59279b185a850ad25da4eb5a771bf36bdcb",
      "tree": "6e8f05ffdc01b14918ab1c66619d55f14f700005",
      "parents": [
        "b9e3b72d4a8b3a6c85474455f464e12b4ef1cfc1"
      ],
      "author": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Thu Apr 26 13:56:05 2012 +0200"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Fri May 11 10:33:43 2012 +0200"
      },
      "message": "gpio: move the Nomadik GPIO driver to pinctrl\n\nI\u0027m moving this driver over to the pinctrl subsystem to convert\nthe custom pin mux/config scheme over to use pinctrl.\n\nAcked-by: Stephen Warren \u003cswarren@wwwdotorg.org\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "7488185d0777ef84be7b365b08037fc7213010f6",
      "tree": "c23a3db331693f783228c2f5afb38fed26ac1205",
      "parents": [
        "b664ae6ff92f7ba5c597d4f1b74d478d712c01c4",
        "aef7704c6cc36db9618603b22194def441d30432"
      ],
      "author": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Wed May 09 23:43:04 2012 -0700"
      },
      "committer": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Wed May 09 23:43:04 2012 -0700"
      },
      "message": "Merge branch \u0027for-3.5/gpio-pinmux\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra into next/pinctrl\n\nBy Stephen Warren\nvia Stephen Warren\n* \u0027for-3.5/gpio-pinmux\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra:\n  pinctrl: tegra: error reporting cleanup\n  pinctrl: tegra: debugfs enhancements\n  pinctrl: tegra: refactor probe handling\n  ARM: dt: tegra20: add pinmux to device tree\n  ARM: dt: tegra cardhu: add pinmux to device tree\n  ARM: tegra: Remove pre-pinctrl pinmux driver\n  ARM: tegra: Switch to new pinctrl driver\n  gpio: tegra: Hide tegra_gpio_enable/disable()\n  ARM: tegra: seaboard: Don\u0027t gpio_request() ISL29018_IRQ\n  gpio: tegra: configure pins during irq_set_type\n  ARM: tegra: Remove VBUS_GPIO handling from board files\n  usb: ehci-tegra: Add vbus_gpio to platform data\n"
    },
    {
      "commit": "b664ae6ff92f7ba5c597d4f1b74d478d712c01c4",
      "tree": "b7751d3ee14c1bdbb0274ed2d22fca7b0ef51ff3",
      "parents": [
        "ca731a5da08926f669360342bcad50353fbe141a",
        "dcb5dbc305b975cccf40942feba40964069541d3"
      ],
      "author": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Wed May 09 23:42:14 2012 -0700"
      },
      "committer": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Wed May 09 23:42:14 2012 -0700"
      },
      "message": "Merge tag \u0027pinctrl-mergebase-20120418\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl into next/pinctrl\n\nBy Stephen Warren (12) and others\nvia Linus Walleij\n* tag \u0027pinctrl-mergebase-20120418\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (24 commits)\n  pinctrl: show pin name for pingroups in sysfs\n  pinctrl: show pin name when request pins\n  pinctrl: implement devm_pinctrl_get()/put()\n  pinctrl: a minor fix of pin config debug information\n  pinctrl: pinconf: fix compilation error if PINCONF is not selected\n  pinctrl: allow pctldevs to decode pin config in debugfs\n  pinctrl: ifdef CONFIG_DEBUG_FS cleanup\n  pinctrl: mark non-EXPERIMENTAL\n  pinctrl: tegra: Add complete device tree support\n  dt: Document Tegra20/30 pinctrl binding\n  dt: Move Tegra20 pin mux binding into new pinctrl directory\n  dt: pinctrl: Document device tree binding\n  dt: add property iteration helpers\n  pinctrl: implement pinctrl deferred probing\n  pinctrl: add some error checking for user interfaces\n  pinctrl: fix pinmux_check_ops error checking\n  pinctrl: replace list_*() with get_*_count()\n  pinctrl: mark const init data with __initconst instead of __initdata\n  Documentation: pinctrl: add missing spi0_0 grp in example\n  pinctrl: fix build when CONFIG_OF \u0026\u0026 !CONFIG_PINCTRL\n  ...\n\nResolved conflicts in drivers/pinctrl/core.c due to same patch being\napplied in two branches.\n\nSigned-off-by: Olof Johansson \u003colof@lixom.net\u003e\n"
    },
    {
      "commit": "d4705316c18d371eb404d0ae5dcf51ce6e341d0f",
      "tree": "3a582d8b2605e80a472d4c6607f1b478d7f2b786",
      "parents": [
        "17723111e64fbcc327846ff0b33532bcf1d40f56"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Tue May 01 11:14:15 2012 -0600"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Mon May 07 14:44:38 2012 +0200"
      },
      "message": "pinctrl: add more info to error msgs in pin_request\n\nAdditionally print which pin the request failed for, which entity already\nclaimed it, and what entity was trying to claim it.\n\nRemove duplicate device name from a debug message.\n\nClean up some indentation.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "17723111e64fbcc327846ff0b33532bcf1d40f56",
      "tree": "08b6f0609a59dab9f47a59ee339c54b4170405b2",
      "parents": [
        "d8fe35727a3c7e0f2c4ff0a579aab1d7ce252df8"
      ],
      "author": {
        "name": "Shawn Guo",
        "email": "shawn.guo@linaro.org",
        "time": "Sat Apr 28 13:00:50 2012 +0800"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Wed May 02 01:18:27 2012 +0200"
      },
      "message": "pinctrl: add pinctrl-mxs support\n\nAdd pinctrl support for Freescale MXS SoCs, i.MX23 and i.MX28.\nThe driver supports device tree probe only.\n\nSigned-off-by: Shawn Guo \u003cshawn.guo@linaro.org\u003e\nAcked-by: Stephen Warren \u003cswarren@wwwdotorg.org\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "d8fe35727a3c7e0f2c4ff0a579aab1d7ce252df8",
      "tree": "43d6326d556df5dd4156eb5d861d122bfbfa2b3b",
      "parents": [
        "ae75ff8145384000e27eaa805c12e6971e3bec45"
      ],
      "author": {
        "name": "Dong Aisheng",
        "email": "dong.aisheng@linaro.org",
        "time": "Fri Apr 27 20:26:17 2012 +0800"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Wed May 02 01:14:40 2012 +0200"
      },
      "message": "pinctrl: pinctrl-imx: add imx6q pinctrl driver\n\nAcked-by: Stephen Warren \u003cswarren@wwwdotorg.org\u003e\nAcked-by: Shawn Guo \u003cshawn.guo@linaro.org\u003e\nSigned-off-by: Dong Aisheng \u003cdong.aisheng@linaro.org\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "ae75ff8145384000e27eaa805c12e6971e3bec45",
      "tree": "ee39861c7e28f59bf456bc814790d4585d6cb4cb",
      "parents": [
        "183f1d0c6450ee032d97a2d01ed5eb00e0dbaa49"
      ],
      "author": {
        "name": "Dong Aisheng",
        "email": "dong.aisheng@linaro.org",
        "time": "Fri Apr 27 20:26:16 2012 +0800"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Wed May 02 01:14:40 2012 +0200"
      },
      "message": "pinctrl: pinctrl-imx: add imx pinctrl core driver\n\nThe driver has mux and config support while the gpio is still\nnot supported.\nFor select input setting, the driver will handle it internally\nand do not need user to take care of it.\n\nThe pinctrl-imx core driver will parse the dts file and dynamically\ncreate the pinmux functions and groups.\n\nEach IMX SoC pinctrl driver should register pins with a pin register map\nincluding mux register and config register and select input map to core\nfor proper operations.\n\nAcked-by: Stephen Warren \u003cswarren@wwwdotorg.org\u003e\nAcked-by: Shawn Guo \u003cshawn.guo@linaro.org\u003e\nSigned-off-by: Dong Aisheng \u003cdong.aisheng@linaro.org\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "4650b7cbea4db73f459181f67f939b510e3a17b2",
      "tree": "45f277ce5f3b79241091914be30a5c2d1288ee1f",
      "parents": [
        "5b3aa5f7c6287b1a0698950a91e94546888e553b"
      ],
      "author": {
        "name": "Dong Aisheng",
        "email": "dong.aisheng@linaro.org",
        "time": "Wed Apr 25 19:38:13 2012 +0800"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Wed May 02 01:14:20 2012 +0200"
      },
      "message": "pinctrl: support gpio request deferred probing\n\nAs pinctrl handles, it may be possible the pinctrl gpio ranges\nare still not got registered when user call pinctrl_gpio_request.\nThus, add defer support for it too.\n\nSigned-off-by: Dong Aisheng \u003cdong.aisheng@linaro.org\u003e\nAcked-by: Stephen Warren \u003cswarren@wwwdotorg.org\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "ca731a5da08926f669360342bcad50353fbe141a",
      "tree": "670a546ca3accd4647d46a6b5c90a6b067fb7a0a",
      "parents": [
        "989b7135666c464d90e296752802b2f37d168588",
        "c0af14d3212a54c6a11759cd6b78e755c68714a1"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Mon Apr 30 23:49:49 2012 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Mon Apr 30 23:53:58 2012 +0200"
      },
      "message": "Merge branch \u0027ux500-gpio-pins-for-arm-soc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson into next/gpio\n\nLinus Walleij \u003clinus.walleij@linaro.org\u003e writes:\n\n This is a pull request for the GPIO and pin control stuff\n accumulated in the ST-Ericsson tree. Here we have:\n\n - Improvements and fixes and a custom pin config API from\n   Rabin Vincent\n\n - Device Tree bindings from Lee Jones\n\n - Some accumulated patches by yours truly.\n\n - A MSP platform data init patch from Ola Lilja that is merged\n   here due to dependency on pin config work. It is to be\n   used with work being worked on in parallel in the ALSA\n   SoC subsystem.\n\n If you wonder about the custom pin config implementation this\n is to be used as a transition base as I am rewriting the\n driver to use pinctrl. Expect a final pull request on top\n of this one that will move the ux500 over to pinctrl.\n\n* \u0027ux500-gpio-pins-for-arm-soc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson:\n  ARM: ux500: Add support for MSP I2S-devices\n  drivers/gpio: gpio-nomadik: Add support for irqdomains\n  drivers/gpio: gpio-nomadik: Apply Device Tree bindings\n  ARM: ux500: update pin handling\n  ARM: ux500: implement pin API\n  ARM: ux500: remove a bunch of internal pull-ups\n  plat-nomadik: new sleep mode pincfg macros\n  gpio/nomadik: use ioremap() instead of static mappings\n  gpio/nomadik: support low EMI mode\n  gpio/nomadik: fix spurious interrupts with SKE\n  gpio/nomadik: cache [rf]w?imsc\n  gpio/nomadik: don\u0027t set SLPM to 1 for non-wakeup pins\n\nAlso includes an update to v3.4-rc4.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\n"
    },
    {
      "commit": "5b3aa5f7c6287b1a0698950a91e94546888e553b",
      "tree": "ba9835476e92287de257f5bcbf121f570c66e8b8",
      "parents": [
        "ad6e1107baa2e7fda55c2020c25127eab9c0122b"
      ],
      "author": {
        "name": "Dong Aisheng",
        "email": "dong.aisheng@linaro.org",
        "time": "Thu Apr 26 16:15:50 2012 +0800"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Thu Apr 26 23:31:04 2012 +0200"
      },
      "message": "pinctrl: add pinctrl_provide_dummies interface for platforms to use\n\nAdd a interface pinctrl_provide_dummies for platform to indicate\nwhether it needs use pinctrl dummy state.\n\nChangeLog v3-\u003ev4:\n* remove dummy gpio support in pinctrl subsystem.\n  Let gpio driver decide whether it wants to use pinctrl gpio mux\n  function.\nChangeLog v2-\u003ev3:\n* Also changed the missed pinctrl gpio APIs in v1.\nChangeLog v1-\u003ev2:\n* Based on sascha\u0027s suggestion, drop using kconfig since it will hide\n  pinctrl errors on all other boards.\n  See: https://lkml.org/lkml/2012/4/18/282\n  It seemed both Linus and Stephen agreed with this way, so i\u0027m ok\n  with it too.\n* Add dummy gpio support.\n  pinctrl gpio in the same situation as state.\n* Patch name changed.\n  Original is pinctrl: handle dummy state in core.\n* Split removing old dt dummy interface into a separate patch\n\nCc: Linus Walleij \u003clinus.walleij@linaro.org\u003e\nCc: Sascha Hauer \u003cs.hauer@pengutronix.de\u003e\nAcked-by: Stephen Warren \u003cswarren@wwwdotorg.org\u003e\nSigned-off-by: Dong Aisheng \u003cdong.aisheng@linaro.org\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "ad6e1107baa2e7fda55c2020c25127eab9c0122b",
      "tree": "fab32aafbdc9f2fd53d69afcaaf0b8997beea2af",
      "parents": [
        "02ae6da28fb7aa31d8bf1972c99e83c58b684198"
      ],
      "author": {
        "name": "John Crispin",
        "email": "blogic@openwrt.org",
        "time": "Thu Apr 26 16:47:11 2012 +0200"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Thu Apr 26 23:11:04 2012 +0200"
      },
      "message": "pinctrl: enhance reporting of errors when loading from DT\n\nThere are a few places in the api where the code simply returns -EINVAL when\nit finds an error. An example is pinmux_map_to_setting() which now reports an\nerror if we try to match a group with a function that it does not support.\n\nThe reporting of errors in pinconf_check_ops and pinmux_check_ops now has the\nsame style and is located inside the according functions and not the calling\ncode.\n\nWhen the map is found in the DT but the default state can not be selected we\nget an error to know that the code at least tried.\n\nThe patch also removes a stray word from one comment and a \"-\u003e\" from another\nfor the sake of consistency.\n\nFinally we replace a few pr_err/debug() calls with dev_err/dbg().\n\nThanks go to Stephen Warren for reviewing the patch and enhancing the reporting\ninside pinmux_map_to_setting().\n\nSigned-off-by: John Crispin \u003cblogic@openwrt.org\u003e\nAcked-by: Stephen Warren \u003cswarren@wwwdotorg.org\u003e\nCc: linux-kernel@vger.kernel.org\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "fde04f419a230fb7f7dc018a9deca6f5d431831e",
      "tree": "af45fe8050d4d15b427cc7f11bdc502d06270d60",
      "parents": [
        "dd5127010afa560b1cfde7e2cffeadabdd20885d"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Wed Apr 25 10:32:16 2012 -0600"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Thu Apr 26 10:49:28 2012 +0200"
      },
      "message": "pinctrl: propagate map validation errors\n\npinctrl_register_map() was returning early if pinmux_validate_map() or\npinconf_validate_map() failed, but was not actually returning the error\ncode.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "aef7704c6cc36db9618603b22194def441d30432",
      "tree": "d560e29b90c0fcfadaeb1d41e3ba39a379e8496c",
      "parents": [
        "b5badbaad16b44f1d5508701295fa682308da701"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Mon Apr 23 10:05:22 2012 -0600"
      },
      "committer": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Wed Apr 25 15:21:47 2012 -0600"
      },
      "message": "pinctrl: tegra: error reporting cleanup\n\nPrint an explicit error message in various failure cases to allow\neasier diagnosis.\n\nWARN_ON() some internal failures that users/clients shouldn\u0027t be able to\ntrigger.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\n"
    },
    {
      "commit": "15f70e1b9a1a6351c252cb8892272cc4601818c7",
      "tree": "97d38f59d412ca6f001f0674652958f0790466a9",
      "parents": [
        "dcb5dbc305b975cccf40942feba40964069541d3"
      ],
      "author": {
        "name": "John Crispin",
        "email": "blogic@openwrt.org",
        "time": "Mon Apr 23 19:01:58 2012 +0200"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Tue Apr 24 15:09:50 2012 +0200"
      },
      "message": "pinctrl: fix signed vs unsigned conditionals inside pinmux_map_to_setting\n\npinmux_map_to_setting() uses setting-\u003edata.mux.func/group to store the return\ncode of pinmux_func_name_to_selector/pinctrl_get_group_selector(). However,\nstruct pinctrl_setting_mux defines these elements as unsigned, resulting in all\nerror codes getting lost. The conditionals following the assignments will always\nevaluate to false thus breaking the error paths.\n\nThis bug can be triggered by loading a pinmux group map from the devicetree\nwith an invalid function/group string.\n\nSigned-off-by: John Crispin \u003cblogic@openwrt.org\u003e\nAcked-by: Stephen Warren \u003cswarren@wwwdotorg.org\u003e\nAcked-by: Dong Aisheng \u003cdong.aisheng@linaro.org\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "52130b6033c580c27d968f64cd73209c9609e4e0",
      "tree": "dd714e583a2c33f432e9244b9674a7d7b38da520",
      "parents": [
        "deda8287e1a602393b052c80b815b3706987b3da"
      ],
      "author": {
        "name": "Viresh Kumar",
        "email": "viresh.kumar@st.com",
        "time": "Wed Mar 28 22:27:07 2012 +0530"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sun Apr 22 22:49:25 2012 +0200"
      },
      "message": "pinctrl: Add SPEAr3xx pinctrl drivers\n\nThis adds pinctrl driver for SPEAr3xx family. SPEAr3xx family supports three\nfamilies: SPEAr300, SPEAr310 and SPEAr320.\n\nSigned-off-by: Viresh Kumar \u003cviresh.kumar@st.com\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\nReviewed-by: Stephen Warren \u003cswarren@wwwdotorg.org\u003e\n"
    },
    {
      "commit": "deda8287e1a602393b052c80b815b3706987b3da",
      "tree": "49f77fb650a90a6aaff711206067ff2e1ba6a445",
      "parents": [
        "f3215b427bec2add8b5c776e8f50c3ba35b0e8f1"
      ],
      "author": {
        "name": "Viresh Kumar",
        "email": "viresh.kumar@st.com",
        "time": "Wed Mar 28 22:27:07 2012 +0530"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sun Apr 22 22:49:23 2012 +0200"
      },
      "message": "pinctrl: Add SPEAr pinctrl drivers\n\nThis adds pinctrl driver for SPEAr platform. It also updates MAINTAINERS file\nfor SPEAr pinctrl drivers.\n\nSigned-off-by: Viresh Kumar \u003cviresh.kumar@st.com\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\nReviewed-by: Stephen Warren \u003cswarren@wwwdotorg.org\u003e\n"
    },
    {
      "commit": "b5badbaad16b44f1d5508701295fa682308da701",
      "tree": "75764dbb2f856b30b15cc0df1285153808317b9e",
      "parents": [
        "52f48fe00fcad83cd5fc4c961d851a3530fe032b"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Wed Apr 11 15:42:56 2012 -0600"
      },
      "committer": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Wed Apr 18 14:35:18 2012 -0600"
      },
      "message": "pinctrl: tegra: debugfs enhancements\n\n* Only provide debugfs-relates ops when CONFIG_DEBUG_FS is enabled.\n* Implement pin_config_group_dbg_show op.\n* Implement pin_config_config_dbg_show op.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "52f48fe00fcad83cd5fc4c961d851a3530fe032b",
      "tree": "68fdb2a2580914f17b74374ad6b390027824c389",
      "parents": [
        "ecc295bbab6b9d1baf0c0a8c2d5a945b201df547"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Wed Apr 11 12:53:09 2012 -0600"
      },
      "committer": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Wed Apr 18 10:26:40 2012 -0600"
      },
      "message": "pinctrl: tegra: refactor probe handling\n\nRather than having a single tegra-pinctrl driver that determines whether\nit\u0027s running on Tegra20 or Tegra30, instead have separate drivers for\neach that call into utility functions to implement the majority of the\ndriver. This change is based on review feedback of the SPEAr pinctrl\ndriver, which had originally copied to Tegra driver structure.\n\nThis requires that the two drivers have unique names. Update a couple\nspots in arch/arm/mach-tegra for the name change.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "f30d12b3ffb321c9d29bd1588940704d9bed2643",
      "tree": "0842183a866a3b45c1881210e423f4b8932b682b",
      "parents": [
        "3e215d0a19c2a0c389bd9117573b6dd8e46f96a8"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Tue Dec 13 15:21:01 2011 -0700"
      },
      "committer": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Wed Apr 18 10:26:39 2012 -0600"
      },
      "message": "ARM: tegra: Switch to new pinctrl driver\n\n* Rename old pinmux and new pinctrl platform driver and DT match table\n  entries, so the new driver gets instantiated.\n* Re-write board-pinmux.c, so that it uses pinctrl APIs to configura the\n  pinmux.\n* Re-write board-*-pinmux.c so that the pinmux configuration tables are\n  in pinctrl format.\n\nVentana\u0027s pin mux table needed some edits on top of the basic format\nconversion, since some mux options that were previously marked as\nreserved are now valid in the new pinctrl driver. Attempting to use the\nold reserved names will result in a failure. Specifically, groups lpw0,\nlpw2, lsc1, lsck, and lsda were changed from function rsvd4 to displaya,\nand group pta was changed from function rsvd2 to hdmi.\n\nAll boards\u0027 pin mux tables needed some edits on top of the based format\nconversion, since function i2c was split into i2c1 (first general I2C\ncontroller) and i2cp (power I2C controller) to better align function\ndefinitions with HW blocks.\n\nDue to the split of mux tables into pure mux and pull/tristate tables,\nmany entries in the separate Seaboard/Ventana tables could be merged\ninto the common table, since the entries differed only in the portion\nin one of the tables, not both.\n\nMost pin groups allow configuration of mux, tri-state, and pull. However,\nsome don\u0027t allow pull configuration, which is instead configured by new\ngroups that only allow pull configuration. This is a reflection of the\ntrue HW capabilities, which weren\u0027t fully represented by the old pinmux\ndriver. This required adding new pull table entries for those new groups,\nand setting many other entries\u0027 pull configuration to\nTEGRA_PINCONFIG_DONT_SET.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\nAcked-by: Olof Johansson \u003colof@lixom.net\u003e\n"
    },
    {
      "commit": "dcb5dbc305b975cccf40942feba40964069541d3",
      "tree": "f5dc39743766d69ef05b8df844d71758a5ee1dfc",
      "parents": [
        "d0bd8df56ebffe4a5ca42e27aca2a1243c70ed53"
      ],
      "author": {
        "name": "Dong Aisheng",
        "email": "dong.aisheng@linaro.org",
        "time": "Tue Apr 17 15:00:46 2012 +0800"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Wed Apr 18 13:53:13 2012 +0200"
      },
      "message": "pinctrl: show pin name for pingroups in sysfs\n\nPin name is more useful to users.\n\nAfter change, when cat pingroups in sysfs, it becomes:\nroot@freescale /sys/kernel/debug/pinctrl/20e0000.iomuxc$ cat pingroups\nregistered pin groups:\ngroup: uart4grp-1\npin 219 (MX6Q_PAD_KEY_ROW0)\npin 218 (MX6Q_PAD_KEY_COL0)\n\ngroup: usdhc4grp-1\npin 305 (MX6Q_PAD_SD4_CMD)\npin 306 (MX6Q_PAD_SD4_CLK)\npin 315 (MX6Q_PAD_SD4_DAT0)\npin 316 (MX6Q_PAD_SD4_DAT1)\npin 317 (MX6Q_PAD_SD4_DAT2)\npin 318 (MX6Q_PAD_SD4_DAT3)\npin 319 (MX6Q_PAD_SD4_DAT4)\npin 320 (MX6Q_PAD_SD4_DAT5)\npin 321 (MX6Q_PAD_SD4_DAT6)\npin 322 (MX6Q_PAD_SD4_DAT7)\n\nAcked-by: Stephen Warren \u003cswarren@wwwdotorg.org\u003e\nSigned-off-by: Dong Aisheng \u003cdong.aisheng@linaro.org\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "d0bd8df56ebffe4a5ca42e27aca2a1243c70ed53",
      "tree": "1dbcd9a82b3c88992ce2745b04b06094bf23f8d4",
      "parents": [
        "6d4ca1fb467932773da7b808c52f3d7ef4461ba0"
      ],
      "author": {
        "name": "Dong Aisheng",
        "email": "dong.aisheng@linaro.org",
        "time": "Tue Apr 17 15:00:45 2012 +0800"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Wed Apr 18 13:53:13 2012 +0200"
      },
      "message": "pinctrl: show pin name when request pins\n\nPin name is more useful to users.\n\nAcked-by: Stephen Warren \u003cswarren@wwwdotorg.org\u003e\nSigned-off-by: Dong Aisheng \u003cdong.aisheng@linaro.org\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "6d4ca1fb467932773da7b808c52f3d7ef4461ba0",
      "tree": "6e2055564dc75b2c44a3a41daf6ebfcfce326617",
      "parents": [
        "2aeefe0233174015aef19dc06aac02a1119a44be"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Mon Apr 16 10:51:00 2012 -0600"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Wed Apr 18 13:53:13 2012 +0200"
      },
      "message": "pinctrl: implement devm_pinctrl_get()/put()\n\nThese functions allow the driver core to automatically clean up any\nallocations made by drivers, thus leading to simplified drivers.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "2aeefe0233174015aef19dc06aac02a1119a44be",
      "tree": "ecd9ccbf963da23232e5bb7d2776fea8d0dfa069",
      "parents": [
        "96593afe6d724ffca309340afa914f8e1c6719fd"
      ],
      "author": {
        "name": "Dong Aisheng",
        "email": "dong.aisheng@linaro.org",
        "time": "Mon Apr 16 22:07:24 2012 +0800"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Wed Apr 18 13:53:13 2012 +0200"
      },
      "message": "pinctrl: a minor fix of pin config debug information\n\nSigned-off-by: Dong Aisheng \u003cdong.aisheng@linaro.org\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "96593afe6d724ffca309340afa914f8e1c6719fd",
      "tree": "6bbe6972da158c3c6c23b6f369e8a599aa1fef33",
      "parents": [
        "6cb4158757a8629e14851e7802f3b6bfaa7d6f00"
      ],
      "author": {
        "name": "Viresh Kumar",
        "email": "viresh.kumar@st.com",
        "time": "Mon Apr 16 14:22:34 2012 +0530"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Wed Apr 18 13:53:12 2012 +0200"
      },
      "message": "pinctrl: pinconf: fix compilation error if PINCONF is not selected\n\nWhen we compile pinctrl layer for platforms without CONFIG_PINCONF, we get\nfollowing compilation errors:\n\ndrivers/built-in.o: In function `pinctrl_show\u0027:\nlinux-2.6/drivers/pinctrl/core.c:1116: undefined\nreference to `pinconf_show_setting\u0027\ndrivers/built-in.o: In function `pinctrl_maps_show\u0027:\nlinux-2.6/drivers/pinctrl/core.c:1071: undefined\nreference to `pinconf_show_map\u0027\ndrivers/built-in.o: In function `pinctrl_init_device_debugfs\u0027:\nlinux-2.6/drivers/pinctrl/core.c:1224: undefined\nreference to `pinconf_init_device_debugfs\u0027\nmake[1]: *** [.tmp_vmlinux1] Error 1\n\nThis patch fixes this.\n\nSigned-off-by: Viresh Kumar \u003cviresh.kumar@st.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "6cb4158757a8629e14851e7802f3b6bfaa7d6f00",
      "tree": "c872640d7ec45d37fac2e1978418d5a92b5ef527",
      "parents": [
        "c736d73c9e6d9849ecb08c34c1d3917b210e8f38"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Fri Apr 13 10:49:06 2012 -0600"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Wed Apr 18 13:53:12 2012 +0200"
      },
      "message": "pinctrl: allow pctldevs to decode pin config in debugfs\n\nAdd a pinconf op so that pin controller drivers can decode their pin\nconfig settings for debugfs.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "c736d73c9e6d9849ecb08c34c1d3917b210e8f38",
      "tree": "245a0179276b9217258ae848a8e777f53473a5f5",
      "parents": [
        "630e2d0494f001cc3c435cac374f92e4bde0f518"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Wed Apr 11 16:45:45 2012 -0600"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Wed Apr 18 13:53:12 2012 +0200"
      },
      "message": "pinctrl: ifdef CONFIG_DEBUG_FS cleanup\n\nOnly provide prototypes for pin{mux,conf}.c debugfs-related functions\nwhen both CONFIG_PIN* /and/ CONFIG_DEBUG_FS are enabled, otherwise\nprovide static inlines.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "630e2d0494f001cc3c435cac374f92e4bde0f518",
      "tree": "f1f088678c8da3a6e4bd5dda06cb2264b0ad3b2a",
      "parents": [
        "60f7f5003d69b92558e9fc0789339f2b1d41f78d"
      ],
      "author": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Thu Apr 12 19:48:42 2012 +0200"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Wed Apr 18 13:53:12 2012 +0200"
      },
      "message": "pinctrl: mark non-EXPERIMENTAL\n\nWith the finalization of the external driver API and the device\ntree support, this subsystem is now mature and can be promoted to\nnon-experimental status.\n\nAcked-by: Stephen Warren \u003cswarren@wwwdotorg.org\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "60f7f5003d69b92558e9fc0789339f2b1d41f78d",
      "tree": "eea25d34d9322a1b21d9bb5728f592ea6edb1dbb",
      "parents": [
        "a3c9454e530d51fad49bbc57e19d50a30f94ce14"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Wed Apr 04 09:27:50 2012 -0600"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Wed Apr 18 13:53:12 2012 +0200"
      },
      "message": "pinctrl: tegra: Add complete device tree support\n\nImplement pinctrl_ops dt_node_to_map() and dt_free_map(). These allow\ncomplete specification of the desired pinmux configuration using device\ntree.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nAcked-by: Dong Aisheng \u003cdong.aisheng@linaro.org\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "c05127c4e2c6e7d9949347a76fd05c337bcd5e84",
      "tree": "5b23f8a116919028317f026e3f9998dce2ffb828",
      "parents": [
        "ad8bb720c23a80233e45ed31d67458f5e5b7ab31"
      ],
      "author": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Tue Apr 10 10:00:38 2012 +0200"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Wed Apr 18 13:53:11 2012 +0200"
      },
      "message": "pinctrl: implement pinctrl deferred probing\n\nIf drivers try to obtain pinctrl handles for a pin controller that\nhas not yet registered to the subsystem, we need to be able to\nback out and retry with deferred probing. So let\u0027s return\n-EPROBE_DEFER whenever this location fails. Also downgrade the\nerrors to info, maybe we will even set them to debug once the\ndeferred probing is commonplace.\n\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nReviewed-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Stephen Warren \u003cswarren@wwwdotorg.org\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "ad8bb720c23a80233e45ed31d67458f5e5b7ab31",
      "tree": "6b1da7d3dc99bacd03167a0235785e3f881b03b3",
      "parents": [
        "a1d31f71e6ed2f714830df8885ec07dfe1f6632e"
      ],
      "author": {
        "name": "Dong Aisheng",
        "email": "dong.aisheng@linaro.org",
        "time": "Tue Apr 10 12:41:34 2012 +0800"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Wed Apr 18 13:53:11 2012 +0200"
      },
      "message": "pinctrl: add some error checking for user interfaces\n\nThis patch can avoid kernel oops in case the mux or config\nfunction is not supported by driver.\n\nAcked-by: Stephen Warren \u003cswarren@wwwdotorg.org\u003e\nSigned-off-by: Dong Aisheng \u003cdong.aisheng@linaro.org\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "a1d31f71e6ed2f714830df8885ec07dfe1f6632e",
      "tree": "023be552c4d60c59414999c8a58c3888c7058824",
      "parents": [
        "d1e90e9e7467dbfe521b25ba79f520bf676ebc36"
      ],
      "author": {
        "name": "Dong Aisheng",
        "email": "dong.aisheng@linaro.org",
        "time": "Fri Apr 06 20:18:09 2012 +0800"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Wed Apr 18 13:53:11 2012 +0200"
      },
      "message": "pinctrl: fix pinmux_check_ops error checking\n\nDo not use get_functions_count before checking.\n\nAcked-by: Stephen Warren \u003cswarren@wwwdotorg.org\u003e\nSigned-off-by: Dong Aisheng \u003cdong.aisheng@linaro.org\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "d1e90e9e7467dbfe521b25ba79f520bf676ebc36",
      "tree": "2c4a2b8bfa2a984cb57a781b034a204a12fcc4b6",
      "parents": [
        "122dbe7e58c7d064a17eefd33205227e6bce85ca"
      ],
      "author": {
        "name": "Viresh Kumar",
        "email": "viresh.kumar@st.com",
        "time": "Fri Mar 30 11:25:40 2012 +0530"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Wed Apr 18 13:53:10 2012 +0200"
      },
      "message": "pinctrl: replace list_*() with get_*_count()\n\nMost of the SoC drivers implement list_groups() and list_functions()\nroutines for pinctrl and pinmux. These routines continue returning\nzero until the selector argument is greater than total count of\navailable groups or functions.\n\nThis patch replaces these list_*() routines with get_*_count()\nroutines, which returns the number of available selection for SoC\ndriver. pinctrl layer will use this value to check the range it can\nchoose.\n\nThis patch fixes all user drivers for this change. There are other\nroutines in user drivers, which have checks to check validity of\nselector passed to them. It is also no more required and hence\nremoved.\n\nDocumentation updated as well.\n\nAcked-by: Stephen Warren \u003cswarren@wwwdotorg.org\u003e\nSigned-off-by: Viresh Kumar \u003cviresh.kumar@st.com\u003e\n[Folded in fix and fixed a minor merge artifact manually]\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "122dbe7e58c7d064a17eefd33205227e6bce85ca",
      "tree": "99a7ece2870dc22cd58ec6897a921266b4f587c5",
      "parents": [
        "eb181c3533e8e5b3eaa96d3e8ed1cf5d9a408076"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Fri Mar 30 22:04:51 2012 +0200"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Wed Apr 18 13:53:10 2012 +0200"
      },
      "message": "pinctrl: mark const init data with __initconst instead of __initdata\n\nAs long as there is no other non-const variable marked __initdata in the\nsame compilation unit it doesn\u0027t hurt. If there were one however\ncompilation would fail with\n\n\terror: $variablename causes a section type conflict\n\nbecause a section containing const variables is marked read only and so\ncannot contain non-const variables.\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nCc: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "eafeb7a44aa8f79c992b9d557ede740c739f4b25",
      "tree": "23806fb2a28e6152b37ac74ed458de8116438531",
      "parents": [
        "57291ce295c0aca738dd284c4a9c591c09ebee71"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Tue Apr 03 21:53:56 2012 -0600"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Wed Apr 18 13:53:10 2012 +0200"
      },
      "message": "pinctrl: fix build when CONFIG_OF \u0026\u0026 !CONFIG_PINCTRL\n\npinctrl/devicetree.c won\u0027t compile when !CONFIG_PINCTRL, since the\npinctrl headers don\u0027t declare some types when !PINCTRL. Make sure\npinctrl/Makefile only attempts to compile devicetree.c when OF \u0026\u0026\nPINCTRL.\n\nAcked-by: Dong Aisheng \u003cdong.aisheng@linaro.org\u003e\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "57291ce295c0aca738dd284c4a9c591c09ebee71",
      "tree": "6e687f329e7adf08b5d7dcaa3d6616ff1a9b8c27",
      "parents": [
        "d26bc49fa401be2b71838b6a4b387196cd12a534"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@wwwdotorg.org",
        "time": "Fri Mar 23 10:29:46 2012 -0600"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Wed Apr 18 13:53:10 2012 +0200"
      },
      "message": "pinctrl: core device tree mapping table parsing support\n\nDuring pinctrl_get(), if the client device has a device tree node, look\nfor the common pinctrl properties there. If found, parse the referenced\ndevice tree nodes, with the help of the pinctrl drivers, and generate\nmapping table entries from them.\n\nDuring pinctrl_put(), free any results of device tree parsing.\n\nAcked-by: Dong Aisheng \u003cdong.aisheng@linaro.org\u003e\nSigned-off-by: Stephen Warren \u003cswarren@wwwdotorg.org\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "d26bc49fa401be2b71838b6a4b387196cd12a534",
      "tree": "463315affe87f7fefa96086f589b3b8681320ccd",
      "parents": [
        "22f099d0fcb33073a1f1f10402a16b28602e20f2"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@wwwdotorg.org",
        "time": "Fri Mar 16 14:54:25 2012 -0600"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Wed Apr 18 13:53:10 2012 +0200"
      },
      "message": "pinctrl: implement pinctrl_check_ops\n\nMost code assumes that the pinctrl ops are present. Validate this when\nregistering a pinctrl driver. Remove the one place in the code that\nwas checking whether one of these non-optional ops was present.\n\nSigned-off-by: Stephen Warren \u003cswarren@wwwdotorg.org\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "f84cc342b1999db11ece939e1d2bf0743eb4578b",
      "tree": "76ee7cf9e6cbf79b6768ebee51b2f253e9c00004",
      "parents": [
        "6f11f6f1a0a717eb8bd0dadd101c4522b945c501"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@wwwdotorg.org",
        "time": "Fri Mar 16 14:54:25 2012 -0600"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Wed Apr 11 09:31:02 2012 +0200"
      },
      "message": "pinctrl: implement pinctrl_check_ops\n\nMost code assumes that the pinctrl ops are present. Validate this when\nregistering a pinctrl driver. Remove the one place in the code that\nwas checking whether one of these non-optional ops was present.\n\nSigned-off-by: Stephen Warren \u003cswarren@wwwdotorg.org\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "dc0b1aa3e2fefa6372f38d7f6d5d33581567a1b5",
      "tree": "cd0f71588255f4b456f4d2e6f1f5b2446a91a51c",
      "parents": [
        "a050b3eee61666421df786c8d898ec22c129f4af"
      ],
      "author": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Wed Nov 16 21:58:10 2011 +0100"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Mon Mar 12 22:49:03 2012 +0100"
      },
      "message": "pinctrl: support pinconfig on the U300\n\nThis adds pin configuration support for the U300 driver pair,\nwe can now read out the biasing and drive mode in debugfs and\nconfigure it using the new configuration API.\n\nChangeLog v1-\u003ev2:\n- Migrate to pin config and generic pin config changes.\nChangeLog v2-\u003ev3:\n- Adjust to generic pin config changes in v7 patch set.\n\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "a050b3eee61666421df786c8d898ec22c129f4af",
      "tree": "944fde5ba3f5af1cb6c4a0f7ad9ada301af6c2d8",
      "parents": [
        "394349f7789fdfcdc74b61afcac84046535c40b7"
      ],
      "author": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Wed Nov 16 20:10:09 2011 +0100"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Mon Mar 12 22:49:02 2012 +0100"
      },
      "message": "pinctrl/coh901: use generic pinconf enums and parameters\n\nAdjust the COH 901 driver to use the standard enums for\nbiasing and driving pins, alter signature of config function\nto suit the framework.\n\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "394349f7789fdfcdc74b61afcac84046535c40b7",
      "tree": "20dd88e7a1f2dba0a1c227f53960013bf956fa43",
      "parents": [
        "70b36378d44d7f5e62458a830b1a9bb1c570f28a"
      ],
      "author": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Thu Nov 24 18:27:15 2011 +0100"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Mon Mar 12 22:49:02 2012 +0100"
      },
      "message": "pinctrl: introduce generic pin config\n\nThis is a split-off from the earlier patch set which adds generic\npin configuration for the pin controllers that want it. Since\nwe may have a system with mixed generic and custom pin controllers,\nwe pass a boolean in the pin controller ops vtable to indicate\nif it is generic.\n\nChangeLog v1-\u003ev5:\n- Follow parent patch versioning number system.\n- Document the semantic meaning of return values from pin config\n  get functions, so we can iterate over pins and check their\n  properties from debugfs as part of the generic config code.\n- Use proper cast functions in the generic debugfs pin config\n  file.\n- Expand generic config to optionally cover groups too.\nChangeLog v5-\u003ev6:\n- Update to match underlying changes.\nChangeLog v6-\u003ev7:\n- Drop DRIVE_OFF parameter, use bias high impedance for this\n- Delete argument for drive modes push-pull, od and os. These\n  are now just state transitions.\n- Delete slew rate rising/falling due to discussions on on\n  proper semantics\n- Drop config wakeup, struct irq_chip does this for now, add\n  back if need be.\n- Set PIN_CONFIG_END to 0x7fff making room for custom config\n  parameters from 0x8000 and up.\n- Prefix accessor functions with pinconf_\n"
    },
    {
      "commit": "70b36378d44d7f5e62458a830b1a9bb1c570f28a",
      "tree": "4956186b010d0b02245ade107645f5cb712d0ef3",
      "parents": [
        "652162d469a73450a66b6c8049b16c2b7828fa24"
      ],
      "author": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Mon Mar 12 21:38:29 2012 +0100"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Mon Mar 12 22:48:43 2012 +0100"
      },
      "message": "pinctrl: fix error path in pinconf_map_to_setting()\n\nThe code was using the union member\nsetting-\u003edata.configs.group_or_pin to store a potential\nerror code, but since that member is unsigned the\n\u003c 0 comparison was not true, letting errors pass through,\nending up as mapped to pin \"-22\". Fix this up and print\nthe error.\n\nAcked-by: Stephen Warren \u003cswarren@wwwdotorg.org\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "652162d469a73450a66b6c8049b16c2b7828fa24",
      "tree": "4df09c6e5e370a4bd73569503d1a124599871db5",
      "parents": [
        "a6c3b33f02c799db69a3cd82545e45e9df3d69ca"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Mon Mar 05 17:22:15 2012 -0700"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Mon Mar 12 22:43:09 2012 +0100"
      },
      "message": "pinctrl: allow concurrent gpio and mux function ownership of pins\n\nPer recent updates to Documentation/gpio.txt, gpiolib drivers should\ninform pinctrl when a GPIO is requested. pinctrl then marks that pin as\nin-use for that GPIO function.\n\nWhen an SoC muxes pins in a group, it\u0027s quite possible for the group to\ncontain e.g. 6 pins, but only 4 of them actually be needed by the HW\nmodule that\u0027s mux\u0027d to them. In this case, the other 2 pins could be\nused as GPIOs. However, pinctrl marks all the pins within the group as\nin-use by the selected mux function. To allow the expected gpiolib\ninteraction, separate the concepts of pin ownership into two parts: One\nfor the mux function and one for GPIO usage. Finally, allow those two\nownerships to exist in parallel.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "a6c3b33f02c799db69a3cd82545e45e9df3d69ca",
      "tree": "02c8d17867c1c552a5c44c7c3158a27afadd0c66",
      "parents": [
        "0acfb076f7987bd4bb5cd5de879ba3e3e71724e9",
        "f1f1ffa0d2fd562b610940c7374b8217597af47f"
      ],
      "author": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Tue Mar 06 23:30:15 2012 +0100"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Tue Mar 06 23:30:15 2012 +0100"
      },
      "message": "Merge branch \u0027pinctrl-tegra-for-next-diet\u0027 into for-next\n"
    },
    {
      "commit": "872acc322c74bb06b7ceb61fe93314e2da32362c",
      "tree": "20d767e7acd064f0db71b1f5aba5567d8f9687df",
      "parents": [
        "ba110d90c08d9676370db9a62792f57ade5b3bbf"
      ],
      "author": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Tue Mar 06 13:52:22 2012 +0100"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Tue Mar 06 23:07:41 2012 +0100"
      },
      "message": "pinctrl: include machine header to core.h\n\nstruct pinctrl_setting contains an enum pinctrl_map_type\nfield, so we need to include machine.h. Also fix kerneldoc\nto indicate that the pinctrl_setting is about both muxing\nand other config.\n\nAcked-by: Stephen Warren \u003cswarren@wwwdotorg.org\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "971dac7123c785fdb0d09276b5d459b67585e242",
      "tree": "bf31a25b47b9b7504e6f0765bf1a97b28d8afa44",
      "parents": [
        "62aa2b537c6f5957afd98e29f96897419ed5ebab"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Wed Feb 01 14:04:47 2012 -0700"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Tue Mar 06 10:51:46 2012 +0100"
      },
      "message": "pinctrl: add a driver for NVIDIA Tegra\n\nThis adds a driver for the Tegra pinmux, and required parameterization\ndata for Tegra20 and Tegra30.\n\nThe driver is initially added with driver name and device tree compatible\nvalue that won\u0027t cause this driver to be used. A later change will switch\nthe pinctrl driver to use the correct values, switch the old pinmux\ndriver to be disabled, and update all code that uses the old pinmux APIs\nto use the new pinctrl APIs.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nAcked-by: Olof Johansson \u003colof@lixom.net\u003e\n[squashed \"fix case of Tegra30\u0027s foo_groups[] arrays\"]\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "ba110d90c08d9676370db9a62792f57ade5b3bbf",
      "tree": "c65de82bbaa802962fc21d1039a7d966ed2aa283",
      "parents": [
        "1e2082b520721734c358f776d34a069867214c8e"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Fri Mar 02 13:05:49 2012 -0700"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Mon Mar 05 11:26:01 2012 +0100"
      },
      "message": "pinctrl: Show selected function and group in pinmux-pins debugfs\n\nUntil recently, the pinctrl pinmux-pins debugfs file displayed the\nselected function for each owned pin. This feature was removed during\nrestructing in support of recent API rework. This change restoreds this\nfeature, and also displays the group that the function was selected on,\nin case a pin is a member of multiple groups.\n\nBased on work by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "1e2082b520721734c358f776d34a069867214c8e",
      "tree": "4d11e15a4127ad69faf7555864480a6fafe5422c",
      "parents": [
        "6e5e959dde0d92d177f035652aeaa77f9330c9c6"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Fri Mar 02 13:05:48 2012 -0700"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Mon Mar 05 11:25:11 2012 +0100"
      },
      "message": "pinctrl: enhance mapping table to support pin config operations\n\nThe pinctrl mapping table can now contain entries to:\n* Set the mux function of a pin group\n* Apply a set of pin config options to a pin or a group\n\nThis allows pinctrl_select_state() to apply pin configs settings as well\nas mux settings.\n\nv3: Fix find_pinctrl() to iterate over the correct list.\n   s/_MUX_CONFIGS_/_CONFIGS_/ in mapping table macros.\n   Fix documentation to use correct mapping table macro.\nv2: Added numerous extra PIN_MAP_*() special-case macros.\n   Fixed kerneldoc typo. Delete pinctrl_get_pin_id() and\n   replace it with pin_get_from_name(). Various minor fixes.\n   Updates due to rebase.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nAcked-by: Dong Aisheng \u003cdong.aisheng@linaro.org\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "6e5e959dde0d92d177f035652aeaa77f9330c9c6",
      "tree": "c2d874df6a1c591b558a17591a1c8fbc2ba7a1e1",
      "parents": [
        "0e3db173e2b9fd3b82246516e72c17763eb5f98d"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Fri Mar 02 13:05:47 2012 -0700"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Mon Mar 05 11:22:59 2012 +0100"
      },
      "message": "pinctrl: API changes to support multiple states per device\n\nThe API model is changed from:\n\np \u003d pinctrl_get(dev, \"state1\");\npinctrl_enable(p);\n...\npinctrl_disable(p);\npinctrl_put(p);\np \u003d pinctrl_get(dev, \"state2\");\npinctrl_enable(p);\n...\npinctrl_disable(p);\npinctrl_put(p);\n\nto this:\n\np \u003d pinctrl_get(dev);\ns1 \u003d pinctrl_lookup_state(p, \"state1\");\ns2 \u003d pinctrl_lookup_state(p, \"state2\");\npinctrl_select_state(p, s1);\n...\npinctrl_select_state(p, s2);\n...\npinctrl_put(p);\n\nThis allows devices to directly transition between states without\ndisabling the pin controller programming and put()/get()ing the\nconfiguration data each time. This model will also better suit pinconf\nprogramming, which doesn\u0027t have a concept of \"disable\".\n\nThe special-case hogging feature of pin controllers is re-written to use\nthe regular APIs instead of special-case code. Hence, the pinmux-hogs\ndebugfs file is removed; see the top-level pinctrl-handles files for\nequivalent data.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nAcked-by: Dong Aisheng \u003cdong.aisheng@linaro.org\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "0e3db173e2b9fd3b82246516e72c17763eb5f98d",
      "tree": "ce00c29c56332c925766f7f793d388b9670d802f",
      "parents": [
        "7ecdb16fe63e5b356335ebdc236adfb48cef31e1"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Fri Mar 02 13:05:46 2012 -0700"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Mon Mar 05 11:21:46 2012 +0100"
      },
      "message": "pinctrl: add usecount to pins for muxing\n\nMultiple mapping table entries could reference the same pin, and hence\n\"own\" it. This would be unusual now that pinctrl_get() represents a single\nstate for a client device, but in the future when it represents all known\nstates for a device, this is quite likely. Implement reference counting\nfor pin ownership to handle this.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nAcked-by: Dong Aisheng \u003cdong.aisheng@linaro.org\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "7ecdb16fe63e5b356335ebdc236adfb48cef31e1",
      "tree": "036d9939c64f98e1f85343f15c12ad83c9a2a890",
      "parents": [
        "57b676f9c1b7cd84397fe5a86c9bd2788ac4bd32"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Fri Mar 02 13:05:45 2012 -0700"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Mon Mar 05 11:20:50 2012 +0100"
      },
      "message": "pinctrl: refactor struct pinctrl handling in core.c vs pinmux.c\n\nThis change separates two aspects of struct pinctrl:\n\na) The data representation of the parsed mapping table, into:\n\n   1) The top-level struct pinctrl object, a single entity returned\n      by pinctrl_get().\n\n   2) The parsed version of each mapping table entry, struct\n      pinctrl_setting, of which there is one per mapping table entry.\n\nb) The code that handles this; the code for (1) above is in core.c, and\n   the code to parse/execute each entry in (2) above is in pinmux.c, while\n   the iteration over multiple settings is lifted to core.c.\n\nThis will allow the following future changes:\n\n1) pinctrl_get() API rework, so that struct pinctrl represents all states\n   for the device, and the device can select between them without calling\n   put()/get() again.\n\n2) To support that, a struct pinctrl_state object will be inserted into\n   the data model between the struct pinctrl and struct pinctrl_setting.\n\n3) The mapping table will be extended to allow specification of pin config\n   settings too. To support this, struct pinctrl_setting will be enhanced\n   to store either mux settings or config settings, and functions will be\n   added to pinconf.c to parse/execute pin configuration settings.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\nAcked-by: Dong Aisheng \u003cdong.aisheng@linaro.org\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "57b676f9c1b7cd84397fe5a86c9bd2788ac4bd32",
      "tree": "e07d87bba28678aa80d9325a9c48eac0f57a7fe2",
      "parents": [
        "962bcbc57aa244eeb1176fa2e9f65ac865cca68a"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Fri Mar 02 13:05:44 2012 -0700"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Mon Mar 05 11:19:49 2012 +0100"
      },
      "message": "pinctrl: fix and simplify locking\n\nThere are many problems with the current pinctrl locking:\n\nstruct pinctrl_dev\u0027s gpio_ranges_lock isn\u0027t effective;\npinctrl_match_gpio_range() only holds this lock while searching for a gpio\nrange, but the found range is return and manipulated after releading the\nlock. This could allow pinctrl_remove_gpio_range() for that range while it\nis in use, and the caller may very well delete the range after removing it,\ncausing pinctrl code to touch the now-free range object.\n\nSolving this requires the introduction of a higher-level lock, at least\na lock per pin controller, which both gpio range registration and\npinctrl_get()/put() will acquire.\n\nThere is missing locking on HW programming; pin controllers may pack the\nconfiguration for different pins/groups/config options/... into one\nregister, and hence have to read-modify-write the register. This needs to\nbe protected, but currently isn\u0027t. Related, a future change will add a\n\"complete\" op to the pin controller drivers, the idea being that each\nstate\u0027s programming will be programmed into the pinctrl driver followed\nby the \"complete\" call, which may e.g. flush a register cache to HW. For\nthis to work, it must not be possible to interleave the pinctrl driver\ncalls for different devices.\n\nAs above, solving this requires the introduction of a higher-level lock,\nat least a lock per pin controller, which will be held for the duration\nof any pinctrl_enable()/disable() call.\n\nHowever, each pinctrl mapping table entry may affect a different pin\ncontroller if necessary. Hence, with a per-pin-controller lock, almost\nany pinctrl API may need to acquire multiple locks, one per controller.\nTo avoid deadlock, these would need to be acquired in the same order in\nall cases. This is extremely difficult to implement in the case of\npinctrl_get(), which doesn\u0027t know which pin controllers to lock until it\nhas parsed the entire mapping table, since it contains somewhat arbitrary\ndata.\n\nThe simplest solution here is to introduce a single lock that covers all\npin controllers at once. This will be acquired by all pinctrl APIs.\n\nThis then makes struct pinctrl\u0027s mutex irrelevant, since that single lock\nwill always be held whenever this mutex is currently held.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "962bcbc57aa244eeb1176fa2e9f65ac865cca68a",
      "tree": "0a0c1b66b5113906d0930e102dfd7d2b408e8c1a",
      "parents": [
        "110e4ec5a1cfe20190e7f8c2b8b4eef369de3c99"
      ],
      "author": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Fri Mar 02 16:52:46 2012 +0100"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Fri Mar 02 16:52:46 2012 +0100"
      },
      "message": "pinctrl: fix the pin descriptor kerneldoc\n\nThe introduction of the owner field on the pin descriptor was not\nproperly documented so fix this up.\n\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "110e4ec5a1cfe20190e7f8c2b8b4eef369de3c99",
      "tree": "2e20b44478f47069ac19f0ef9f5a92bee7576bdd",
      "parents": [
        "46919ae63d4820e76724beb655274ce143f0da0b"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Thu Mar 01 18:48:33 2012 -0700"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Fri Mar 02 16:20:54 2012 +0100"
      },
      "message": "pinctrl: assume map table entries can\u0027t have a NULL name field\n\npinctrl_register_mappings() already requires that every mapping table\nentry have a non-NULL name field.\n\nLogically, this makes sense too; drivers should always request a specific\nnamed state so they know what they\u0027re getting. Relying on getting the\nfirst mentioned state in the mapping table is error-prone, and a nasty\nspecial case to implement, given that a given the mapping table may define\nmultiple states for a device.\n\nRemove a small part of the documentation that talked about optionally\nrequesting a specific state; it\u0027s mandatory now.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nAcked-by: Dong Aisheng \u003cdong.aisheng@linaro.org\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "46919ae63d4820e76724beb655274ce143f0da0b",
      "tree": "a16dfab490eb0d68db9d633f172bab98b1035485",
      "parents": [
        "d4e3198736d9d64e4ba4d2b46ab75cbcf5d0a4e0"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Thu Mar 01 18:48:32 2012 -0700"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Fri Mar 02 16:18:24 2012 +0100"
      },
      "message": "pinctrl: introduce PINCTRL_STATE_DEFAULT, define hogs as that state\n\nThis provides a single centralized name for the default state.\n\nUpdate PIN_MAP_* macros to use this state name, instead of requiring the\nuser to pass a state name in.\n\nWith this change, hog entries in the mapping table are defined as those\nwith state name PINCTRL_STATE_DEFAULT, i.e. all entries have the same\nname. This interacts badly with the nested iteration over mapping table\nentries in pinctrl_hog_maps() and pinctrl_hog_map() which would now\nattempt to claim each hog mapping table entry multiple times. Replacing\nthe custom hog code with a simple pinctrl_get()/pinctrl_enable().\n\nUpdate documentation and mapping tables to use this.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nAcked-by: Dong Aisheng \u003cdong.aisheng@linaro.org\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "d4e3198736d9d64e4ba4d2b46ab75cbcf5d0a4e0",
      "tree": "e5e06f5c3ec83949e10f5407a1020ff5e07a7934",
      "parents": [
        "3eedb4372354a70ce63c9f4ec294d2eba0d79d17"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Thu Mar 01 18:48:31 2012 -0700"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Fri Mar 02 16:12:03 2012 +0100"
      },
      "message": "pinctrl: enhance pinctrl_get() to handle multiple functions\n\nAt present, pinctrl_get() assumes that all matching mapping table entries\nhave the same \"function\" value, albeit potentially applied to different\npins/groups.\n\nThis change removes this restriction; pinctrl_get() can now handle a set\nof mapping tables where different functions are applied to the various\npins/groups.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "3eedb4372354a70ce63c9f4ec294d2eba0d79d17",
      "tree": "cb9159674023e9e38d783978dac0e9678b3eee4c",
      "parents": [
        "806d314325812fb8ffe7059bd84a23d334350c21"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Thu Feb 23 17:04:40 2012 -0700"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Wed Feb 29 19:10:56 2012 +0100"
      },
      "message": "pinctrl: move pinctrl-maps debugfs file to top-level\n\nThe debugfs file pinctrl-maps is a system-wide file, not specific to any\npin controller, so place it in the top-level directory.\n\nAlso, move the code implementing the file to keep the order of all the\nfunctions matching the order they\u0027re created in pinctrl_init_*debugfs().\nThe only non-obvious change here is no private data is passed to\ndebugfs_create_file() or single_open().\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nAcked-by: Dong Aisheng \u003cdong.aisheng@linaro.org\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "1cf94c45ca31c0ad563e72b095782346cba26b6c",
      "tree": "e652152b9b46cf0efe40891e06bfdf64266d4928",
      "parents": [
        "2304b4737f492b6ee9b714d8129e153af0bef989"
      ],
      "author": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Fri Feb 24 06:53:04 2012 +0100"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Wed Feb 29 19:10:42 2012 +0100"
      },
      "message": "pinctrl: make the pinmux-pins more helpful\n\nThe debugfs file pinmux-pins used to tell which function was\nenabled but now states simply which device owns the pin. Being\nowned by the pinctrl driver itself means just that it\u0027s hogged\nso be a bit more helpful by printing that.\n\nChangeLog v1-\u003ev2:\n- Preserve the self-referential owner field, just clarify that\n  when the pin controller states itself as owner this means\n  that it\u0027s hogged.\n\nAcked-by: Dong Aisheng \u003cdong.aisheng@linaro.org\u003e\nAcked-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "2304b4737f492b6ee9b714d8129e153af0bef989",
      "tree": "172859048b3a66ac06a80e0c800b4a1ebef7a485",
      "parents": [
        "02f5b98951c631a3c4b3cc398dd2b14d274a6155"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Wed Feb 22 14:26:01 2012 -0700"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Fri Feb 24 06:30:50 2012 +0100"
      },
      "message": "pinctrl: remove pin and hogs locks from struct pinctrl_dev\n\nstruct pinctrl_dev\u0027s pin_desc_tree_lock and pinctrl_hogs_lock aren\u0027t\nuseful; the data they protect is read-only except when registering or\nunregistering a pinctrl_dev, and at those times, it doesn\u0027t make sense to\nprotect one part of the structure independently from the rest.\n\nMove pinctrl_init_device_debugfs() to the end of pinctrl_register() so\nthat debugfs can\u0027t access the struct pinctrl_dev until it\u0027s fully\ninitialized, i.e. after the hogs are set up.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "02f5b98951c631a3c4b3cc398dd2b14d274a6155",
      "tree": "357c026f464d5790833630eac6ac9bc78d4d2bf9",
      "parents": [
        "95dcd4aea57f1d449305f3032240bba0a839593b"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Wed Feb 22 14:26:00 2012 -0700"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Fri Feb 24 06:28:56 2012 +0100"
      },
      "message": "pinctrl: allocate sizeof(*p) instead of sizeof(struct foo)\n\nThis hopefully makes it harder to take the sizeof the wrong type.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nAcked-by: Dong Aisheng \u003cdong.aisheng@linaro.org\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "95dcd4aea57f1d449305f3032240bba0a839593b",
      "tree": "f5a94b7ddbfad5e96c56cb64609a0658ed772747",
      "parents": [
        "1681f5ae4ca25bddb6f7b6d4f463cc83e3d1ad01"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Wed Feb 22 14:25:59 2012 -0700"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Fri Feb 24 06:26:58 2012 +0100"
      },
      "message": "pinctrl: use dev_*() instead of pr_*(), add some msgs, minor cleanups\n\ne.g. dev_err instead of pr_err prints messages in a slightly more\nstandardized format.\n\nAlso, add a few more error messages to track down errors.\n\nAlso, some small cleanups of messages.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nAcked-by: Dong Aisheng \u003cdong.aisheng@linaro.org\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "1681f5ae4ca25bddb6f7b6d4f463cc83e3d1ad01",
      "tree": "fc37580130beadbc5e0898ddb9b5fec32b662859",
      "parents": [
        "f7b9006f4598dd252dca5225f3cf88179c36276f"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Wed Feb 22 14:25:58 2012 -0700"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Fri Feb 24 06:24:52 2012 +0100"
      },
      "message": "pinctrl: disallow map table entries with NULL dev_name field\n\nHog entries are mapping table entries with .ctrl_dev_name \u003d\u003d .dev_name.\nAll other mapping table entries need .dev_name set so that they will\nmatch some pinctrl_get() call. All extant PIN_MAP*() macros set\n.dev_name.\n\nSo, there is no reason to allow mapping table entries without .dev_name\nset. Update the code and documentation to disallow this.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nAcked-by: Dong Aisheng \u003cdong.aisheng@linaro.org\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "f7b9006f4598dd252dca5225f3cf88179c36276f",
      "tree": "351e1b5aefddcf5d885069c37f844f916cae9b8f",
      "parents": [
        "3cc70ed32cd6c5cb57de17bde615148ed7eda88f"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Sun Feb 19 23:45:58 2012 -0700"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Wed Feb 22 18:42:00 2012 +0100"
      },
      "message": "pinctrl: fix pinconf_groups_show() to emit newline\n\npinconf_groups_show() wrote all debug information on one line. Fix it to\nmatch pinconf_pins_show() and be legible.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "3cc70ed32cd6c5cb57de17bde615148ed7eda88f",
      "tree": "f9eb9c82c9b5862617cf2bf18a1cb3c96fddc968",
      "parents": [
        "b1eed4ece7064c361d6e03f6706d90e4e9dd7e96"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Sun Feb 19 23:45:44 2012 -0700"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Wed Feb 22 17:59:35 2012 +0100"
      },
      "message": "pinctrl: record a pin owner, not mux function, when requesting pins\n\nWhen pins are requested/acquired/got, some device becomes the owner of\ntheir mux setting. At this point, it isn\u0027t certain which mux function\nwill be selected for the pin, since this may vary between each of the\ndevice\u0027s states in the pinctrl mapping table. As such, we should record\nthe owning device, not what we think the initial mux setting will be,\nwhen requesting pins.\n\nThis doesn\u0027t make a lot of difference right now since pinctrl_get gets\nonly one single device/state combination, but this will make a difference\nwhen pinctrl_get gets all states, and pinctrl_select_state can switch\nbetween states.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "b1eed4ece7064c361d6e03f6706d90e4e9dd7e96",
      "tree": "10dfd6a834d180a7a0eaa3515bf78fdf97de65d3",
      "parents": [
        "f026fe3d102e9d7f0d040109353ef5a97b5ef92c"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Sun Feb 19 23:45:53 2012 -0700"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Wed Feb 22 17:59:34 2012 +0100"
      },
      "message": "pinctrl: error if mapping table\u0027s control dev can\u0027t be found\n\nThis is a serious error, and the pin control system will not function\ncorrectly if it ends up not programing the mapping table entries into\nthe HW. Instead of just ignoring this, error out.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\n[rebased to fit the applied patch series, cast error to pointer]\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "f026fe3d102e9d7f0d040109353ef5a97b5ef92c",
      "tree": "721b39699b68b66d361e4bc8cadc90ed56c45a94",
      "parents": [
        "9891d98c7ab5712807d87ab40f2a9acd9b317114"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Sun Feb 19 23:45:51 2012 -0700"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Wed Feb 22 17:59:34 2012 +0100"
      },
      "message": "pinctrl: downgrade pinctrl_get warning when no maps are found\n\nThis may be perfectly legitimate. An IP block may get re-used\nacross SoCs. Not all of those SoCs may need pinmux settings for the\nIP block, e.g. if one SoC dedicates pins to that function but\nanother doesn\u0027t. The driver won\u0027t know this, and will always\nattempt to set up the pinmux. The mapping table defines whether any\nHW programming is actually needed.\n\nAcked-by: Shawn Guo \u003cshawn.guo@linaro.org\u003e\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\n[rebased to fit the applied patch series]\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "9891d98c7ab5712807d87ab40f2a9acd9b317114",
      "tree": "d603a0679ba787dff85b28c366d7fd657c0798f3",
      "parents": [
        "128a06d4bb997d90158e668173a6944d376c84cb"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Sun Feb 19 23:45:50 2012 -0700"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Wed Feb 22 17:59:33 2012 +0100"
      },
      "message": "pinctrl: assume map table entries can\u0027t have a NULL ctrl_dev_name field\n\nThese are already disallowed. Clean up some code that doesn\u0027t assume this.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "128a06d4bb997d90158e668173a6944d376c84cb",
      "tree": "cbfe9ed922f93fa4132d8d6db6e3a22aeb8637fa",
      "parents": [
        "4ecce45dd663f6945bed7e2e06c05b5d90f3a2a1"
      ],
      "author": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Tue Feb 21 14:31:45 2012 +0100"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Wed Feb 22 17:59:33 2012 +0100"
      },
      "message": "pinctrl: spawn U300 pinctrl from the COH901 GPIO\n\nThis solves the riddle on how the U300 pin controller shall be\nable to reference the struct gpio_chip even though these are\ntwo separate drivers: spawn the pinctrl child from the GPIO\ndriver and pass in the struct gpio_chip as platform data.\nIn the process we rename the U300 \"pinmux-u300\" to\n\"pinctrl-u300\" so as not to confuse.\n\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "4ecce45dd663f6945bed7e2e06c05b5d90f3a2a1",
      "tree": "2d971f9ce2b68a89cb477dae9b209439545bcc5a",
      "parents": [
        "2b694250174980382bddcb00e1de7654ecdf6f1f"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Sun Feb 19 23:45:47 2012 -0700"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Wed Feb 22 17:59:33 2012 +0100"
      },
      "message": "pinctrl: core.c/h cleanups\n\n* Make all functions internal to core.c static. Remove any of these from\n  core.h.\n* Add any missing EXPORT_SYMBOL_GPL().\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "2b694250174980382bddcb00e1de7654ecdf6f1f",
      "tree": "689d6ef2c9bca17f62c52b5d84bfd998dd2f044c",
      "parents": [
        "03665e0f248d6b7542f72cd7c4ec521109f283c7"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Sun Feb 19 23:45:46 2012 -0700"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Wed Feb 22 17:59:32 2012 +0100"
      },
      "message": "pinctrl: Re-order pinconf.[ch] to match each-other\n\nModify the two files so that the order of function prototypes in the\nheader matches the order of implementations in the .c file.\n\nDon\u0027t prototype a couple of internal functions.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "03665e0f248d6b7542f72cd7c4ec521109f283c7",
      "tree": "72761b986a95728508f9d9871f30059ba3a409bc",
      "parents": [
        "b2b3e66e40bb60b1aa222d2f712c019653215390"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Sun Feb 19 23:45:45 2012 -0700"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Wed Feb 22 17:59:32 2012 +0100"
      },
      "message": "pinctrl: Re-order pinmux.[ch] to match each-other\n\nModify the two files so that the order of function prototypes in the\nheader matches the order of implementations in the .c file.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "b2b3e66e40bb60b1aa222d2f712c019653215390",
      "tree": "94806f8a31ba5baa2b172b67234c08643fbcefd9",
      "parents": [
        "8b9c139f166cd55d76728a5910fa862a4e16e833"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Sun Feb 19 23:45:43 2012 -0700"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Wed Feb 22 17:59:31 2012 +0100"
      },
      "message": "pinctrl: Store mapping table as a list of chunks\n\nInstead of storing a single array of mapping table entries, which\nrequires realloc()ing that array each time it\u0027s extended and copying\nthe new data, simply store a list of pointers to the individual chunks.\nThis also removes the need to copy the mapping table at all; a pointer\nis maintained to the original table, this saving memory.\n\nA macro for_each_maps() is introduced to hide the additional complexity\nof iterating over the map entries.\n\nThis change will also simplify removing chunks of entries from the mapping\ntable. This isn\u0027t important right now, but will be in the future, when\nmapping table entries are dynamically added when parsing them from the\ndevice tree, and removed when drivers no longer need to interact with\npinctrl.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "8b9c139f166cd55d76728a5910fa862a4e16e833",
      "tree": "7c2090cea5e0961d8a710f36eb2b3fb5f032459c",
      "parents": [
        "13398a4b90c87f0250928f01b5735a157fcc0847"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Sun Feb 19 23:45:42 2012 -0700"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Wed Feb 22 17:59:31 2012 +0100"
      },
      "message": "pinctrl: use list_add_tail instead of list_add\n\nThis mostly makes debugfs files print things in the order that they\nwere added or acquired, which just feels a little more consistent.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "13398a4b90c87f0250928f01b5735a157fcc0847",
      "tree": "9f4a6d353de9ec8b91b64c0f7ab2285078348553",
      "parents": [
        "449d16b025ac38c7b62af5fb6ef4b833d78e690d"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Sun Feb 19 23:45:41 2012 -0700"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Wed Feb 22 17:59:30 2012 +0100"
      },
      "message": "pinctrl: pinctrl_register_mappings() shouldn\u0027t be __init\n\nIt may be common for pinctrl_register_mappings() to be used from __init\ncontext, but there\u0027s no reason that additional mappings shouldn\u0027t be\nadded at a later point, e.g. if loading modules that add pin controllers\nand their mapping tables.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "449d16b025ac38c7b62af5fb6ef4b833d78e690d",
      "tree": "93afa4011913fc6817a662862cc51983c490d0ca",
      "parents": [
        "5c9bdc3f52d20c9bc6c2552c6d3ec5bfa4119f75"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Tue Feb 14 10:50:41 2012 -0700"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Wed Feb 22 17:59:30 2012 +0100"
      },
      "message": "pinctrl: make \"hog\" mapping table entries work\n\nCommit 77a5988 \"pinctrl: changes hog mechanism to be self-referential\"\nmodified the way \"hog\" entries were represented in the mapping table.\nHowever, the new representation failed some error checks in\npinctrl_hog_map(). Remove the now-bogus error-check, and fix the code\nto solve the issue the error-check used to avoid.\n\nAcked-by: Dong Aisheng \u003cdong.aisheng@linaro.org\u003e\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "77a5988355f993840928d195f790a939200a4ff0",
      "tree": "b2590450fb4c5e956ddfc119e6bb610ce53aa8a9",
      "parents": [
        "befe5bdfbb698b3bc57c58d0bd7ca3391c9275ed"
      ],
      "author": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Fri Feb 10 01:34:12 2012 +0100"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Fri Feb 10 21:33:10 2012 +0100"
      },
      "message": "pinctrl: changes hog mechanism to be self-referential\n\nInstead of a specific boolean field to indicate if a map entry shall\nbe hogged, treat self-reference as an indication of desired hogging.\nThis drops one field off the map struct and has a nice Douglas R.\nHofstadter-feel to it.\n\nAcked-by: Dong Aisheng \u003cdong.aisheng@linaro.org\u003e\nAcked-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    }
  ],
  "next": "befe5bdfbb698b3bc57c58d0bd7ca3391c9275ed"
}
