)]}'
{
  "log": [
    {
      "commit": "e07577e1ddf6d2d31961df897e7ff05c0aeb8d0f",
      "tree": "529e254a8a89e89ef3ac892ed66081fdf9a779ea",
      "parents": [
        "904adede088f2a6976e417d1d5cf72c9fe686814"
      ],
      "author": {
        "name": "Roland Stigge",
        "email": "stigge@antcom.de",
        "time": "Mon Oct 29 22:30:56 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue Oct 30 00:10:55 2012 -0700"
      },
      "message": "Input: lpc32xx-keys - select INPUT_MATRIXKMAP\n\nThis adds a \"select\" dependency of KEYBOARD_LPC32XX on INPUT_MATRIXKMAP,\nas the other drivers are doing in this regard. This fixes the following\ncompile error if KEYBOARD_LPC32XX is enabled but INPUT_MATRIXKMAP is not:\n\ndrivers/input/keyboard/lpc32xx-keys.c:230: undefined reference to\n`matrix_keypad_build_keymap\u0027\n\nSigned-off-by: Roland Stigge \u003cstigge@antcom.de\u003e\nSigned-off-by: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\n"
    },
    {
      "commit": "904adede088f2a6976e417d1d5cf72c9fe686814",
      "tree": "0d9ad8997d73d8c1e2690966ccd93d182ed64abd",
      "parents": [
        "b216e12d062d060f2c7b1a49b4b6a6a442cae79c"
      ],
      "author": {
        "name": "Vasily Khoruzhick",
        "email": "anarsoul@gmail.com",
        "time": "Mon Oct 29 23:45:09 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue Oct 30 00:10:49 2012 -0700"
      },
      "message": "Input: pxa27x_keypad - clear pending interrupts on keypad config\n\nBootloader can leave interrupt bit pending, and it confuses driver.\n\nSigned-off-by: Vasily Khoruzhick \u003canarsoul@gmail.com\u003e\nAcked-by: Robert Jarzmik \u003crobert.jarzmik@free.fr\u003e\nSigned-off-by: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\n"
    },
    {
      "commit": "8bbbfa70549bd84f29ff331d0ac051897ccbbd72",
      "tree": "306640629d368960428326201098a881d7fd724f",
      "parents": [
        "bd81ccea8558daab570d70d2c23746413f26cecf",
        "0cc8d6a9d23d6662da91eeb6bb8e7d1c559850f0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 13 10:56:03 2012 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 13 10:56:03 2012 +0900"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\nPull input layer updates from Dmitry Torokhov:\n \"2nd round of updates for the input subsystem.  With it input core no\n  longer limits number of character devices per event handler (such as\n  evdev) to 32, but switches to dynamic minors once legacy range is\n  exhausted.  This should get multi-seat installations that currently\n  run our of event devices very quickly.\n\n  You will also get an update for Wacom driver and a couple of driver\n  fixes.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:\n  Input: extend the number of event (and other) devices\n  Input: mousedev - mark mousedev interfaces as non-seekable\n  Input: mousedev - rename mixdev_open to opened_by_mixdev\n  Input: mousedev - reformat structure initializers\n  Input: mousedev - factor out psaux code to reduce #ifdefery\n  Input: samsung-keypad - add clk_prepare and clk_unprepare\n  Input: atmel_mxt_ts - simplify mxt_dump_message\n  Input: wacom - clean up wacom_query_tablet_data\n  Input: wacom - introduce wacom_fix_phy_from_hid\n  Input: wacom - allow any multi-input Intuos device to set prox\n  Input: wacom - report correct touch contact size for I5/Bamboo\n"
    },
    {
      "commit": "0cc8d6a9d23d6662da91eeb6bb8e7d1c559850f0",
      "tree": "7187a6807ff5bd6e8f8dac7c53e2de28759a8354",
      "parents": [
        "dde3ada3d0069855eeb353707b2b0f946191cfd6",
        "7f8d4cad1e4e11a45d02bd6e024cc2812963c38a"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Thu Oct 11 00:45:21 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Thu Oct 11 00:45:21 2012 -0700"
      },
      "message": "Merge branch \u0027next\u0027 into for-linus\n\nPrepare second set of updates for 3.7 merge window (Wacom driver update\nand patches extending number of input minors).\n"
    },
    {
      "commit": "aba828cee24f48bc93a661aaa18caea301786f3e",
      "tree": "0d19b6bcdcd67c15fdf17510428e62c57d7a6d39",
      "parents": [
        "eb007c8677a9b00e6bd24d1c3e161b3209fcd3be"
      ],
      "author": {
        "name": "Thomas Abraham",
        "email": "thomas.abraham@linaro.org",
        "time": "Thu Oct 04 00:03:49 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Thu Oct 04 23:09:33 2012 -0700"
      },
      "message": "Input: samsung-keypad - add clk_prepare and clk_unprepare\n\nAdd calls to clk_prepare and clk_unprepare as required by commom clock\nframework.\n\nSigned-off-by: Thomas Abraham \u003cthomas.abraham@linaro.org\u003e\nSigned-off-by: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\n"
    },
    {
      "commit": "fc47912d9cda50ae6bd9ca30e97e8c03de5b7b60",
      "tree": "d7da6ce3b23c1524e681ee33aa6e21d3c0586108",
      "parents": [
        "06fe918e9f177dc2a0592b0ad40a6ce4920b2033",
        "dde3ada3d0069855eeb353707b2b0f946191cfd6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 02 17:16:10 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 02 17:16:10 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\nPull input updates from Dmitry Torokhov:\n \"A few drivers were updated with device tree bindings and others got a\n  few small cleanups and fixes.\"\n\nFix trivial conflict in drivers/input/keyboard/omap-keypad.c due to\nchanges clashing with a whitespace cleanup.\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (28 commits)\n  Input: wacom - mark Intuos5 pad as in-prox when touching buttons\n  Input: synaptics - adjust threshold for treating position values as negative\n  Input: hgpk - use %*ph to dump small buffer\n  Input: gpio_keys_polled - fix dt pdata-\u003enbuttons\n  Input: Add KD[GS]KBDIACRUC ioctls to the compatible list\n  Input: omap-keypad - fixed formatting\n  Input: tegra - move platform data header\n  Input: wacom - add support for EMR on Cintiq 24HD touch\n  Input: s3c2410_ts - make s3c_ts_pmops const\n  Input: samsung-keypad - use of_get_child_count() helper\n  Input: samsung-keypad - use of_match_ptr()\n  Input: uinput - fix formatting\n  Input: uinput - specify exact bit sizes on userspace APIs\n  Input: uinput - mark failed submission requests as free\n  Input: uinput - fix race that can block nonblocking read\n  Input: uinput - return -EINVAL when read buffer size is too small\n  Input: uinput - take event lock when fetching events from buffer\n  Input: get rid of MATCH_BIT() macro\n  Input: rotary-encoder - add DT bindings\n  Input: rotary-encoder - constify platform data pointers\n  ...\n"
    },
    {
      "commit": "033d9959ed2dc1029217d4165f80a71702dc578e",
      "tree": "3d306316e44bdabce2e0bf2ef7e466e525f90b4c",
      "parents": [
        "974a847e00cf3ff1695e62b276892137893706ab",
        "7c6e72e46c9ea4a88f3f8ba96edce9db4bd48726"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 02 09:54:49 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 02 09:54:49 2012 -0700"
      },
      "message": "Merge branch \u0027for-3.7\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\nPull workqueue changes from Tejun Heo:\n \"This is workqueue updates for v3.7-rc1.  A lot of activities this\n  round including considerable API and behavior cleanups.\n\n   * delayed_work combines a timer and a work item.  The handling of the\n     timer part has always been a bit clunky leading to confusing\n     cancelation API with weird corner-case behaviors.  delayed_work is\n     updated to use new IRQ safe timer and cancelation now works as\n     expected.\n\n   * Another deficiency of delayed_work was lack of the counterpart of\n     mod_timer() which led to cancel+queue combinations or open-coded\n     timer+work usages.  mod_delayed_work[_on]() are added.\n\n     These two delayed_work changes make delayed_work provide interface\n     and behave like timer which is executed with process context.\n\n   * A work item could be executed concurrently on multiple CPUs, which\n     is rather unintuitive and made flush_work() behavior confusing and\n     half-broken under certain circumstances.  This problem doesn\u0027t\n     exist for non-reentrant workqueues.  While non-reentrancy check\n     isn\u0027t free, the overhead is incurred only when a work item bounces\n     across different CPUs and even in simulated pathological scenario\n     the overhead isn\u0027t too high.\n\n     All workqueues are made non-reentrant.  This removes the\n     distinction between flush_[delayed_]work() and\n     flush_[delayed_]_work_sync().  The former is now as strong as the\n     latter and the specified work item is guaranteed to have finished\n     execution of any previous queueing on return.\n\n   * In addition to the various bug fixes, Lai redid and simplified CPU\n     hotplug handling significantly.\n\n   * Joonsoo introduced system_highpri_wq and used it during CPU\n     hotplug.\n\n  There are two merge commits - one to pull in IRQ safe timer from\n  tip/timers/core and the other to pull in CPU hotplug fixes from\n  wq/for-3.6-fixes as Lai\u0027s hotplug restructuring depended on them.\"\n\nFixed a number of trivial conflicts, but the more interesting conflicts\nwere silent ones where the deprecated interfaces had been used by new\ncode in the merge window, and thus didn\u0027t cause any real data conflicts.\n\nTejun pointed out a few of them, I fixed a couple more.\n\n* \u0027for-3.7\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: (46 commits)\n  workqueue: remove spurious WARN_ON_ONCE(in_irq()) from try_to_grab_pending()\n  workqueue: use cwq_set_max_active() helper for workqueue_set_max_active()\n  workqueue: introduce cwq_set_max_active() helper for thaw_workqueues()\n  workqueue: remove @delayed from cwq_dec_nr_in_flight()\n  workqueue: fix possible stall on try_to_grab_pending() of a delayed work item\n  workqueue: use hotcpu_notifier() for workqueue_cpu_down_callback()\n  workqueue: use __cpuinit instead of __devinit for cpu callbacks\n  workqueue: rename manager_mutex to assoc_mutex\n  workqueue: WORKER_REBIND is no longer necessary for idle rebinding\n  workqueue: WORKER_REBIND is no longer necessary for busy rebinding\n  workqueue: reimplement idle worker rebinding\n  workqueue: deprecate __cancel_delayed_work()\n  workqueue: reimplement cancel_delayed_work() using try_to_grab_pending()\n  workqueue: use mod_delayed_work() instead of __cancel + queue\n  workqueue: use irqsafe timer for delayed_work\n  workqueue: clean up delayed_work initializers and add missing one\n  workqueue: make deferrable delayed_work initializer names consistent\n  workqueue: cosmetic whitespace updates for macro definitions\n  workqueue: deprecate system_nrt[_freezable]_wq\n  workqueue: deprecate flush[_delayed]_work_sync()\n  ...\n"
    },
    {
      "commit": "9cd11c0c47b8690b47e7573311ce5c483cb344ed",
      "tree": "59f51c2bb3f73b21005105095d7321d35616ca9d",
      "parents": [
        "b9541d94bcd2f23a069dbe84830fef1bbcd643f0",
        "1ec9c26ad0890003f2b8a4ab97164f66d5de3f6d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 01 19:11:38 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 01 19:11:38 2012 -0700"
      },
      "message": "Merge tag \u0027multiplatform\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc\n\nPull ARM soc multiplatform enablement from Olof Johansson:\n \"This is a pretty significant branch.  It\u0027s the introduction of the\n  first multiplatform support on ARM, and with this (and the later\n  branch) merged, it is now possible to build one kernel that contains\n  support for highbank, vexpress, mvebu, socfpga, and picoxcell.  More\n  platforms will be convered over in the next few releases.\n\n  Two critical last things had to be done for this to be practical and\n  possible:\n   * Today each platform has its own include directory under\n     mach-\u003cmach\u003e/include/mach/*, and traditionally that is where a lot\n     of driver/platform shared definitions have gone, such as platform\n     data structures.  They now need to move out to a common location\n     instead, and this branch moves a large number of those out to\n     include/linux/platform_data.\n   * Each platform used to list the device trees to compile for its\n     boards in mach-\u003cmach\u003e/Makefile.boot.\n\n  Both of the above changes will mean that there are some merge\n  conflicts to come (and some to resolve here).  It\u0027s a one-time move\n  and once it settles in, we should be good for quite a while.  Sorry\n  for the overhead.\"\n\nFix conflicts as per Olof.\n\n* tag \u0027multiplatform\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (51 commits)\n  ARM: add v7 multi-platform defconfig\n  ARM: msm: Move core.h contents into common.h\n  ARM: highbank: call highbank_pm_init from .init_machine\n  ARM: dtb: move all dtb targets to common Makefile\n  ARM: spear: move platform_data definitions\n  ARM: samsung: move platform_data definitions\n  ARM: orion: move platform_data definitions\n  ARM: vexpress: convert to multi-platform\n  ARM: initial multiplatform support\n  ARM: mvebu: move armada-370-xp.h in mach dir\n  ARM: vexpress: remove dependency on mach/* headers\n  ARM: picoxcell: remove dependency on mach/* headers\n  ARM: move all dtb targets out of Makefile.boot\n  ARM: picoxcell: move debug macros to include/debug\n  ARM: socfpga: move debug macros to include/debug\n  ARM: mvebu: move debug macros to include/debug\n  ARM: vexpress: move debug macros to include/debug\n  ARM: highbank: move debug macros to include/debug\n  ARM: move debug macros to common location\n  ARM: make mach/gpio.h headers optional\n  ...\n"
    },
    {
      "commit": "61464c8357c8f6b780e4c44f5c79471799c51ca7",
      "tree": "4509cf075403965528f380f2f825c46908fb7d4e",
      "parents": [
        "47061eda2584b9e4516d1e3a9713406a3a559ac8",
        "9cf1c871526cf6bfec2a653e1e068ee72592542c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 01 18:19:05 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 01 18:19:05 2012 -0700"
      },
      "message": "Merge tag \u0027cleanup\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc\n\nPull ARM soc general cleanups from Olof Johansson:\n \"This is a large branch that contains a handful of different cleanups:\n\n   - Fixing up the I/O space remapping on PCI on ARM.  This is a series\n     from Rob Herring that restructures how all pci devices allocate I/O\n     space, and it\u0027s part of the work to allow multiplatform kernels.\n   - A number of cleanup series for OMAP, moving and removing some\n     headers, sparse irq rework and in general preparation for\n     multiplatform.\n   - Final removal of all non-DT boards for Tegra, it is now\n     device-tree-only!\n   - Removal of a stale platform, nxp4008.  It\u0027s an old mobile chipset\n     that is no longer in use, and was very likely never really used\n     with a mainline kernel.  We have not been able to find anyone\n     interested in keeping it around in the kernel.\n   - Removal of the legacy dmaengine driver on tegra\n\n  + A handful of other things that I haven\u0027t described above.\"\n\nFix up some conflicts with the staging tree (and because nxp4008 was\nremoved)\n\n* tag \u0027cleanup\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (184 commits)\n  ARM: OMAP2+: serial: Change MAX_HSUART_PORTS to 6\n  ARM: OMAP4: twl-common: Support for additional devices on i2c1 bus\n  ARM: mmp: using for_each_set_bit to simplify the code\n  ARM: tegra: harmony: fix ldo7 regulator-name\n  ARM: OMAP2+: Make omap4-keypad.h local\n  ARM: OMAP2+: Make l4_3xxx.h local\n  ARM: OMAP2+: Make l4_2xxx.h local\n  ARM: OMAP2+: Make l3_3xxx.h local\n  ARM: OMAP2+: Make l3_2xxx.h local\n  ARM: OMAP1: Move irda.h from plat to mach\n  ARM: OMAP2+: Make hdq1w.h local\n  ARM: OMAP2+: Make gpmc-smsc911x.h local\n  ARM: OMAP2+: Make gpmc-smc91x.h local\n  ARM: OMAP1: Move flash.h from plat to mach\n  ARM: OMAP2+: Make debug-devices.h local\n  ARM: OMAP1: Move board-voiceblue.h from plat to mach\n  ARM: OMAP1: Move board-sx1.h from plat to mach\n  ARM: OMAP2+: Make omap-wakeupgen.h local\n  ARM: OMAP2+: Make omap-secure.h local\n  ARM: OMAP2+: Make ctrl_module_wkup_44xx.h local\n  ...\n"
    },
    {
      "commit": "dde3ada3d0069855eeb353707b2b0f946191cfd6",
      "tree": "bdc2d358f8dc7fc29000149ebc4db949934b15b2",
      "parents": [
        "5e056ef4ddeb6129f6bb170f2c26b8f370bbcda7",
        "fb4f552e895cec29934d94a99cbd1f1f00448a88"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Mon Oct 01 14:20:58 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Mon Oct 01 14:20:58 2012 -0700"
      },
      "message": "Merge branch \u0027next\u0027 into for-linus\n\nPrepare first set of updates for 3.7 merge window.\n"
    },
    {
      "commit": "e3a66aa33a8f06924f67770e15c22a5c52df314e",
      "tree": "fb8786f1300bdce8f6fc7462e3fd5699e057dd24",
      "parents": [
        "be2109e13fc6f017040c57615acfe1065723687b",
        "6884b680459ab850f99fc37605084187bc9888ac"
      ],
      "author": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Sat Sep 22 00:22:33 2012 -0700"
      },
      "committer": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Sat Sep 22 01:07:21 2012 -0700"
      },
      "message": "Merge branch \u0027multiplatform/platform-data\u0027 into next/multiplatform\n\n* multiplatform/platform-data:\n  ARM: spear: move platform_data definitions\n  ARM: samsung: move platform_data definitions\n  ARM: orion: move platform_data definitions\n  ARM: nomadik: move platform_data definitions\n  ARM: w90x900: move platform_data definitions\n  ARM: vt8500: move platform_data definitions\n  ARM: tegra: move sdhci platform_data definition\n  ARM: sa1100: move platform_data definitions\n  ARM: pxa: move platform_data definitions\n  ARM: netx: move platform_data definitions\n  ARM: msm: move platform_data definitions\n  ARM: imx: move platform_data definitions\n  ARM: ep93xx: move platform_data definitions\n  ARM: davinci: move platform_data definitions\n  ARM: at91: move platform_data definitions\n\nConflicts due to removed files:\n\tarch/arm/mach-tegra/board-harmony.c\n\tarch/arm/mach-tegra/board-trimslice.c\n\nConflicts due to code removal:\n\tarch/arm/mach-tegra/board-paz00.c\n\nContext conflicts in:\n\tdrivers/mmc/host/sdhci-tegra.c\n\tdrivers/net/irda/pxaficp_ir.c\n\nSigned-off-by: Olof Johansson \u003colof@lixom.net\u003e\n"
    },
    {
      "commit": "0b6c404a07e3240b95aa5682fb8fd57c41609d7a",
      "tree": "c4d410b0ec7044922b73c39ecfb3fbb620c29282",
      "parents": [
        "609455f481772c5a875b88e860a2ee0e2f25ebf0",
        "55d512e245bc7699a8800e23df1a24195dd08217"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Wed Sep 19 10:21:21 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Wed Sep 19 10:21:21 2012 -0700"
      },
      "message": "Merge tag \u0027v3.6-rc5\u0027 into for-linus\n\nSync with mainline so that I can revert an input patch that came in through\nanother subsystem tree.\n"
    },
    {
      "commit": "6884b680459ab850f99fc37605084187bc9888ac",
      "tree": "ac294d1b0f4aa15b4cf5c770bb67642d4f52eb97",
      "parents": [
        "436d42c61c3eef1d02256174c8615046c61a28ad"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Aug 24 15:22:23 2012 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Wed Sep 19 17:42:19 2012 +0200"
      },
      "message": "ARM: spear: move platform_data definitions\n\nPlatform data for device drivers should be defined in\ninclude/linux/platform_data/*.h, not in the architecture\nand platform specific directories.\n\nThis moves such data out of the spear include directories\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nAcked-by: Nicolas Pitre \u003cnico@linaro.org\u003e\nCc: Viresh Kumar \u003cviresh.linux@gmail.com\u003e\nCc: Shiraz Hashim \u003cshiraz.hashim@st.com\u003e\nCc: spear-devel@list.st.com\nCc: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\n"
    },
    {
      "commit": "2203747c97712975accc5e69bdaf1ad38a691635",
      "tree": "3aac29db151701df240bc8e9a8edd42c4d3ed932",
      "parents": [
        "b25c46074a16e261e1fb2baf59578a2ad0cd8ef6"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Aug 24 15:21:06 2012 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Wed Sep 19 17:39:52 2012 +0200"
      },
      "message": "ARM: omap: move platform_data definitions\n\nPlatform data for device drivers should be defined in\ninclude/linux/platform_data/*.h, not in the architecture\nand platform specific directories.\n\nThis moves such data out of the omap include directories\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nAcked-by: Nicolas Pitre \u003cnico@linaro.org\u003e\nAcked-by: Tony Lindgren \u003ctony@atomide.com\u003e\nCc: Kevin Hilman \u003ckhilman@ti.com\u003e\nCc: \"Benoît Cousson\" \u003cb-cousson@ti.com\u003e\nCc: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nCc: Ohad Ben-Cohen \u003cohad@wizery.com\u003e\nCc: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: Omar Ramirez Luna \u003comar.ramirez@ti.com\u003e\nCc: Tomi Valkeinen \u003ctomi.valkeinen@ti.com\u003e\nCc: Florian Tobias Schandinat \u003cFlorianSchandinat@gmx.de\u003e\nCc: Peter Ujfalusi \u003cpeter.ujfalusi@ti.com\u003e\nCc: Jarkko Nikula \u003cjarkko.nikula@bitmer.com\u003e\nCc: Liam Girdwood \u003clrg@ti.com\u003e\nCc: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nCc: Jean Pihet \u003cj-pihet@ti.com\u003e\nCc: J Keerthy \u003cj-keerthy@ti.com\u003e\nCc: linux-omap@vger.kernel.org\n"
    },
    {
      "commit": "db298da2c31e1dcf7c9b7c9cef6217ad3449ebb7",
      "tree": "4637bf40930d34bc277769b1452ba1f71f13f015",
      "parents": [
        "54ecf4f05637183ffd0ac98f906e45e271030a55"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Aug 24 15:19:33 2012 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Sep 14 11:19:00 2012 +0200"
      },
      "message": "ARM: nomadik: move platform_data definitions\n\nPlatform data for device drivers should be defined in\ninclude/linux/platform_data/*.h, not in the architecture\nand platform specific directories.\n\nThis moves such data out of the nomadik include directories\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nAcked-by: Nicolas Pitre \u003cnico@linaro.org\u003e\nAcked-by: Felipe Balbi \u003cbalbi@ti.com\u003e\nAcked-by: Alessandro Rubini \u003crubini@unipv.it\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\nCc: STEricsson \u003cSTEricsson_nomadik_linux@list.st.com\u003e\nCc: Srinidhi Kasagar \u003csrinidhi.kasagar@stericsson.com\u003e\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Andreas Westin \u003candreas.westin@stericsson.com\u003e\n"
    },
    {
      "commit": "54ecf4f05637183ffd0ac98f906e45e271030a55",
      "tree": "7d5a7ac9dc9e1a512e26b741562a66b91b296212",
      "parents": [
        "19d331010636a43318c09fbdaa5ae7ef4bb6f7eb"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Aug 24 15:18:36 2012 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Sep 14 11:18:59 2012 +0200"
      },
      "message": "ARM: w90x900: move platform_data definitions\n\nPlatform data for device drivers should be defined in\ninclude/linux/platform_data/*.h, not in the architecture\nand platform specific directories.\n\nThis moves such data out of the w90x900 include directories\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nAcked-by: Nicolas Pitre \u003cnico@linaro.org\u003e\nCc: Wan ZongShun \u003cmcuos.com@gmail.com\u003e\nCc: \"Ben Dooks (embedded platforms)\" \u003cben-linux@fluff.org\u003e\nCc: \"Wolfram Sang (embedded platforms)\" \u003cw.sang@pengutronix.de\u003e\nCc: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\nCc: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: Florian Tobias Schandinat \u003cFlorianSchandinat@gmx.de\u003e\n"
    },
    {
      "commit": "293b2da1b61136813fc2764f43304c66ff8040e9",
      "tree": "0edb35568fa88f853da9c14cd789a8403cda1b9d",
      "parents": [
        "2960ed3468773b1a0b2533dd7a562673cc799437"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Aug 24 15:16:48 2012 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Sep 14 11:18:10 2012 +0200"
      },
      "message": "ARM: pxa: move platform_data definitions\n\nPlatform data for device drivers should be defined in\ninclude/linux/platform_data/*.h, not in the architecture\nand platform specific directories.\n\nThis moves such data out of the pxa include directories\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nAcked-by: Nicolas Pitre \u003cnico@linaro.org\u003e\nAcked-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\nAcked-by: Igor Grinberg \u003cgrinberg@compulab.co.il\u003e\nAcked-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\nAcked-by: Marek Vasut \u003cmarex@denx.de\u003e\nAcked-by: Robert Jarzmik \u003crobert.jarzmik@free.fr\u003e\nAcked-by: Paul Parsons \u003clost.distance@yahoo.com\u003e\nAcked-by: Vinod Koul \u003cvinod.koul@linux.intel.com\u003e\nAcked-By: Stefan Schmidt \u003cstefan@openezx.org\u003e\nCc: Eric Miao \u003ceric.y.miao@gmail.com\u003e\nCc: Haojian Zhuang \u003chaojian.zhuang@gmail.com\u003e\nCc: Daniel Ribeiro \u003cdrwyrm@gmail.com\u003e\nCc: Harald Welte \u003claforge@openezx.org\u003e\nCc: Philipp Zabel \u003cphilipp.zabel@gmail.com\u003e\nCc: Tomas Cech \u003csleep_walker@suse.cz\u003e\nCc: Sergey Lapin \u003cslapin@ossfans.org\u003e\nCc: Jonathan Cameron \u003cjic23@cam.ac.uk\u003e\nCc: Dan Williams \u003cdjbw@fb.com\u003e\nCc: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\nCc: Chris Ball \u003ccjb@laptop.org\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Samuel Ortiz \u003csamuel@sortiz.org\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Florian Tobias Schandinat \u003cFlorianSchandinat@gmx.de\u003e\nCc: Liam Girdwood \u003clrg@ti.com\u003e\nCc: Jaroslav Kysela \u003cperex@perex.cz\u003e\nCc: Takashi Iwai \u003ctiwai@suse.de\u003e\nCc: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nCc: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nCc: openezx-devel@lists.openezx.org\n"
    },
    {
      "commit": "a3b2924547a79cb6dba683d737501c01476f9fb3",
      "tree": "5224cdbcf704e2e9b1c74c677630943c5fe3a3fb",
      "parents": [
        "ec2a0833e5157fab6cac5f57a49b2f31eb418a39"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Aug 24 15:12:11 2012 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Sep 14 11:16:55 2012 +0200"
      },
      "message": "ARM: ep93xx: move platform_data definitions\n\nPlatform data for device drivers should be defined in\ninclude/linux/platform_data/*.h, not in the architecture\nand platform specific directories.\n\nThis moves such data out of the ep93xx include directories\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nAcked-by: Nicolas Pitre \u003cnico@linaro.org\u003e\nAcked-by: Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nAcked-by: Ryan Mallon \u003crmallon@gmail.com\u003e\nAcked-by: Vinod Koul \u003cvinod.koul@linux.intel.com\u003e\nCc: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: Jeff Garzik \u003cjgarzik@pobox.com\u003e\nCc: Dan Williams \u003cdjbw@fb.com\u003e\nCc: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\nCc: Florian Tobias Schandinat \u003cFlorianSchandinat@gmx.de\u003e\nCc: Liam Girdwood \u003clrg@ti.com\u003e\nCc: Jaroslav Kysela \u003cperex@perex.cz\u003e\nCc: Takashi Iwai \u003ctiwai@suse.de\u003e\nCc: Mika Westerberg \u003cmika.westerberg@iki.fi\u003e\nCc: Axel Lin \u003caxel.lin@gmail.com\u003e\n"
    },
    {
      "commit": "ec2a0833e5157fab6cac5f57a49b2f31eb418a39",
      "tree": "eb47117208522948df0cd36ad3012c9e716b74c2",
      "parents": [
        "7cdc39eeadf11824b62f65c22de60aca611b0744"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Aug 24 15:11:34 2012 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Sep 14 11:16:54 2012 +0200"
      },
      "message": "ARM: davinci: move platform_data definitions\n\nPlatform data for device drivers should be defined in\ninclude/linux/platform_data/*.h, not in the architecture\nand platform specific directories.\n\nThis moves such data out of the davinci include directories\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nAcked-by: Nicolas Pitre \u003cnico@linaro.org\u003e\nAcked-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\nAcked-by: Felipe Balbi \u003cbalbi@ti.com\u003e\nCc: Sekhar Nori \u003cnsekhar@ti.com\u003e\nCc: Kevin Hilman \u003ckhilman@ti.com\u003e\nCc: \"Ben Dooks\" \u003cben-linux@fluff.org\u003e\nCc: \"Wolfram Sang\" \u003cw.sang@pengutronix.de\u003e\nCc: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\nCc: Chris Ball \u003ccjb@laptop.org\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Liam Girdwood \u003clrg@ti.com\u003e\nCc: davinci-linux-open-source@linux.davincidsp.com\n"
    },
    {
      "commit": "8757145af0cc7d51dc4d491c9a2248ece50b9932",
      "tree": "1b48505b5324f62b8c9e01c1e94b74086f02d9df",
      "parents": [
        "caaa357dc0582f0d4504c22f1ef2347ad940de1b"
      ],
      "author": {
        "name": "Alexandre Pereira da Silva",
        "email": "aletes.xgr@gmail.com",
        "time": "Wed Sep 12 21:49:26 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Wed Sep 12 21:56:20 2012 -0700"
      },
      "message": "Input: gpio_keys_polled - fix dt pdata-\u003enbuttons\n\npdata-\u003enbuttons should be updated by the dt code.\n\nSigned-off-by: Alexandre Pereira da Silva \u003caletes.xgr@gmail.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "f799a3d8fe170159257b75c1baf48a7c1f625d1d",
      "tree": "7ff1338229905d4ab2a7835966aa21ab33d18cd7",
      "parents": [
        "4b25408f1f61c35b70a19a41053b5e5e3224e97f"
      ],
      "author": {
        "name": "Tony Lindgren",
        "email": "tony@atomide.com",
        "time": "Fri Sep 07 13:27:58 2012 -0700"
      },
      "committer": {
        "name": "Tony Lindgren",
        "email": "tony@atomide.com",
        "time": "Wed Sep 12 18:06:30 2012 -0700"
      },
      "message": "Input: omap-keypad: Remove dependencies to mach includes\n\nRemove support for omap2+ as it\u0027s no longer needed since\nit\u0027s using matrix-keypad. This way we can remove depency\nto plat and mach headers which is needed for ARM common\nzImage support.\n\nAlso remove INT_KEYBOARD by using omap_kp-\u003eirq.\n\nNote that this patch depends on an earlier patch\n\"ARM: OMAP: Move gpio.h to include/linux/platform_data\".\n\nCc: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\nCc: linux-input@vger.kernel.org\nAcked-by: Sourav Poddar \u003csourav.poddar@ti.com\u003e\nReviewed-by: Felipe Balbi \u003cbalbi@ti.com\u003e\nSigned-off-by: Tony Lindgren \u003ctony@atomide.com\u003e\n"
    },
    {
      "commit": "11be4bc6a1ee7a824237e63b59d228956aa8c2a7",
      "tree": "b65c611a805e045aff76c9fa94e7dd92b731808a",
      "parents": [
        "5b6e7f1c169db10632459c28f148011e039187bd",
        "6f4d0382e2a6d27045e223d8c452659477826650"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 08 16:20:59 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 08 16:20:59 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\nPull input subsystem updates from Dmitry Torokhov.\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:\n  Input: wacom - add support for EMR on Cintiq 24HD touch\n  Input: i8042 - add Gigabyte T1005 series netbooks to noloop table\n  Input: imx_keypad - reset the hardware before enabling\n  Input: edt-ft5x06 - fix build error when compiling wthout CONFIG_DEBUG_FS\n"
    },
    {
      "commit": "9e14f36bb577bd2828db5797303ca7bf6c87d50a",
      "tree": "b352f8f69702b1ca93a6355b6bdf5b405bbad8c0",
      "parents": [
        "e6c340171f0daaccc95b90abbeed2b837157ee11"
      ],
      "author": {
        "name": "Josh",
        "email": "joshua.taylor0@gmail.com",
        "time": "Tue Sep 04 23:10:50 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue Sep 04 23:12:13 2012 -0700"
      },
      "message": "Input: omap-keypad - fixed formatting\n\nFixed spacing error on if statements and fixed tab error.\n\nSigned-off-by: Josh \u003cjoshua.taylor0@gmail.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\n"
    },
    {
      "commit": "e6c340171f0daaccc95b90abbeed2b837157ee11",
      "tree": "843d4035be59bd791321910e52157ce527b3b4b3",
      "parents": [
        "a85442ade272121927a56e02f7dfde1127482df2",
        "4cbe5a555fa58a79b6ecbb6c531b8bab0650778d"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue Sep 04 22:57:19 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue Sep 04 22:57:19 2012 -0700"
      },
      "message": "Merge tag \u0027v3.6-rc4\u0027 into next\n\nLinux 3.6-rc4\n\n# gpg: Signature made Sat 01 Sep 2012 10:40:33 AM PDT using RSA key ID 00411886\n# gpg: Good signature from \"Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\"\n"
    },
    {
      "commit": "a85442ade272121927a56e02f7dfde1127482df2",
      "tree": "22af0834c30e813a0808aa7f13746f7d172b6670",
      "parents": [
        "77626ebc0cb540c39f03e988484ee650a99c355b"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Tue Sep 04 20:27:38 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue Sep 04 22:44:06 2012 -0700"
      },
      "message": "Input: tegra - move platform data header\n\nMove the Tegra KBC platform data header out of arch/arm/mach-tegra, as\na pre-requisite of single zImage.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\n"
    },
    {
      "commit": "609455f481772c5a875b88e860a2ee0e2f25ebf0",
      "tree": "0207e1f6a5ad10f810e8a104b3f957a32806385a",
      "parents": [
        "037a833ed05a86d01ea27a2c32043b86c549be1b"
      ],
      "author": {
        "name": "Fabio Estevam",
        "email": "fabio.estevam@freescale.com",
        "time": "Tue Sep 04 20:27:38 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue Sep 04 22:18:03 2012 -0700"
      },
      "message": "Input: imx_keypad - fix missing clk conversions\n\ncommit a1e636e6d3 (Input: imx_keypad - use clk_prepare_enable/\nclk_disable_unprepare()) missed to update clk_enable/clk_disable\nin imx_keypad_probe().\n\nFix it so that we do not get clk warnings at boot.\n\nSigned-off-by: Fabio Estevam \u003cfabio.estevam@freescale.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\n"
    },
    {
      "commit": "31b95bfb79e8d7637ba0d399eb152f9b0d548340",
      "tree": "4bde16dd76c51c4c1f2b05b3ea5a3d6990cf7556",
      "parents": [
        "f4d4661bee0f54410ac65571b50df5d9fe091d03"
      ],
      "author": {
        "name": "Tobias Klauser",
        "email": "tklauser@distanz.ch",
        "time": "Tue Aug 21 22:04:46 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue Aug 21 22:40:01 2012 -0700"
      },
      "message": "Input: samsung-keypad - use of_get_child_count() helper\n\nUse of_get_child_count() instead of custom implementation.\n\nSigned-off-by: Tobias Klauser \u003ctklauser@distanz.ch\u003e\nSigned-off-by: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\n"
    },
    {
      "commit": "f4d4661bee0f54410ac65571b50df5d9fe091d03",
      "tree": "2fe4b1d37a3c2f403f96515c57ea02e5f66947d1",
      "parents": [
        "54ce165ebd9d9494b64149e0d1ab4ddbf5ea908b"
      ],
      "author": {
        "name": "Tobias Klauser",
        "email": "tklauser@distanz.ch",
        "time": "Tue Aug 21 22:04:32 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue Aug 21 22:39:56 2012 -0700"
      },
      "message": "Input: samsung-keypad - use of_match_ptr()\n\nInstead of having to define the match table to NULL if CONFIG_OF isn\u0027t\nset, use the of_match_ptr() macro which will do this for us.\n\nSigned-off-by: Tobias Klauser \u003ctklauser@distanz.ch\u003e\nSigned-off-by: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\n"
    },
    {
      "commit": "a2f25245269d754a9fd687a15db975271a58c5e0",
      "tree": "06f8849b00f16f657334309155a460ad53c235fd",
      "parents": [
        "2976f247989cbff1019fa3740938b0b086de5659"
      ],
      "author": {
        "name": "Alexandre Pereira da Silva",
        "email": "aletes.xgr@gmail.com",
        "time": "Tue Jul 31 22:08:45 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue Aug 21 22:29:50 2012 -0700"
      },
      "message": "Input: gpio_keys_polled - convert to dt\n\nSigned-off-by: Alexandre Pereira da Silva \u003caletes.xgr@gmail.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\n"
    },
    {
      "commit": "2976f247989cbff1019fa3740938b0b086de5659",
      "tree": "2bc72ec3e394e45bec97e1bf3486fffdf234526e",
      "parents": [
        "41091ad0b8f843d36390058362c8f3c52a26a333"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Sun Jul 29 22:48:33 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue Aug 21 22:29:49 2012 -0700"
      },
      "message": "Input: gpio-keys-polled - constify pointers to platform data\n\nSigned-off-by: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\n"
    },
    {
      "commit": "2fba26c6595e4c1c64a74dad30f71c09708ff59a",
      "tree": "978e2ec8f5154128e11778f93ebd9b914cf04630",
      "parents": [
        "219edc71784ff8a3537ffbe64baded61ce4048b9"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Sun Jul 29 22:18:47 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue Aug 21 22:29:48 2012 -0700"
      },
      "message": "Input: gpio_keys - report a wakeup_event for a button press\n\nIn order to avoid races with suspend, a wakeup event must register as\nsuch by calling pm_wakeup_event() or pm_stay_awake().  This will ensure\nthat the current suspend cycle aborts.\n\nWhen the user-space visible event is created in the interrupt handler\n(gpio_keys_irq_isr), a simple pm_wakeup_event() with no delay is\nsufficient as suspend will synchronise with all interrupt delivery.\n\nWhen the user-space visible event is created later\n(gpio_keys_gpio_isr), we need to bracket the event with\npm_stay_awake() and pm_relax().\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\n"
    },
    {
      "commit": "219edc71784ff8a3537ffbe64baded61ce4048b9",
      "tree": "a0ced5c45e239201e8f4af99eaab0156606f8bd3",
      "parents": [
        "c0394506e69b37c47d391c2a7bbea3ea236d8ec8"
      ],
      "author": {
        "name": "Alexandre Pereira da Silva",
        "email": "aletes.xgr@gmail.com",
        "time": "Sun Jul 29 22:18:47 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue Aug 21 22:28:26 2012 -0700"
      },
      "message": "Input: gpio_keys - clean up device tree parser\n\n- fix sizeof in memset;\n- clean up dt properties extraction;\n- use for_each_chil_of_node macro;\n- use of_get_child_count();\n- use of_match_ptr macro.\n\nSigned-off-by: Alexandre Pereira da Silva \u003caletes.xgr@gmail.com\u003e\nAcked-by: Rob Herring \u003crob.herring@calxeda.com\u003e\n[Fabio Estevam \u003cfabio.estevam@freescale.com\u003e: fix fix NULL pointer\ndereference for dt case - pdata-\u003ebuttons wasn\u0027t initialized]\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "f35dd69ba341bda3790713b9e964483934b995e1",
      "tree": "428de3b160d6afbb7f1ca154b1c6f212740bf154",
      "parents": [
        "a1d0fa776870aeda5eb91b131d0f1aede6d94ef1"
      ],
      "author": {
        "name": "Michael Grzeschik",
        "email": "m.grzeschik@pengutronix.de",
        "time": "Tue Aug 21 21:57:15 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue Aug 21 22:03:09 2012 -0700"
      },
      "message": "Input: imx_keypad - reset the hardware before enabling\n\nEnsure the hardware is correctly initialized before requesting the\ninterrupt, otherwise if a key was already touched since power-on the\nkernel enters an interrupt loop. To fix this issue we clear pending\ninterrupt sources. We also have to make sure clk is enabled while\nchanging the keypad registers.\n\nSigned-off-by: Michael Grzeschik \u003cm.grzeschik@pengutronix.de\u003e\nSigned-off-by: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\n"
    },
    {
      "commit": "e7c2f967445dd2041f0f8e3179cca22bb8bb7f79",
      "tree": "cb6c1d3593d2497e740d313f55592f41e8ae2039",
      "parents": [
        "e0aecdd874d78b7129a64b056c20e529e2c916df"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Aug 21 13:18:24 2012 -0700"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Aug 21 13:18:24 2012 -0700"
      },
      "message": "workqueue: use mod_delayed_work() instead of __cancel + queue\n\nNow that mod_delayed_work() is safe to call from IRQ handlers,\n__cancel_delayed_work() followed by queue_delayed_work() can be\nreplaced with mod_delayed_work().\n\nMost conversions are straight-forward except for the following.\n\n* net/core/link_watch.c: linkwatch_schedule_work() was doing a quite\n  elaborate dancing around its delayed_work.  Collapse it such that\n  linkwatch_work is queued for immediate execution if LW_URGENT and\n  existing timer is kept otherwise.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Tomi Valkeinen \u003ctomi.valkeinen@ti.com\u003e \n"
    },
    {
      "commit": "945c40c6b007eb4b07374a38ea37b2a34da306b1",
      "tree": "09d36ed7d59cd7d63162de84671761366939450b",
      "parents": [
        "0082c16e3a6d87c7b156ccf21f5e6c448b102809",
        "314820c9e892d8f41ba4db300ec96770d9c8294b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 26 12:59:53 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 26 12:59:53 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\nPull input layer updates from Dmitry Torokhov:\n \"First set of updates for the input subsystem.  You will get a new\n  touchscreen driver (Melfas mms114), a new keypad driver for LPC32xx\n  SoC, large update to Atmel mXT touchscreen driver, a lot of drivers\n  acquired device tree support and a slew of other fixes.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (57 commits)\n  Input: add MELFAS mms114 touchscreen driver\n  Input: add support for key scan interface of the LPC32xx SoC\n  Input: omap4-keypad - add device tree support\n  Input: hanwang - add support for Art Master II tablet\n  Input: spear_keyboard - reconfigure operating frequency on suspend\n  Input: spear_keyboard - fix clock handling during suspend/resume\n  Input: ff-memless - fix a couple min_t() casts\n  Input: synaptics - print firmware ID and board number at init\n  Input: spear_keyboard - generalize keyboard frequency configuration\n  Input: spear_keyboard - rename bit definitions to reflect register\n  Input: spear_keyboard - use correct io accessors\n  Input: spear-keyboard - fix disable device_init_wakeup in remove\n  Input: wacom_i2c - fix compiler warning\n  Input: imx_keypad - check error returned by clk_prepare_enable()\n  Input: imx_keypad - adapt the new kpp clock name\n  Input: imx_keypad - use clk_prepare_enable/clk_disable_unprepare()\n  Input: ad7879 - add option to correct xy axis\n  Input: synaptics_usb - Remove TrackPoint name trailing whitespace\n  Revert \"Input: atmel_mxt_ts - warn if sysfs could not be created\"\n  Input: MT - Include win8 support\n  ...\n"
    },
    {
      "commit": "d14b7a419a664cd7c1c585c9e7fffee9e9051d53",
      "tree": "42a1d5b61b58fa0a75252b082c4c6cef6fa9fd8d",
      "parents": [
        "e8ff13b0bf88b5e696323a1eec877783d965b3c6",
        "a58b3a4aba2fd5c445d9deccc73192bff48b591d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 13:34:56 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 13:34:56 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\nPull trivial tree from Jiri Kosina:\n \"Trivial updates all over the place as usual.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (29 commits)\n  Fix typo in include/linux/clk.h .\n  pci: hotplug: Fix typo in pci\n  iommu: Fix typo in iommu\n  video: Fix typo in drivers/video\n  Documentation: Add newline at end-of-file to files lacking one\n  arm,unicore32: Remove obsolete \"select MISC_DEVICES\"\n  module.c: spelling s/postition/position/g\n  cpufreq: Fix typo in cpufreq driver\n  trivial: typo in comment in mksysmap\n  mach-omap2: Fix typo in debug message and comment\n  scsi: aha152x: Fix sparse warning and make printing pointer address more portable.\n  Change email address for Steve Glendinning\n  Btrfs: fix typo in convert_extent_bit\n  via: Remove bogus if check\n  netprio_cgroup.c: fix comment typo\n  backlight: fix memory leak on obscure error path\n  Documentation: asus-laptop.txt references an obsolete Kconfig item\n  Documentation: ManagementStyle: fixed typo\n  mm/vmscan: cleanup comment error in balance_pgdat\n  mm: cleanup on the comments of zone_reclaim_stat\n  ...\n"
    },
    {
      "commit": "69690bec400e4c6cc89ef37376da1e633e14ad0f",
      "tree": "2f2844e2f9f03d5ad8974b90ab087715787ac845",
      "parents": [
        "13987435cc28eab6e562e878e71b521e7ef5c860"
      ],
      "author": {
        "name": "Roland Stigge",
        "email": "stigge@antcom.de",
        "time": "Fri Jul 13 00:08:34 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue Jul 17 23:16:16 2012 -0700"
      },
      "message": "Input: add support for key scan interface of the LPC32xx SoC\n\nThis is a driver for the key scan interface of the LPC32xx SoC\n\nSigned-off-by: Roland Stigge \u003cstigge@antcom.de\u003e\nSigned-off-by: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\n"
    },
    {
      "commit": "13987435cc28eab6e562e878e71b521e7ef5c860",
      "tree": "92283f54561ec3c7499a736efbbb97499594f447",
      "parents": [
        "8a90c034ae0d4282e2aeb9cf8311dc90c855d815"
      ],
      "author": {
        "name": "Sourav Poddar",
        "email": "sourav.poddar@ti.com",
        "time": "Fri Jul 13 00:10:47 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue Jul 17 23:16:07 2012 -0700"
      },
      "message": "Input: omap4-keypad - add device tree support\n\nAdd device tree support for omap4 keypad driver and update the\nDocumentation with omap4 keypad device tree binding information.\n\nTested on omap4430 sdp.\n\nSigned-off-by: Sourav Poddar \u003csourav.poddar@ti.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\n"
    },
    {
      "commit": "36c678f3c91ac92e9524abcf9b39f9f539d60279",
      "tree": "c9c0df006a7e9bcc14492b1d1fa6aa2c5c43d3a3",
      "parents": [
        "4450cb7d586c3d8f6615ee437eab1d1e064b20c0",
        "14ac5b884eff23f53139dd4508f428aee906d8c2"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Tue Jul 17 22:41:50 2012 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Tue Jul 17 22:41:50 2012 +0200"
      },
      "message": "Merge tag \u0027imx-clk\u0027 of git://git.pengutronix.de/git/imx/linux-2.6 into next/clk\n\nFrom Sascha Hauer \u003cs.hauer@pengutronix.de\u003e:\n\ni.MX clk noncritical fixes and updates\n\n* tag \u0027imx-clk\u0027 of git://git.pengutronix.de/git/imx/linux-2.6:\n  ARM: imx: clk-imx31: Fix clock id for rnga driver\n  ARM: imx: add missing item to the list of clock event modes\n  ARM: i.MX5x CSPI: Fixed clock name for CSPI\n  ARM: i.MX5x clocks: Fix GPT clocks\n  ARM: i.MX5x clocks: Fix parent for PWM clocks\n  ARM: i.MX5x clocks: Add EPIT support\n  ARM: mx27: Reenable silicon version print\n  ARM: clk-imx27: Fix rtc clock id\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\n"
    },
    {
      "commit": "8314f532ebd55f1d6dc23b143cda3c1714ffe201",
      "tree": "f9845473fd28cbcc33c3ac4de1427c1f58b82a28",
      "parents": [
        "53fe628558bab9a11050ba067a09442c92dca6bb"
      ],
      "author": {
        "name": "Shiraz Hashim",
        "email": "shiraz.hashim@st.com",
        "time": "Fri Jul 13 00:11:10 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Fri Jul 13 00:14:01 2012 -0700"
      },
      "message": "Input: spear_keyboard - reconfigure operating frequency on suspend\n\nOn some platform it may happen that the input clock to keyboard may\nchange during suspend, thus impacting its wakeup capability.\n\nThere is no means for keyboard driver to know this frequency before\nhand. Hence introduce a platform data \u0027suspended_rate\u0027 which indicates\nthe frequency during suspend at which keyboard operates.\n\nAccordingly reprogram keyboard while going into suspend and restore\noriginal configuration at the time of resume.\n\nSigned-off-by: Shiraz Hashim \u003cshiraz.hashim@st.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\n"
    },
    {
      "commit": "53fe628558bab9a11050ba067a09442c92dca6bb",
      "tree": "c8adb4be864e62aa3e2caa6777f543deb4422056",
      "parents": [
        "9a932145f2d57bad1092ba006dee9065adc5eb39"
      ],
      "author": {
        "name": "Shiraz Hashim",
        "email": "shiraz.hashim@st.com",
        "time": "Fri Jul 13 00:11:10 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Fri Jul 13 00:13:29 2012 -0700"
      },
      "message": "Input: spear_keyboard - fix clock handling during suspend/resume\n\nSPEAr keyboard should normally disable clock during suspend and enable it\nduring resume.\n\nFor cases where it is expected to act as a wakeup source the clock can\nremain in the same state i.e. kept enabled if it is being used.\n\nSigned-off-by: Shiraz Hashim \u003cshiraz.hashim@st.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\n"
    },
    {
      "commit": "98e4d4d6bcf130cbf5a684c4f98c345f13e2f28c",
      "tree": "350634dcf4980202aa76f91cfc2c3264f2a1d51e",
      "parents": [
        "f6f2efa35f6b76034e5a31a075218feaa10f1812"
      ],
      "author": {
        "name": "Shiraz Hashim",
        "email": "shiraz.hashim@st.com",
        "time": "Sat Jul 07 18:01:07 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Sat Jul 07 18:01:55 2012 -0700"
      },
      "message": "Input: spear_keyboard - generalize keyboard frequency configuration\n\nCurrent implementation hard coded keyboard frequency configuration\nassuming input clock as fixed APB (83 MHz). Generalize the configuration\nusing clock framework APIs.\n\nSigned-off-by: Shiraz Hashim \u003cshiraz.hashim@st.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\n"
    },
    {
      "commit": "f6f2efa35f6b76034e5a31a075218feaa10f1812",
      "tree": "b8bf2fcb28190c513a9263b7c48e0e73cee646f0",
      "parents": [
        "e99191f0391973326dd4de5cee5a72bf5aeb7040"
      ],
      "author": {
        "name": "Shiraz Hashim",
        "email": "shiraz.hashim@st.com",
        "time": "Sat Jul 07 18:00:54 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Sat Jul 07 18:01:51 2012 -0700"
      },
      "message": "Input: spear_keyboard - rename bit definitions to reflect register\n\nRename bit definition macros to reflect keyboard registers clearly thus\nbeing more readable.\n\nSigned-off-by: Shiraz Hashim \u003cshiraz.hashim@st.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\n"
    },
    {
      "commit": "e99191f0391973326dd4de5cee5a72bf5aeb7040",
      "tree": "2547691a69efa42cf0474817578309a82430d399",
      "parents": [
        "5bdea83565e8b290410521d0dd64b7d3cc41603b"
      ],
      "author": {
        "name": "Shiraz Hashim",
        "email": "shiraz.hashim@st.com",
        "time": "Sat Jul 07 18:00:36 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Sat Jul 07 18:01:47 2012 -0700"
      },
      "message": "Input: spear_keyboard - use correct io accessors\n\nAll SPEAr keyboard registers are 32 bit wide and are word aligned. This\npatch aligns all io access to be word size using relaxed version of\nreadl/writel.\n\nSigned-off-by: Shiraz Hashim \u003cshiraz.hashim@st.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\n"
    },
    {
      "commit": "5bdea83565e8b290410521d0dd64b7d3cc41603b",
      "tree": "07d716ebea3aacd83d911c7fc7da0d900324bc6b",
      "parents": [
        "8830cb88dd6d60c3bb4cb46d8a855628e4875b18"
      ],
      "author": {
        "name": "Vipul Kumar Samar",
        "email": "vipulkumar.samar@st.com",
        "time": "Sat Jul 07 18:00:10 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Sat Jul 07 18:01:43 2012 -0700"
      },
      "message": "Input: spear-keyboard - fix disable device_init_wakeup in remove\n\nThis patch is to disable device wakeup while removing keyboard.\n\nSigned-off-by: Vipul Kumar Samar \u003cvipulkumar.samar@st.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\n"
    },
    {
      "commit": "3c3416abbe3328c2fae054379894614b0c894069",
      "tree": "679a21e7b4b56124879248e0455a95a42fa80355",
      "parents": [
        "333fbe8409dfabd3d3581af5cdbd30f666857437",
        "9b7e31bbf4bb58b12e11a7f24b7c3e48bbd2f4da"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Sat Jul 07 16:07:48 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Sat Jul 07 16:07:48 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 to bring in change ensuring that drivers that\nuse threaded IRQs use IRQF_ONESHOT.\n"
    },
    {
      "commit": "333fbe8409dfabd3d3581af5cdbd30f666857437",
      "tree": "61feb2c8db309a2ccd099d66133c23c25129256c",
      "parents": [
        "a40ec72d540553fc0e1d1fea94c1d7629b7f35f4"
      ],
      "author": {
        "name": "Fabio Estevam",
        "email": "fabio.estevam@freescale.com",
        "time": "Fri Jul 06 11:31:14 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Fri Jul 06 19:12:40 2012 -0700"
      },
      "message": "Input: imx_keypad - check error returned by clk_prepare_enable()\n\nCheck error returned by clk_prepare_enable().\n\nSigned-off-by: Fabio Estevam \u003cfabio.estevam@freescale.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\n"
    },
    {
      "commit": "a40ec72d540553fc0e1d1fea94c1d7629b7f35f4",
      "tree": "c2d5af80fda379ca19b8486f58f853bf924016de",
      "parents": [
        "a1e636e6d35944a2b970481b78a621774276acfd"
      ],
      "author": {
        "name": "Fabio Estevam",
        "email": "fabio.estevam@freescale.com",
        "time": "Fri Jul 06 11:26:37 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Fri Jul 06 19:12:35 2012 -0700"
      },
      "message": "Input: imx_keypad - adapt the new kpp clock name\n\nWith the new i.mx clock framework we should pass NULL as the keypad\nclock name.\n\nSigned-off-by: Fabio Estevam \u003cfabio.estevam@freescale.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\n"
    },
    {
      "commit": "a1e636e6d35944a2b970481b78a621774276acfd",
      "tree": "7b89fbbf824f55d1554e2a9202238dafcf830b63",
      "parents": [
        "6680884a44207efe8ef6bc56b1c932cce2b89994"
      ],
      "author": {
        "name": "Fabio Estevam",
        "email": "fabio.estevam@freescale.com",
        "time": "Fri Jul 06 11:26:05 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Fri Jul 06 19:12:30 2012 -0700"
      },
      "message": "Input: imx_keypad - use clk_prepare_enable/clk_disable_unprepare()\n\nAdapt clock handling to the new i.mx clock framework and fix the following\nwarning:\n\ninput: imx-keypad as /devices/platform/imx-keypad/input/input0\n------------[ cut here ]------------\nWARNING: at drivers/clk/clk.c:511 __clk_enable+0x98/0xa8()\nModules linked in:\n[\u003cc001a680\u003e] (unwind_backtrace+0x0/0xf4) from [\u003cc002452c\u003e] (warn_slowpath_commo)\n[\u003cc002452c\u003e] (warn_slowpath_common+0x48/0x60) from [\u003cc0024560\u003e] (warn_slowpath_)\n[\u003cc0024560\u003e] (warn_slowpath_null+0x1c/0x24) from [\u003cc02c4ec4\u003e] (__clk_enable+0x9)\n[\u003cc02c4ec4\u003e] (__clk_enable+0x98/0xa8) from [\u003cc02c4ef8\u003e] (clk_enable+0x24/0x5c)\n[\u003cc02c4ef8\u003e] (clk_enable+0x24/0x5c) from [\u003cc027ac6c\u003e] (imx_keypad_open+0x28/0xc)\n[\u003cc027ac6c\u003e] (imx_keypad_open+0x28/0xc8) from [\u003cc0274b14\u003e] (input_open_device+0)\n[\u003cc0274b14\u003e] (input_open_device+0x78/0xa8) from [\u003cc01ec884\u003e] (kbd_connect+0x60/)\n[\u003cc01ec884\u003e] (kbd_connect+0x60/0x80) from [\u003cc0273b94\u003e] (input_attach_handler+0x)\n[\u003cc0273b94\u003e] (input_attach_handler+0x220/0x258) from [\u003cc02755d4\u003e] (input_regist)\n[\u003cc02755d4\u003e] (input_register_device+0x31c/0x390) from [\u003cc038da1c\u003e] (imx_keypad_)\n[\u003cc038da1c\u003e] (imx_keypad_probe+0x2e4/0x3b8) from [\u003cc020326c\u003e] (platform_drv_pro)\n[\u003cc020326c\u003e] (platform_drv_probe+0x18/0x1c) from [\u003cc0201f64\u003e] (driver_probe_dev)\n[\u003cc0201f64\u003e] (driver_probe_device+0x84/0x210) from [\u003cc020217c\u003e] (__driver_attac)\n[\u003cc020217c\u003e] (__driver_attach+0x8c/0x90) from [\u003cc02008f8\u003e] (bus_for_each_dev+0x)\n[\u003cc02008f8\u003e] (bus_for_each_dev+0x68/0x90) from [\u003cc0201064\u003e] (bus_add_driver+0xa)\n[\u003cc0201064\u003e] (bus_add_driver+0xa4/0x23c) from [\u003cc020275c\u003e] (driver_register+0x7)\n[\u003cc020275c\u003e] (driver_register+0x78/0x12c) from [\u003cc00087c0\u003e] (do_one_initcall+0x)\n[\u003cc00087c0\u003e] (do_one_initcall+0x34/0x188) from [\u003cc04b9310\u003e] (kernel_init+0xe4/0)\n[\u003cc04b9310\u003e] (kernel_init+0xe4/0x1a8) from [\u003cc0015bd8\u003e] (kernel_thread_exit+0x0)\n---[ end trace 1d550e891d03d7ce ]---\n\nSigned-off-by: Fabio Estevam \u003cfabio.estevam@freescale.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\n"
    },
    {
      "commit": "1b74a8684e3c5cbbe5e798de9e07e3a087c7b853",
      "tree": "b8c66506e1f4d18113796e94d4ab5d30b6f07b2c",
      "parents": [
        "c4aed353b1b079eb4843e6a708fc68b4b28f72aa",
        "9b7e31bbf4bb58b12e11a7f24b7c3e48bbd2f4da"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 06 09:50:39 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 06 09:50:39 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\nPull input layer fixes from Dmitry Torokhov:\n \"Two fixes for regressions in Wacom driver and fixes for drivers using\n  threaded IRQ framework without specifying IRQF_ONESHOT.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:\n  Input: request threaded-only IRQs with IRQF_ONESHOT\n  Input: wacom - don\u0027t retrieve touch_max when it is predefined\n  Input: wacom - fix retrieving touch_max bug\n  Input: fix input.h kernel-doc warning\n"
    },
    {
      "commit": "404c3bc30cb1361e1b3533643326ab472d24a618",
      "tree": "156cc9032c8aee17167d926c5bdae009ba8f36d2",
      "parents": [
        "6795a524f0b049ceb5417d5036ab5e233345b900",
        "6887a4131da3adaab011613776d865f4bcfb5678"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Wed Jul 04 13:13:55 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Wed Jul 04 13:13:55 2012 -0700"
      },
      "message": "Merge commit \u0027v3.5-rc5\u0027 into next\n"
    },
    {
      "commit": "9b7e31bbf4bb58b12e11a7f24b7c3e48bbd2f4da",
      "tree": "ca55c470f22dbccb53f3c3ed4683342cbd92c515",
      "parents": [
        "1cecc5cc0658e128bcad0b29edb96f286066571d"
      ],
      "author": {
        "name": "Lars-Peter Clausen",
        "email": "lars@metafoo.de",
        "time": "Wed Jul 04 13:02:56 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Wed Jul 04 13:12:19 2012 -0700"
      },
      "message": "Input: request threaded-only IRQs with IRQF_ONESHOT\n\nSince commit 1c6c69525b (\"genirq: Reject bogus threaded irq requests\")\nthreaded IRQs without a primary handler need to be requested with\nIRQF_ONESHOT, otherwise the request will fail. This patch adds the\nIRQF_ONESHOT to input drivers where it is missing. Not modified by\nthis patch are those drivers where the requested IRQ will always be a\nnested IRQ (e.g. because it\u0027s part of an MFD), since for this special\ncase IRQF_ONESHOT is not required to be specified when requesting the\nIRQ.\n\nSigned-off-by: Lars-Peter Clausen \u003clars@metafoo.de\u003e\nSigned-off-by: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\n"
    },
    {
      "commit": "954bd6d1c9f6a545a594517b1a4aa9262b613f14",
      "tree": "8c7f15be65a7c7cfd1f6c063b5a79a9f50c8c45b",
      "parents": [
        "c224071e28e2bbd213cce2e6e9dde26e78542ca8"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Wed Jun 27 12:02:07 2012 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Jun 27 17:35:55 2012 +0200"
      },
      "message": "lm8333: Fix check ordering\n\nFix harmless reference off end of array\n\nReported-by: \u003cdcb314@hotmail.com\u003e\nResolves-bug: https://bugzilla.kernel.org/show_bug.cgi?43861\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "84b63ad8477c822edbeb1e310b201609f33522ec",
      "tree": "119dbc19dbb993c8156e6972791411c1c015cc9e",
      "parents": [
        "af77c88b8971232f23b4cba7a46fc7a43914bf22"
      ],
      "author": {
        "name": "Naveen Kumar Gaddipati",
        "email": "naveen.gaddipati@stericsson.com",
        "time": "Mon Jun 25 00:34:36 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Mon Jun 25 00:45:15 2012 -0700"
      },
      "message": "Input: nomadik-ske-keypad - get rid of multiple interrupts\n\nThe keypad could cause multiple interrupts to be fired in succession\nsince we weren\u0027t waiting for the IRQs to clear properly in the\ninterrupt handler. We wait for a number of bus iterations (the\nreadl():s from the peripheral bus will stall, so these are quite\nlong) before giving up on getting keys ready to read, then we\nsleep until the IRQ is deasserted (this is OK since the interrupt\nis threaded). Also use the debounce platform data for another\nhardcoded wait loop.\n\nSigned-off-by: Naveen Kumar Gaddipati \u003cnaveen.gaddipati@stericsson.com\u003e\nReviewed-by: Rikard Olsson \u003crikard.p.olsson@stericsson.com\u003e\nReviewed-by: Srinidhi Kasagar \u003csrinidhi.kasagar@stericsson.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "af77c88b8971232f23b4cba7a46fc7a43914bf22",
      "tree": "66321edf75158e6f881f3f0f50f28c5b626ba9f6",
      "parents": [
        "e7ec014a47e4d68fc01561d0541a50650646317c"
      ],
      "author": {
        "name": "Naveen Kumar Gaddipati",
        "email": "naveen.gaddipati@stericsson.com",
        "time": "Mon Jun 25 00:25:41 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Mon Jun 25 00:44:55 2012 -0700"
      },
      "message": "Input: nomadik-ske-keypad - add multi key press support\n\nAdded the multi key press support for SKE keypad by modifying the irq\nfunction for handling the two different keys on the same column and also\npressing the two different keys of different columns on the same ASR\nregister.\n\nSigned-off-by: Naveen Kumar Gaddipati \u003cnaveen.gaddipati@stericsson.com\u003e\nReviewed-by: Srinidhi Kasagar \u003csrinidhi.kasagar@stericsson.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "f762470b522014ce4ebda3ecac74eb6658da7d9d",
      "tree": "dfc4ab942963286b51da0e58b535275a6f630185",
      "parents": [
        "20de12ccf900d71eee1344adc7ae0dcd7db9b4ab"
      ],
      "author": {
        "name": "Prashant Gaikwad",
        "email": "pgaikwad@nvidia.com",
        "time": "Tue Jun 05 09:59:39 2012 +0530"
      },
      "committer": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Tue Jun 12 10:32:31 2012 -0600"
      },
      "message": "Input: tegra-kbc - add clk_prepare/clk_unprepare\n\nUse clk_prepare/clk_unprepare as required by the generic clk framework.\n\nSigned-off-by: Prashant Gaikwad \u003cpgaikwad@nvidia.com\u003e\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nAcked-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "4eceb14f669cb9e9d189019e8fcbf73577fe77a7",
      "tree": "b9f4dd44a5057692ca45bbfeab6fc532c1ea00c2",
      "parents": [
        "86809173ce32ef03bd4d0389dfc72df0c805e9c4"
      ],
      "author": {
        "name": "Tobias Klauser",
        "email": "tklauser@distanz.ch",
        "time": "Mon Jun 11 23:55:32 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue Jun 12 00:38:15 2012 -0700"
      },
      "message": "Input: gpio_keys - remove useless reinitialization of pdata-\u003enbuttons\n\npdata is zeroed using memset just a few lines before, so there is no\nneed to set the nbuttons member to 0 again.\n\nSigned-off-by: Tobias Klauser \u003ctklauser@distanz.ch\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "ce53044c68cf4fb6c50a2a0d88786be65fae7235",
      "tree": "19c21da7d261412192e189ef3fd1a9ff4e7ba5c2",
      "parents": [
        "0877aa3908aaeeae8fc2850691668c4315d3db56",
        "046fae440d32cc6dec8148c7e06a8b4b987f8a2f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 26 12:22:27 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 26 12:22:27 2012 -0700"
      },
      "message": "Merge tag \u0027drivers\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc\n\nPull arm-soc driver specific updates from Olof Johansson:\n \"These changes are specific to some driver that may be used by multiple\n  boards or socs.  The most significant change in here is the move of\n  the samsung iommu code from a platform specific in-kernel interface to\n  the generic iommu subsystem.\"\n\nFix up trivial conflicts in arch/arm/mach-exynos/Kconfig\n\n* tag \u0027drivers\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (28 commits)\n  mmc: dt: Consolidate DT bindings\n  iommu/exynos: Add iommu driver for EXYNOS Platforms\n  ARM: davinci: optimize the DMA ISR\n  ARM: davinci: implement DEBUG_LL port choice\n  ARM: tegra: Add SMMU enabler in AHB\n  ARM: tegra: Add Tegra AHB driver\n  Input: pxa27x_keypad add choice to set direct_key_mask\n  Input: pxa27x_keypad direct key may be low active\n  Input: pxa27x_keypad bug fix for direct_key_mask\n  Input: pxa27x_keypad keep clock on as wakeup source\n  ARM: dt: tegra: pinmux changes for USB ULPI\n  ARM: tegra: add USB ULPI PHY reset GPIO to device tree\n  ARM: tegra: don\u0027t hard-code USB ULPI PHY reset_gpio\n  ARM: tegra: change pll_p_out4\u0027s rate to 24MHz\n  ARM: tegra: fix pclk rate\n  ARM: tegra: reparent sclk to pll_c_out1\n  ARM: tegra: Add pllc clock init table\n  ARM: dt: tegra cardhu: basic audio support\n  ARM: dt: tegra30.dtsi: Add audio-related nodes\n  ARM: tegra: add AUXDATA required for audio\n  ...\n"
    },
    {
      "commit": "829c4f96900577afb1d91c0195b2e2a219e7d80f",
      "tree": "b46cac701534679be36caf469fcadc85e295df7b",
      "parents": [
        "b45c8f35a7fec17bdd159a7815203b6137c00ab9"
      ],
      "author": {
        "name": "Viresh Kumar",
        "email": "viresh.kumar@st.com",
        "time": "Thu May 10 22:37:16 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Thu May 10 22:40:02 2012 -0700"
      },
      "message": "Input: spear-keyboard - add device tree bindings\n\nThis adds simple DT bindings for spear-keyboard controller.\n\nSigned-off-by: Viresh Kumar \u003cviresh.kumar@st.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "b45c8f35a7fec17bdd159a7815203b6137c00ab9",
      "tree": "c6fc8efe76ff2b382e8290d6df59129200032a5d",
      "parents": [
        "1932811f426fee71b7ece67e70aeba7e1b0ebb6d"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Thu May 10 22:37:15 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Thu May 10 22:39:43 2012 -0700"
      },
      "message": "Input: matrix-keymap - wire up device tree support\n\nWhen platform keymap is not supplied to matrix_keypad_build_keymap()\nand device tree support is enabled, try locating specified property\nand load keymap from it. If property name is not defined, try using\n\"linux,keymap\".\n\nBased on earlier patch by Viresh Kumar \u003cviresh.kumar@st.com\u003e\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "1932811f426fee71b7ece67e70aeba7e1b0ebb6d",
      "tree": "ffc4598961733707a89e711b4614c8cc14446ad5",
      "parents": [
        "d0a3457d38adbad37e43ffe6b763360b2bfe71d9"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Thu May 10 22:37:08 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Thu May 10 22:38:47 2012 -0700"
      },
      "message": "Input: matrix-keymap - uninline and prepare for device tree support\n\nChange matrix-keymap helper to be out-of-line, like sparse keymap,\nallow the helper perform basic keymap validation and return errors,\nand prepare for device tree support.\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "d0a3457d38adbad37e43ffe6b763360b2bfe71d9",
      "tree": "ed1dcb47e63d38be8205c829564cde4247fc51bd",
      "parents": [
        "f77621cc640a7c50b3d8c5254ecc5d91eaa99d0d"
      ],
      "author": {
        "name": "Jean-François Dagenais",
        "email": "jeff.dagenais@gmail.com",
        "time": "Thu May 10 22:32:00 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Thu May 10 22:34:16 2012 -0700"
      },
      "message": "Input: adp5588 - add support for gpio names\n\nSigned-off-by: Jean-François Dagenais \u003cjeff.dagenais@gmail.com\u003e\nAcked-by: Michael Hennerich \u003cmichael.hennerich@analog.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "f77621cc640a7c50b3d8c5254ecc5d91eaa99d0d",
      "tree": "e5674d3f114399e1d6cd855a15ed42f8e56a9795",
      "parents": [
        "1a49a0a04d13049ac4f90d2e61da9b29a36962f7"
      ],
      "author": {
        "name": "Poddar, Sourav",
        "email": "sourav.poddar@ti.com",
        "time": "Thu May 10 22:32:00 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Thu May 10 22:33:58 2012 -0700"
      },
      "message": "Input: omap-keypad - dynamically handle register offsets\n\nHi Dmitry,\n\nOn Wed, May 9, 2012 at 3:14 PM, Poddar, Sourav \u003csourav.poddar@ti.com\u003e wrote:\n\u003e Hi Dmitry,\n\u003e\n\u003e I did some minor fixes to the patch which you suggested above and\n\u003e the keypad is functional now.\n\u003e\n\u003e Changes:\n\u003e - Move \"pm_runtime_enable\" before using \"pm_runtime_get_sync\".\n\u003e\n\u003e Sending the patch inlined..(also attached).\n\u003e\n\u003e From: G, Manjunath Kondaiah \u003cmanjugk@ti.com\u003e\n\u003e Date: Mon, 10 Oct 2011 20:52:05 +0530\n\u003e Subject: [PATCH] Input: omap-keypad: dynamically handle register offsets\n\u003e\n\u003e Keypad controller register offsets are different for omap4\n\u003e and omap5. Handle these offsets through static mapping and\n\u003e assign these mappings during run time.\n\u003e\n\u003e Tested on omap4430 sdp with 3.4-rc3.\n\u003e Tested on omap5430evm with 3.1-custom kernel.\n\u003e\n\u003e Cc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n\u003e Signed-off-by: Felipe Balbi \u003cbalbi@ti.com\u003e\n\u003e Signed-off-by: G, Manjunath Kondaiah \u003cmanjugk@ti.com\u003e\n\u003e Signed-off-by: Sourav Poddar \u003csourav.poddar@ti.com\u003e\n\u003e Signed-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n\u003e ---\n\u003e  drivers/input/keyboard/Kconfig        |    4 +-\n\u003e  drivers/input/keyboard/omap4-keypad.c |  120 +++++++++++++++++++++++++-------\n\u003e  2 files changed, 95 insertions(+), 29 deletions(-)\n\u003e\n\u003e diff --git a/drivers/input/keyboard/Kconfig b/drivers/input/keyboard/Kconfig\n\u003e index f354813..33bbdee 100644\n\u003e --- a/drivers/input/keyboard/Kconfig\n\u003e +++ b/drivers/input/keyboard/Kconfig\n\u003e @@ -512,9 +512,9 @@ config KEYBOARD_OMAP\n\u003e          module will be called omap-keypad.\n\u003e\n\u003e  config KEYBOARD_OMAP4\n\u003e -       tristate \"TI OMAP4 keypad support\"\n\u003e +       tristate \"TI OMAP4+ keypad support\"\n\u003e        help\n\u003e -         Say Y here if you want to use the OMAP4 keypad.\n\u003e +         Say Y here if you want to use the OMAP4+ keypad.\n\u003e\n\u003e          To compile this driver as a module, choose M here: the\n\u003e          module will be called omap4-keypad.\n\u003e diff --git a/drivers/input/keyboard/omap4-keypad.c\n\u003e b/drivers/input/keyboard/omap4-keypad.c\n\u003e index e809ac0..d7102e8 100644\n\u003e --- a/drivers/input/keyboard/omap4-keypad.c\n\u003e +++ b/drivers/input/keyboard/omap4-keypad.c\n\u003e @@ -68,19 +68,52 @@\n\u003e\n\u003e  #define OMAP4_MASK_IRQSTATUSDISABLE    0xFFFF\n\u003e\n\u003e +enum {\n\u003e +       KBD_REVISION_OMAP4 \u003d 0,\n\u003e +       KBD_REVISION_OMAP5,\n\u003e +};\n\u003e +\n\u003e  struct omap4_keypad {\n\u003e        struct input_dev *input;\n\u003e\n\u003e        void __iomem *base;\n\u003e -       int irq;\n\u003e +       unsigned int irq;\n\u003e\n\u003e        unsigned int rows;\n\u003e        unsigned int cols;\n\u003e +       u32 reg_offset;\n\u003e +       u32 irqreg_offset;\n\u003e        unsigned int row_shift;\n\u003e        unsigned char key_state[8];\n\u003e        unsigned short keymap[];\n\u003e  };\n\u003e\n\u003e +static int kbd_readl(struct omap4_keypad *keypad_data, u32 offset)\n\u003e +{\n\u003e +       return __raw_readl(keypad_data-\u003ebase +\n\u003e +                               keypad_data-\u003ereg_offset + offset);\n\u003e +}\n\u003e +\n\u003e +static void kbd_writel(struct omap4_keypad *keypad_data, u32 offset, u32 value)\n\u003e +{\n\u003e +       __raw_writel(value,\n\u003e +                    keypad_data-\u003ebase + keypad_data-\u003ereg_offset + offset);\n\u003e +}\n\u003e +\n\u003e +static int kbd_read_irqreg(struct omap4_keypad *keypad_data, u32 offset)\n\u003e +{\n\u003e +       return __raw_readl(keypad_data-\u003ebase +\n\u003e +                               keypad_data-\u003eirqreg_offset + offset);\n\u003e +}\n\u003e +\n\u003e +static void kbd_write_irqreg(struct omap4_keypad *keypad_data,\n\u003e +                            u32 offset, u32 value)\n\u003e +{\n\u003e +       __raw_writel(value,\n\u003e +                    keypad_data-\u003ebase + keypad_data-\u003eirqreg_offset + offset);\n\u003e +}\n\u003e +\n\u003e +\n\u003e  /* Interrupt handler */\n\u003e  static irqreturn_t omap4_keypad_interrupt(int irq, void *dev_id)\n\u003e  {\n\u003e @@ -91,12 +124,11 @@ static irqreturn_t omap4_keypad_interrupt(int\n\u003e irq, void *dev_id)\n\u003e        u32 *new_state \u003d (u32 *) key_state;\n\u003e\n\u003e        /* Disable interrupts */\n\u003e -       __raw_writel(OMAP4_VAL_IRQDISABLE,\n\u003e -                    keypad_data-\u003ebase + OMAP4_KBD_IRQENABLE);\n\u003e +       kbd_write_irqreg(keypad_data, OMAP4_KBD_IRQENABLE,\n\u003e +                        OMAP4_VAL_IRQDISABLE);\n\u003e\n\u003e -       *new_state \u003d __raw_readl(keypad_data-\u003ebase + OMAP4_KBD_FULLCODE31_0);\n\u003e -       *(new_state + 1) \u003d __raw_readl(keypad_data-\u003ebase\n\u003e -                                               + OMAP4_KBD_FULLCODE63_32);\n\u003e +       *new_state \u003d kbd_readl(keypad_data, OMAP4_KBD_FULLCODE31_0);\n\u003e +       *(new_state + 1) \u003d kbd_readl(keypad_data, OMAP4_KBD_FULLCODE63_32);\n\u003e\n\u003e        for (row \u003d 0; row \u003c keypad_data-\u003erows; row++) {\n\u003e                changed \u003d key_state[row] ^ keypad_data-\u003ekey_state[row];\n\u003e @@ -121,12 +153,13 @@ static irqreturn_t omap4_keypad_interrupt(int\n\u003e irq, void *dev_id)\n\u003e                sizeof(keypad_data-\u003ekey_state));\n\u003e\n\u003e        /* clear pending interrupts */\n\u003e -       __raw_writel(__raw_readl(keypad_data-\u003ebase + OMAP4_KBD_IRQSTATUS),\n\u003e -                       keypad_data-\u003ebase + OMAP4_KBD_IRQSTATUS);\n\u003e +       kbd_write_irqreg(keypad_data, OMAP4_KBD_IRQSTATUS,\n\u003e +                        kbd_read_irqreg(keypad_data, OMAP4_KBD_IRQSTATUS));\n\u003e\n\u003e        /* enable interrupts */\n\u003e -       __raw_writel(OMAP4_DEF_IRQENABLE_EVENTEN | OMAP4_DEF_IRQENABLE_LONGKEY,\n\u003e -                       keypad_data-\u003ebase + OMAP4_KBD_IRQENABLE);\n\u003e +       kbd_write_irqreg(keypad_data, OMAP4_KBD_IRQENABLE,\n\u003e +               OMAP4_DEF_IRQENABLE_EVENTEN |\n\u003e +                               OMAP4_DEF_IRQENABLE_LONGKEY);\n\u003e\n\u003e        return IRQ_HANDLED;\n\u003e  }\n\u003e @@ -139,16 +172,17 @@ static int omap4_keypad_open(struct input_dev *input)\n\u003e\n\u003e        disable_irq(keypad_data-\u003eirq);\n\u003e\n\u003e -       __raw_writel(OMAP4_VAL_FUNCTIONALCFG,\n\u003e -                       keypad_data-\u003ebase + OMAP4_KBD_CTRL);\n\u003e -       __raw_writel(OMAP4_VAL_DEBOUNCINGTIME,\n\u003e -                       keypad_data-\u003ebase + OMAP4_KBD_DEBOUNCINGTIME);\n\u003e -       __raw_writel(OMAP4_VAL_IRQDISABLE,\n\u003e -                       keypad_data-\u003ebase + OMAP4_KBD_IRQSTATUS);\n\u003e -       __raw_writel(OMAP4_DEF_IRQENABLE_EVENTEN | OMAP4_DEF_IRQENABLE_LONGKEY,\n\u003e -                       keypad_data-\u003ebase + OMAP4_KBD_IRQENABLE);\n\u003e -       __raw_writel(OMAP4_DEF_WUP_EVENT_ENA | OMAP4_DEF_WUP_LONG_KEY_ENA,\n\u003e -                       keypad_data-\u003ebase + OMAP4_KBD_WAKEUPENABLE);\n\u003e +       kbd_writel(keypad_data, OMAP4_KBD_CTRL,\n\u003e +                       OMAP4_VAL_FUNCTIONALCFG);\n\u003e +       kbd_writel(keypad_data, OMAP4_KBD_DEBOUNCINGTIME,\n\u003e +                       OMAP4_VAL_DEBOUNCINGTIME);\n\u003e +       kbd_write_irqreg(keypad_data, OMAP4_KBD_IRQSTATUS,\n\u003e +                       OMAP4_VAL_IRQDISABLE);\n\u003e +       kbd_write_irqreg(keypad_data, OMAP4_KBD_IRQENABLE,\n\u003e +                       OMAP4_DEF_IRQENABLE_EVENTEN |\n\u003e +                               OMAP4_DEF_IRQENABLE_LONGKEY);\n\u003e +       kbd_writel(keypad_data, OMAP4_KBD_WAKEUPENABLE,\n\u003e +                       OMAP4_DEF_WUP_EVENT_ENA | OMAP4_DEF_WUP_LONG_KEY_ENA);\n\u003e\n\u003e        enable_irq(keypad_data-\u003eirq);\n\u003e\n\u003e @@ -162,12 +196,12 @@ static void omap4_keypad_close(struct input_dev *input)\n\u003e        disable_irq(keypad_data-\u003eirq);\n\u003e\n\u003e        /* Disable interrupts */\n\u003e -       __raw_writel(OMAP4_VAL_IRQDISABLE,\n\u003e -                    keypad_data-\u003ebase + OMAP4_KBD_IRQENABLE);\n\u003e +       kbd_write_irqreg(keypad_data, OMAP4_KBD_IRQENABLE,\n\u003e +                        OMAP4_VAL_IRQDISABLE);\n\u003e\n\u003e        /* clear pending interrupts */\n\u003e -       __raw_writel(__raw_readl(keypad_data-\u003ebase + OMAP4_KBD_IRQSTATUS),\n\u003e -                       keypad_data-\u003ebase + OMAP4_KBD_IRQSTATUS);\n\u003e +       kbd_write_irqreg(keypad_data, OMAP4_KBD_IRQSTATUS,\n\u003e +                        kbd_read_irqreg(keypad_data, OMAP4_KBD_IRQSTATUS));\n\u003e\n\u003e        enable_irq(keypad_data-\u003eirq);\n\u003e\n\u003e @@ -182,6 +216,7 @@ static int __devinit omap4_keypad_probe(struct\n\u003e platform_device *pdev)\n\u003e        struct resource *res;\n\u003e        resource_size_t size;\n\u003e        unsigned int row_shift, max_keys;\n\u003e +       int rev;\n\u003e        int irq;\n\u003e        int error;\n\u003e\n\u003e @@ -241,11 +276,40 @@ static int __devinit omap4_keypad_probe(struct\n\u003e platform_device *pdev)\n\u003e        keypad_data-\u003erows \u003d pdata-\u003erows;\n\u003e        keypad_data-\u003ecols \u003d pdata-\u003ecols;\n\u003e\n\u003e +       /*\n\u003e +       * Enable clocks for the keypad module so that we can read\n\u003e +       * revision register.\n\u003e +       */\n\u003e +       pm_runtime_enable(\u0026pdev-\u003edev);\n\u003e +       error \u003d pm_runtime_get_sync(\u0026pdev-\u003edev);\n\u003e +       if (error) {\n\u003e +               dev_err(\u0026pdev-\u003edev, \"pm_runtime_get_sync() failed\\n\");\n\u003e +               goto err_unmap;\n\u003e +       }\n\u003e +       rev \u003d __raw_readl(keypad_data-\u003ebase + OMAP4_KBD_REVISION);\n\u003e +       rev \u0026\u003d 0x03 \u003c\u003c 30;\n\u003e +       rev \u003e\u003e\u003d 30;\n\u003e +       switch (rev) {\n\u003e +       case KBD_REVISION_OMAP4:\n\u003e +               keypad_data-\u003ereg_offset \u003d 0x00;\n\u003e +               keypad_data-\u003eirqreg_offset \u003d 0x00;\n\u003e +               break;\n\u003e +       case KBD_REVISION_OMAP5:\n\u003e +               keypad_data-\u003ereg_offset \u003d 0x10;\n\u003e +               keypad_data-\u003eirqreg_offset \u003d 0x0c;\n\u003e +               break;\n\u003e +       default:\n\u003e +               dev_err(\u0026pdev-\u003edev,\n\u003e +                       \"Keypad reports unsupported revision %d\", rev);\n\u003e +               error \u003d -EINVAL;\n\u003e +               goto err_pm_put_sync;\n\u003e +       }\n\u003e +\n\u003e        /* input device allocation */\n\u003e        keypad_data-\u003einput \u003d input_dev \u003d input_allocate_device();\n\u003e        if (!input_dev) {\n\u003e                error \u003d -ENOMEM;\n\u003e -               goto err_unmap;\n\u003e +               goto err_pm_put_sync;\n\u003e        }\n\u003e\n\u003e        input_dev-\u003ename \u003d pdev-\u003ename;\n\u003e @@ -273,14 +337,14 @@ static int __devinit omap4_keypad_probe(struct\n\u003e platform_device *pdev)\n\u003e                        input_dev-\u003ekeycode, input_dev-\u003ekeybit);\n\u003e\n\u003e        error \u003d request_irq(keypad_data-\u003eirq, omap4_keypad_interrupt,\n\u003e -                            IRQF_TRIGGER_RISING,\n\u003e +                           IRQF_DISABLED | IRQF_TRIGGER_RISING,\nSorry, \" IRQF_DISABLED\" got included by mistake.\nRemoving this stray change and sending it again.\n\n\u003e                             \"omap4-keypad\", keypad_data);\n\u003e        if (error) {\n\u003e                dev_err(\u0026pdev-\u003edev, \"failed to register interrupt\\n\");\n\u003e                goto err_free_input;\n\u003e        }\n\u003e\n\u003e -       pm_runtime_enable(\u0026pdev-\u003edev);\n\u003e +       pm_runtime_put_sync(\u0026pdev-\u003edev);\n\u003e\n\u003e        error \u003d input_register_device(keypad_data-\u003einput);\n\u003e        if (error \u003c 0) {\n\u003e @@ -296,6 +360,8 @@ err_pm_disable:\n\u003e        free_irq(keypad_data-\u003eirq, keypad_data);\n\u003e  err_free_input:\n\u003e        input_free_device(input_dev);\n\u003e +err_pm_put_sync:\n\u003e +       pm_runtime_put_sync(\u0026pdev-\u003edev);\n\u003e  err_unmap:\n\u003e        iounmap(keypad_data-\u003ebase);\n\u003e  err_release_mem:\n\u003e\n\u003e\n\u003e ~Sourav\n\u003e\n\u003e On Wed, May 9, 2012 at 1:15 PM, Dmitry Torokhov\n\u003e \u003cdmitry.torokhov@gmail.com\u003e wrote:\n\u003e\u003e\u003e Hi Dmitry ,\n\u003e\u003e\u003e\n\u003e\u003e\u003e\n\u003e\u003e\u003e On Wed, May 9, 2012 at 10:48 AM, Dmitry Torokhov\n\u003e\u003e\u003e \u003cdmitry.torokhov@gmail.com\u003e wrote:\n\u003e\u003e\u003e \u003e Ho Sourav,\n\u003e\u003e\u003e \u003e\n\u003e\u003e\u003e \u003e On Thu, Apr 26, 2012 at 11:24:37AM +0530, Sourav Poddar wrote:\n\u003e\u003e\u003e \u003e\u003e\n\u003e\u003e\u003e \u003e\u003e -config KEYBOARD_OMAP4\n\u003e\u003e\u003e \u003e\u003e -     tristate \"TI OMAP4 keypad support\"\n\u003e\u003e\u003e \u003e\u003e +config KEYBOARD_OMAP4+\n\u003e\u003e\u003e \u003e\n\u003e\u003e\u003e \u003e I think this works purely by accident - \u0027+\u0027 sign getting dropped by\n\u003e\u003e\u003e \u003e parser...\n\u003e\u003e\u003e \u003e\n\u003e\u003e\u003e \u003e\u003e @@ -139,16 +192,33 @@ static int omap4_keypad_open(struct input_dev *input)\n\u003e\u003e\u003e \u003e\u003e\n\u003e\u003e\u003e \u003e\u003e       disable_irq(keypad_data-\u003eirq);\n\u003e\u003e\u003e \u003e\u003e\n\u003e\u003e\u003e \u003e\u003e -     __raw_writel(OMAP4_VAL_FUNCTIONALCFG,\n\u003e\u003e\u003e \u003e\u003e -                     keypad_data-\u003ebase + OMAP4_KBD_CTRL);\n\u003e\u003e\u003e \u003e\u003e -     __raw_writel(OMAP4_VAL_DEBOUNCINGTIME,\n\u003e\u003e\u003e \u003e\u003e -                     keypad_data-\u003ebase + OMAP4_KBD_DEBOUNCINGTIME);\n\u003e\u003e\u003e \u003e\u003e -     __raw_writel(OMAP4_VAL_IRQDISABLE,\n\u003e\u003e\u003e \u003e\u003e -                     keypad_data-\u003ebase + OMAP4_KBD_IRQSTATUS);\n\u003e\u003e\u003e \u003e\u003e -     __raw_writel(OMAP4_DEF_IRQENABLE_EVENTEN | OMAP4_DEF_IRQENABLE_LONGKEY,\n\u003e\u003e\u003e \u003e\u003e -                     keypad_data-\u003ebase + OMAP4_KBD_IRQENABLE);\n\u003e\u003e\u003e \u003e\u003e -     __raw_writel(OMAP4_DEF_WUP_EVENT_ENA | OMAP4_DEF_WUP_LONG_KEY_ENA,\n\u003e\u003e\u003e \u003e\u003e -                     keypad_data-\u003ebase + OMAP4_KBD_WAKEUPENABLE);\n\u003e\u003e\u003e \u003e\u003e +     keypad_data-\u003erevision \u003d kbd_read_revision(keypad_data,\n\u003e\u003e\u003e \u003e\u003e +                     OMAP4_KBD_REVISION);\n\u003e\u003e\u003e \u003e\u003e +     switch (keypad_data-\u003erevision) {\n\u003e\u003e\u003e \u003e\u003e +     case 1:\n\u003e\u003e\u003e \u003e\u003e +             keypad_data-\u003eirqstatus \u003d OMAP4_KBD_IRQSTATUS + 0x0c;\n\u003e\u003e\u003e \u003e\u003e +             keypad_data-\u003eirqenable \u003d OMAP4_KBD_IRQENABLE + 0x0c;\n\u003e\u003e\u003e \u003e\u003e +             keypad_data-\u003ereg_offset \u003d 0x10;\n\u003e\u003e\u003e \u003e\u003e +             break;\n\u003e\u003e\u003e \u003e\n\u003e\u003e\u003e \u003e This should be done in probe().\n\u003e\u003e\u003e \u003e\n\u003e\u003e\u003e Dont we then require \"pm_runtime_put_sync\" in probe, since we are trying\n\u003e\u003e\u003e to read the keypad revision register.?\n\u003e\u003e\n\u003e\u003e Ah, indeed, but I think not pm_runtime_get_sync() but\n\u003e\u003e pm_runtime_set_active().\n\u003e\u003e\n\u003e\u003e Not sure if this will fix the crash...\n\u003e\u003e\n\u003e\u003e --\n\u003e\u003e Dmitry\n\u003e\u003e\n\u003e\u003e\n\u003e\u003e Input: omap-keypad - dynamically handle register offsets\n\u003e\u003e\n\u003e\u003e From: G, Manjunath Kondaiah \u003cmanjugk@ti.com\u003e\n\u003e\u003e\n\u003e\u003e Keypad controller register offsets are different for omap4\n\u003e\u003e and omap5. Handle these offsets through static mapping and\n\u003e\u003e assign these mappings during run time.\n\u003e\u003e\n\u003e\u003e Tested on omap4430 sdp with 3.4-rc3.\n\u003e\u003e Tested on omap5430evm with 3.1-custom kernel.\n\u003e\u003e\n\u003e\u003e Signed-off-by: Felipe Balbi \u003cbalbi@ti.com\u003e\n\u003e\u003e Signed-off-by: G, Manjunath Kondaiah \u003cmanjugk@ti.com\u003e\n\u003e\u003e Signed-off-by: Sourav Poddar \u003csourav.poddar@ti.com\u003e\n\u003e\u003e Signed-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n\u003e\u003e ---\n\u003e\u003e\n\u003e\u003e  drivers/input/keyboard/Kconfig        |    4 +\n\u003e\u003e  drivers/input/keyboard/omap4-keypad.c |  117 ++++++++++++++++++++++++++-------\n\u003e\u003e  2 files changed, 94 insertions(+), 27 deletions(-)\n\u003e\u003e\n\u003e\u003e\n\u003e\u003e diff --git a/drivers/input/keyboard/Kconfig b/drivers/input/keyboard/Kconfig\n\u003e\u003e index 20a3753..84ee155 100644\n\u003e\u003e --- a/drivers/input/keyboard/Kconfig\n\u003e\u003e +++ b/drivers/input/keyboard/Kconfig\n\u003e\u003e @@ -531,9 +531,9 @@ config KEYBOARD_OMAP\n\u003e\u003e          module will be called omap-keypad.\n\u003e\u003e\n\u003e\u003e  config KEYBOARD_OMAP4\n\u003e\u003e -       tristate \"TI OMAP4 keypad support\"\n\u003e\u003e +       tristate \"TI OMAP4+ keypad support\"\n\u003e\u003e        help\n\u003e\u003e -         Say Y here if you want to use the OMAP4 keypad.\n\u003e\u003e +         Say Y here if you want to use the OMAP4+ keypad.\n\u003e\u003e\n\u003e\u003e          To compile this driver as a module, choose M here: the\n\u003e\u003e          module will be called omap4-keypad.\n\u003e\u003e diff --git a/drivers/input/keyboard/omap4-keypad.c b/drivers/input/keyboard/omap4-keypad.c\n\u003e\u003e index e809ac0..c9fd0df 100644\n\u003e\u003e --- a/drivers/input/keyboard/omap4-keypad.c\n\u003e\u003e +++ b/drivers/input/keyboard/omap4-keypad.c\n\u003e\u003e @@ -68,19 +68,52 @@\n\u003e\u003e\n\u003e\u003e  #define OMAP4_MASK_IRQSTATUSDISABLE    0xFFFF\n\u003e\u003e\n\u003e\u003e +enum {\n\u003e\u003e +       KBD_REVISION_OMAP4 \u003d 0,\n\u003e\u003e +       KBD_REVISION_OMAP5,\n\u003e\u003e +};\n\u003e\u003e +\n\u003e\u003e  struct omap4_keypad {\n\u003e\u003e        struct input_dev *input;\n\u003e\u003e\n\u003e\u003e        void __iomem *base;\n\u003e\u003e -       int irq;\n\u003e\u003e +       unsigned int irq;\n\u003e\u003e\n\u003e\u003e        unsigned int rows;\n\u003e\u003e        unsigned int cols;\n\u003e\u003e +       u32 reg_offset;\n\u003e\u003e +       u32 irqreg_offset;\n\u003e\u003e        unsigned int row_shift;\n\u003e\u003e        unsigned char key_state[8];\n\u003e\u003e        unsigned short keymap[];\n\u003e\u003e  };\n\u003e\u003e\n\u003e\u003e +static int kbd_readl(struct omap4_keypad *keypad_data, u32 offset)\n\u003e\u003e +{\n\u003e\u003e +       return __raw_readl(keypad_data-\u003ebase +\n\u003e\u003e +                               keypad_data-\u003ereg_offset + offset);\n\u003e\u003e +}\n\u003e\u003e +\n\u003e\u003e +static void kbd_writel(struct omap4_keypad *keypad_data, u32 offset, u32 value)\n\u003e\u003e +{\n\u003e\u003e +       __raw_writel(value,\n\u003e\u003e +                    keypad_data-\u003ebase + keypad_data-\u003ereg_offset + offset);\n\u003e\u003e +}\n\u003e\u003e +\n\u003e\u003e +static int kbd_read_irqreg(struct omap4_keypad *keypad_data, u32 offset)\n\u003e\u003e +{\n\u003e\u003e +       return __raw_readl(keypad_data-\u003ebase +\n\u003e\u003e +                               keypad_data-\u003eirqreg_offset + offset);\n\u003e\u003e +}\n\u003e\u003e +\n\u003e\u003e +static void kbd_write_irqreg(struct omap4_keypad *keypad_data,\n\u003e\u003e +                            u32 offset, u32 value)\n\u003e\u003e +{\n\u003e\u003e +       __raw_writel(value,\n\u003e\u003e +                    keypad_data-\u003ebase + keypad_data-\u003eirqreg_offset + offset);\n\u003e\u003e +}\n\u003e\u003e +\n\u003e\u003e +\n\u003e\u003e  /* Interrupt handler */\n\u003e\u003e  static irqreturn_t omap4_keypad_interrupt(int irq, void *dev_id)\n\u003e\u003e  {\n\u003e\u003e @@ -91,12 +124,11 @@ static irqreturn_t omap4_keypad_interrupt(int irq, void *dev_id)\n\u003e\u003e        u32 *new_state \u003d (u32 *) key_state;\n\u003e\u003e\n\u003e\u003e        /* Disable interrupts */\n\u003e\u003e -       __raw_writel(OMAP4_VAL_IRQDISABLE,\n\u003e\u003e -                    keypad_data-\u003ebase + OMAP4_KBD_IRQENABLE);\n\u003e\u003e +       kbd_write_irqreg(keypad_data, OMAP4_KBD_IRQENABLE,\n\u003e\u003e +                        OMAP4_VAL_IRQDISABLE);\n\u003e\u003e\n\u003e\u003e -       *new_state \u003d __raw_readl(keypad_data-\u003ebase + OMAP4_KBD_FULLCODE31_0);\n\u003e\u003e -       *(new_state + 1) \u003d __raw_readl(keypad_data-\u003ebase\n\u003e\u003e -                                               + OMAP4_KBD_FULLCODE63_32);\n\u003e\u003e +       *new_state \u003d kbd_readl(keypad_data, OMAP4_KBD_FULLCODE31_0);\n\u003e\u003e +       *(new_state + 1) \u003d kbd_readl(keypad_data, OMAP4_KBD_FULLCODE63_32);\n\u003e\u003e\n\u003e\u003e        for (row \u003d 0; row \u003c keypad_data-\u003erows; row++) {\n\u003e\u003e                changed \u003d key_state[row] ^ keypad_data-\u003ekey_state[row];\n\u003e\u003e @@ -121,12 +153,13 @@ static irqreturn_t omap4_keypad_interrupt(int irq, void *dev_id)\n\u003e\u003e                sizeof(keypad_data-\u003ekey_state));\n\u003e\u003e\n\u003e\u003e        /* clear pending interrupts */\n\u003e\u003e -       __raw_writel(__raw_readl(keypad_data-\u003ebase + OMAP4_KBD_IRQSTATUS),\n\u003e\u003e -                       keypad_data-\u003ebase + OMAP4_KBD_IRQSTATUS);\n\u003e\u003e +       kbd_write_irqreg(keypad_data, OMAP4_KBD_IRQSTATUS,\n\u003e\u003e +                        kbd_read_irqreg(keypad_data, OMAP4_KBD_IRQSTATUS));\n\u003e\u003e\n\u003e\u003e        /* enable interrupts */\n\u003e\u003e -       __raw_writel(OMAP4_DEF_IRQENABLE_EVENTEN | OMAP4_DEF_IRQENABLE_LONGKEY,\n\u003e\u003e -                       keypad_data-\u003ebase + OMAP4_KBD_IRQENABLE);\n\u003e\u003e +       kbd_write_irqreg(keypad_data, OMAP4_KBD_IRQENABLE,\n\u003e\u003e +               OMAP4_DEF_IRQENABLE_EVENTEN |\n\u003e\u003e +                               OMAP4_DEF_IRQENABLE_LONGKEY);\n\u003e\u003e\n\u003e\u003e        return IRQ_HANDLED;\n\u003e\u003e  }\n\u003e\u003e @@ -139,16 +172,17 @@ static int omap4_keypad_open(struct input_dev *input)\n\u003e\u003e\n\u003e\u003e        disable_irq(keypad_data-\u003eirq);\n\u003e\u003e\n\u003e\u003e -       __raw_writel(OMAP4_VAL_FUNCTIONALCFG,\n\u003e\u003e -                       keypad_data-\u003ebase + OMAP4_KBD_CTRL);\n\u003e\u003e -       __raw_writel(OMAP4_VAL_DEBOUNCINGTIME,\n\u003e\u003e -                       keypad_data-\u003ebase + OMAP4_KBD_DEBOUNCINGTIME);\n\u003e\u003e -       __raw_writel(OMAP4_VAL_IRQDISABLE,\n\u003e\u003e -                       keypad_data-\u003ebase + OMAP4_KBD_IRQSTATUS);\n\u003e\u003e -       __raw_writel(OMAP4_DEF_IRQENABLE_EVENTEN | OMAP4_DEF_IRQENABLE_LONGKEY,\n\u003e\u003e -                       keypad_data-\u003ebase + OMAP4_KBD_IRQENABLE);\n\u003e\u003e -       __raw_writel(OMAP4_DEF_WUP_EVENT_ENA | OMAP4_DEF_WUP_LONG_KEY_ENA,\n\u003e\u003e -                       keypad_data-\u003ebase + OMAP4_KBD_WAKEUPENABLE);\n\u003e\u003e +       kbd_writel(keypad_data, OMAP4_KBD_CTRL,\n\u003e\u003e +                       OMAP4_VAL_FUNCTIONALCFG);\n\u003e\u003e +       kbd_writel(keypad_data, OMAP4_KBD_DEBOUNCINGTIME,\n\u003e\u003e +                       OMAP4_VAL_DEBOUNCINGTIME);\n\u003e\u003e +       kbd_write_irqreg(keypad_data, OMAP4_KBD_IRQSTATUS,\n\u003e\u003e +                       OMAP4_VAL_IRQDISABLE);\n\u003e\u003e +       kbd_write_irqreg(keypad_data, OMAP4_KBD_IRQENABLE,\n\u003e\u003e +                       OMAP4_DEF_IRQENABLE_EVENTEN |\n\u003e\u003e +                               OMAP4_DEF_IRQENABLE_LONGKEY);\n\u003e\u003e +       kbd_writel(keypad_data, OMAP4_KBD_WAKEUPENABLE,\n\u003e\u003e +                       OMAP4_DEF_WUP_EVENT_ENA | OMAP4_DEF_WUP_LONG_KEY_ENA);\n\u003e\u003e\n\u003e\u003e        enable_irq(keypad_data-\u003eirq);\n\u003e\u003e\n\u003e\u003e @@ -162,12 +196,12 @@ static void omap4_keypad_close(struct input_dev *input)\n\u003e\u003e        disable_irq(keypad_data-\u003eirq);\n\u003e\u003e\n\u003e\u003e        /* Disable interrupts */\n\u003e\u003e -       __raw_writel(OMAP4_VAL_IRQDISABLE,\n\u003e\u003e -                    keypad_data-\u003ebase + OMAP4_KBD_IRQENABLE);\n\u003e\u003e +       kbd_write_irqreg(keypad_data, OMAP4_KBD_IRQENABLE,\n\u003e\u003e +                        OMAP4_VAL_IRQDISABLE);\n\u003e\u003e\n\u003e\u003e        /* clear pending interrupts */\n\u003e\u003e -       __raw_writel(__raw_readl(keypad_data-\u003ebase + OMAP4_KBD_IRQSTATUS),\n\u003e\u003e -                       keypad_data-\u003ebase + OMAP4_KBD_IRQSTATUS);\n\u003e\u003e +       kbd_write_irqreg(keypad_data, OMAP4_KBD_IRQSTATUS,\n\u003e\u003e +                        kbd_read_irqreg(keypad_data, OMAP4_KBD_IRQSTATUS));\n\u003e\u003e\n\u003e\u003e        enable_irq(keypad_data-\u003eirq);\n\u003e\u003e\n\u003e\u003e @@ -182,6 +216,7 @@ static int __devinit omap4_keypad_probe(struct platform_device *pdev)\n\u003e\u003e        struct resource *res;\n\u003e\u003e        resource_size_t size;\n\u003e\u003e        unsigned int row_shift, max_keys;\n\u003e\u003e +       int rev;\n\u003e\u003e        int irq;\n\u003e\u003e        int error;\n\u003e\u003e\n\u003e\u003e @@ -241,11 +276,40 @@ static int __devinit omap4_keypad_probe(struct platform_device *pdev)\n\u003e\u003e        keypad_data-\u003erows \u003d pdata-\u003erows;\n\u003e\u003e        keypad_data-\u003ecols \u003d pdata-\u003ecols;\n\u003e\u003e\n\u003e\u003e +       /*\n\u003e\u003e +        * Mark device as active (and wake up its parent) so we can read\n\u003e\u003e +        * revision register.\n\u003e\u003e +        */\n\u003e\u003e +       error \u003d pm_runtime_set_active(\u0026pdev-\u003edev);\n\u003e\u003e +       if (error) {\n\u003e\u003e +               dev_err(\u0026pdev-\u003edev, \"pm_runtime_set_active() failed\\n\");\n\u003e\u003e +               goto err_unmap;\n\u003e\u003e +       }\n\u003e\u003e +\n\u003e\u003e +       rev \u003d __raw_readl(keypad_data-\u003ebase + OMAP4_KBD_REVISION);\n\u003e\u003e +       rev \u0026\u003d 0x03 \u003c\u003c 30;\n\u003e\u003e +       rev \u003e\u003e\u003d 30;\n\u003e\u003e +       switch (rev) {\n\u003e\u003e +       case KBD_REVISION_OMAP4:\n\u003e\u003e +               keypad_data-\u003ereg_offset \u003d 0x00;\n\u003e\u003e +               keypad_data-\u003eirqreg_offset \u003d 0x00;\n\u003e\u003e +               break;\n\u003e\u003e +       case KBD_REVISION_OMAP5:\n\u003e\u003e +               keypad_data-\u003ereg_offset \u003d 0x10;\n\u003e\u003e +               keypad_data-\u003eirqreg_offset \u003d 0x0c;\n\u003e\u003e +               break;\n\u003e\u003e +       default:\n\u003e\u003e +               dev_err(\u0026pdev-\u003edev,\n\u003e\u003e +                       \"Keypad reports unsupported revision %d\", rev);\n\u003e\u003e +               error \u003d -EINVAL;\n\u003e\u003e +               goto err_pm_suspended;\n\u003e\u003e +       }\n\u003e\u003e +\n\u003e\u003e        /* input device allocation */\n\u003e\u003e        keypad_data-\u003einput \u003d input_dev \u003d input_allocate_device();\n\u003e\u003e        if (!input_dev) {\n\u003e\u003e                error \u003d -ENOMEM;\n\u003e\u003e -               goto err_unmap;\n\u003e\u003e +               goto err_pm_suspended;\n\u003e\u003e        }\n\u003e\u003e\n\u003e\u003e        input_dev-\u003ename \u003d pdev-\u003ename;\n\u003e\u003e @@ -281,6 +345,7 @@ static int __devinit omap4_keypad_probe(struct platform_device *pdev)\n\u003e\u003e        }\n\u003e\u003e\n\u003e\u003e        pm_runtime_enable(\u0026pdev-\u003edev);\n\u003e\u003e +       pm_runtime_put_sync(\u0026pdev-\u003edev);\n\u003e\u003e\n\u003e\u003e        error \u003d input_register_device(keypad_data-\u003einput);\n\u003e\u003e        if (error \u003c 0) {\n\u003e\u003e @@ -296,6 +361,8 @@ err_pm_disable:\n\u003e\u003e        free_irq(keypad_data-\u003eirq, keypad_data);\n\u003e\u003e  err_free_input:\n\u003e\u003e        input_free_device(input_dev);\n\u003e\u003e +err_pm_suspended:\n\u003e\u003e +       pm_runtime_set_suspended(\u0026pdev-\u003edev);\n\u003e\u003e  err_unmap:\n\u003e\u003e        iounmap(keypad_data-\u003ebase);\n\u003e\u003e  err_release_mem:\n\nFrom: G, Manjunath Kondaiah \u003cmanjugk@ti.com\u003e\nDate: Mon, 10 Oct 2011 20:52:05 +0530\nSubject: [PATCH] Input: omap-keypad: dynamically handle register offsets\n\nKeypad controller register offsets are different for omap4\nand omap5. Handle these offsets through static mapping and\nassign these mappings during run time.\n\nTested on omap4430 sdp with 3.4-rc3.\nTested on omap5430evm with 3.1-custom kernel.\n\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Felipe Balbi \u003cbalbi@ti.com\u003e\nSigned-off-by: G, Manjunath Kondaiah \u003cmanjugk@ti.com\u003e\nSigned-off-by: Sourav Poddar \u003csourav.poddar@ti.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "fb054bf26914ee4c55cf149bc5b2a8e2c89fb81f",
      "tree": "d36d61e3953e096efa1094442aee5ef1d2fab1d3",
      "parents": [
        "ee1d8040a6b0a8106c7d9e80b9193077224493ba"
      ],
      "author": {
        "name": "Chao Xie",
        "email": "chao.xie@marvell.com",
        "time": "Sun Apr 01 10:08:04 2012 +0800"
      },
      "committer": {
        "name": "Haojian Zhuang",
        "email": "haojian.zhuang@gmail.com",
        "time": "Fri Apr 27 16:50:05 2012 +0800"
      },
      "message": "Input: pxa27x_keypad add choice to set direct_key_mask\n\nDirect keys usage may not start from KP_DKIN0, add a msk option\nto configure the specifics for platforms that can skip some keys.\n\nSigned-off-by: Chao Xie \u003cchao.xie@marvell.com\u003e\nSigned-off-by: Haojian Zhuang \u003chaojian.zhuang@gmail.com\u003e\n"
    },
    {
      "commit": "ee1d8040a6b0a8106c7d9e80b9193077224493ba",
      "tree": "afb16aa484c7843ef88cf093355d370e8cb5f8db",
      "parents": [
        "5545fa897a0a1a34249e98ea4244b256cbe58df3"
      ],
      "author": {
        "name": "Chao Xie",
        "email": "chao.xie@marvell.com",
        "time": "Sun Apr 01 10:08:03 2012 +0800"
      },
      "committer": {
        "name": "Haojian Zhuang",
        "email": "haojian.zhuang@gmail.com",
        "time": "Fri Apr 27 16:49:07 2012 +0800"
      },
      "message": "Input: pxa27x_keypad direct key may be low active\n\nKPDK_DK only indicates the pin level of direct key.\nSo it is related to board, and low level may be active which\nindicates that a key is pressed.\n\nSigned-off-by: Chao Xie \u003cchao.xie@marvell.com\u003e\nSigned-off-by: Haojian Zhuang \u003chaojian.zhuang@gmail.com\u003e\n"
    },
    {
      "commit": "5545fa897a0a1a34249e98ea4244b256cbe58df3",
      "tree": "40d5e5f83d7fc5ae447388468b161fedd0616123",
      "parents": [
        "6ce34a5fb4955fac1eebe080e1c2784bc8710449"
      ],
      "author": {
        "name": "Chao Xie",
        "email": "chao.xie@marvell.com",
        "time": "Sun Apr 01 10:08:02 2012 +0800"
      },
      "committer": {
        "name": "Haojian Zhuang",
        "email": "haojian.zhuang@gmail.com",
        "time": "Fri Apr 27 16:48:33 2012 +0800"
      },
      "message": "Input: pxa27x_keypad bug fix for direct_key_mask\n\nWhen direcct_key_num is 0, the mask should be 0.\nWhen direcct_key_num is 1, the mask should be 0b1.\n\nSigned-off-by: Chao Xie \u003cchao.xie@marvell.com\u003e\nSigned-off-by: Haojian Zhuang \u003chaojian.zhuang@gmail.com\u003e\n"
    },
    {
      "commit": "6ce34a5fb4955fac1eebe080e1c2784bc8710449",
      "tree": "d8f4d6a8111a931c924a8e822db0b56dfe0322be",
      "parents": [
        "66f75a5d028beaf67c931435fdc3e7823125730c"
      ],
      "author": {
        "name": "Chao Xie",
        "email": "chao.xie@marvell.com",
        "time": "Sun Apr 01 10:08:01 2012 +0800"
      },
      "committer": {
        "name": "Haojian Zhuang",
        "email": "haojian.zhuang@gmail.com",
        "time": "Fri Apr 27 16:48:09 2012 +0800"
      },
      "message": "Input: pxa27x_keypad keep clock on as wakeup source\n\nWhen the keypad is used as wake up source, the clock can not\nbe disabled. Or it can not detect key pressing.\nIf the keypad is used as wake up source, when resume back,\ndo not enable the clock and configure it again because the\nregister content is retained.\n\nSigned-off-by: Chao Xie \u003cchao.xie@marvell.com\u003e\nSigned-off-by: Haojian Zhuang \u003chaojian.zhuang@gmail.com\u003e\n"
    },
    {
      "commit": "f57fe78ee48f7aa1f859e7e9c4d6987276a72ecc",
      "tree": "9e9aee6c443c43c7fd9f6ba1a70f2fa939cff540",
      "parents": [
        "5d066474cd64a5877391e3711e8c7973e6478cc8"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Sun Apr 22 23:18:11 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Mon Apr 23 23:35:53 2012 -0700"
      },
      "message": "Input: atkbd - fix language in a printed message\n\nI believe that \"trying to access hardware\" is more correct English\nthan \"trying access hardware\".\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "57b8628bb0ac4e47c806e45c5bbd89282e93869b",
      "tree": "ee9289f0898054474b7e5054abdb3ffb78666436",
      "parents": [
        "486c8aba39e5f194519cd5c0e85e5d1de8b74b03",
        "66f75a5d028beaf67c931435fdc3e7823125730c"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Sat Apr 21 23:28:35 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Sat Apr 21 23:28:35 2012 -0700"
      },
      "message": "Merge commit \u0027v3.4-rc4\u0027 into next\n"
    },
    {
      "commit": "71f3d070a309504cdfef87b9e98836395b75ae0e",
      "tree": "75ed4cbae62fece04fd06a15a7460fa8215bb2fa",
      "parents": [
        "bcad87bd92f4331d4422c1afd571e66f7f5c95d6"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Fri Apr 20 22:33:09 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Fri Apr 20 23:08:48 2012 -0700"
      },
      "message": "Input: tc3589x-keypad - remove unnecessary checks\n\nsettle_time and debounce_period are u8 and thus can not be greater than\nTC3589x_MAX_DEBOUNCE_SETTLE which is 255.\n\nThere also no need to mask out nibbles form board-\u003ekrow and board-\u003ekcol\nas we validate that they are in correct range.\n\nReported-by: Werner \u003cw.landgraf@ru.ru\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "b83643ebf2242388585e95c9a8d2353745d77cfd",
      "tree": "453d51b7f20c37d90d3b8d168379ee50978669dc",
      "parents": [
        "01111fcd42b050bdb7113a7c2c0aed2eaef67b53"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Fri Apr 20 22:33:09 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Fri Apr 20 23:06:52 2012 -0700"
      },
      "message": "Input: matrix-keypad - undo GPIO setup if input_register_device fails\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "01111fcd42b050bdb7113a7c2c0aed2eaef67b53",
      "tree": "f6ecbee8e3962c8ff7c07c3f3997658fe5038707",
      "parents": [
        "0508c19a6fddd1ba5495004370e4fc2fd4a7d33a"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Fri Apr 20 22:33:08 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Fri Apr 20 23:06:49 2012 -0700"
      },
      "message": "Input: matrix-keypad - allocate keycodes with keypad structure\n\nInstead of allocating and managing keymap separately from the keypad\nstructure stick it at the end as a variable-length array.\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "0508c19a6fddd1ba5495004370e4fc2fd4a7d33a",
      "tree": "a4c98a2a843bc7cbe9816ddce409012ca98aebc7",
      "parents": [
        "5cb727a86780fcac34de871cd12bea3f744d6be2"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Fri Apr 20 22:33:08 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Fri Apr 20 23:06:45 2012 -0700"
      },
      "message": "Input: matrix-keypad - fix \u0027duplicate const\u0027 sparse warning\n\nSIMPLE_DEV_PM_OPS already defines constant dev_pm_ops.\n\nAlso guard PM methods with CONFIG_PM_SLEEP and get rid of some\nunneeded #ifdefs.\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "b5e9528bd19c6a3379aac468186f41d2bda48b04",
      "tree": "cfa21adb31d9cc7cc707a0a938bcb8454b33dd4c",
      "parents": [
        "d568778298f58330bcc8cc23845676d1143c8d33"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Wed Apr 11 00:13:50 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Wed Apr 11 00:14:16 2012 -0700"
      },
      "message": "Input: ep93xx_keypad - switch to using dev_pm_ops\n\nAlso use CONFIG_PM_SLEEP instead of CONFIG_PM to guard PM methods.\n\nAcked-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "65ac9f7a23c934ee8c40dc20955e75db4924bfea",
      "tree": "7baa3439e9b0a774073473cccef6960e7f77bc6e",
      "parents": [
        "fa7f86d157781515b74d658120552eafd890f4de"
      ],
      "author": {
        "name": "Axel Lin",
        "email": "axel.lin@gmail.com",
        "time": "Tue Apr 03 23:50:17 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Wed Apr 04 09:25:43 2012 -0700"
      },
      "message": "Input: serio - use module_serio_driver\n\nThis patch converts the drivers in drivers/input/* to use\nmodule_serio_driver() macro which makes the code smaller and\na bit simpler.\n\nSigned-off-by: Axel Lin \u003caxel.lin@gmail.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "0bf25a45386f284d591530ef174eaa9e44d84956",
      "tree": "128d3124b99531345cfbfcf4045ec03c7996eab1",
      "parents": [
        "5a966261c0dfb836f54444ff3893638802183cac"
      ],
      "author": {
        "name": "Wolfram Sang",
        "email": "w.sang@pengutronix.de",
        "time": "Tue Apr 03 13:39:44 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Wed Apr 04 09:25:39 2012 -0700"
      },
      "message": "Input: add support for LM8333 keypads\n\nThis driver adds support for the keypad part of the LM8333 and is\nprepared for possible GPIO/PWM drivers. Note that this is not a MFD\nbecause you cannot disable the keypad functionality which, thus,\nhas to be handled by the core anyhow.\n\nSigned-off-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "2f7fa1be66dce77608330c5eb918d6360b5525f2",
      "tree": "05dbfe86d2b192389da11686fa380e7ae45be225",
      "parents": [
        "1338631433d8de7cf85b7e8fcf1a389ad89e7a8f",
        "f182394033d639679264d61e6dca62761e659ff7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 23:17:44 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 23:17:44 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\nPull 2nd round of input updates from Dmitry Torokhov:\n - update to Wacom driver to support wireless devices\n - update to Sentelci touchpad driver to support newer hardware\n - update to gpio-keys driver to support \"interrupt-only\" keys\n - fixups to earlier commits\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:\n  Input: wacom - check for allocation failure in probe()\n  Input: tegra-kbc - allocate pdata before using it\n  Input: amijoy - add missing platform check\n  Input: wacom - wireless battery status\n  Input: wacom - create inputs when wireless connect\n  Input: wacom - wireless monitor framework\n  Input: wacom - isolate input registration\n  Input: sentelic - improve packet debugging information\n  Input: sentelic - minor code cleanup\n  Input: sentelic - enabling absolute coordinates output for newer hardware\n  Input: sentelic - refactor code for upcoming new hardware support\n  Input: gpio_keys - add support for interrupt only keys\n  Input: gpio_keys - consolidate key destructor code\n  Input: revert \"gpio_keys - switch to using threaded IRQs\"\n  Input: gpio_keys - constify platform data\n  Input: spear-keyboard - remove kbd_set_plat_data()\n"
    },
    {
      "commit": "9e4db1c3eed55c22328d8022c2c80adb3093833f",
      "tree": "9643545e6bd182f1d3e19942f590a6a1e3198320",
      "parents": [
        "de8856d2c11f562c60ed9340a83db4a4f829a6e6",
        "aae528d9a8ad79d4b21b1b723abc9447fdb0d200"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 27 18:17:02 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 27 18:17:02 2012 -0700"
      },
      "message": "Merge branch \u0027platforms\u0027 of git://git.linaro.org/people/rmk/linux-arm\n\nPull ARM platform updates from Russell King:\n \"This covers platform stuff for platforms I have a direct interest in\n  (iow, I have the hardware).  Essentially:\n   - as we no longer support any other Acorn platforms other than RiscPC\n     anymore, we can collect all that code into mach-rpc.\n   - convert Acorn expansion card stuff to use IRQ allocation functions,\n     and get rid of NO_IRQ from there.\n   - cleanups to the ebsa110 platform to move some private stuff out of\n     its header files.\n   - large amount of SA11x0 updates:\n   - conversion of private DMA implementation to DMA engine support\n     (this actually gives us greater flexibility in drivers over the old\n     API.)\n   - re-worked ucb1x00 updates - convert to genirq, remove sa11x0\n     dependencies, fix various minor issues\n   - move platform specific sa11x0 framebuffer data into platform files\n     in arch/arm instead of keeping this in the driver itself\n   - update sa11x0 IrDA driver for DMA engine, and allow it to use DMA\n     for SIR transmissions as well as FIR\n   - rework sa1111 support for genirq, and irq allocation\n   - fix sa1111 IRQ support so it works again\n   - use sparse IRQ support\n\n  After this, I have one more pull request remaining from my current\n  set, which I think is going to be the most problematical as it\n  generates 8 conflicts.\"\n\nFixed up the trivial conflict in arch/arm/mach-rpc/Makefile as per\nRussell.\n\n* \u0027platforms\u0027 of git://git.linaro.org/people/rmk/linux-arm: (125 commits)\n  ARM: 7343/1: sa11x0: convert to sparse IRQ\n  ARM: 7342/2: sa1100: prepare for sparse irq conversion\n  ARM: 7341/1: input: prepare jornada720 keyboard and ts for sa11x0 sparse irq\n  ARM: 7340/1: rtc: sa1100: include mach/irqs.h instead of asm/irq.h\n  ARM: sa11x0: remove unused DMA controller definitions\n  ARM: sa11x0: remove old SoC private DMA driver\n  USB: sa1111: add hcd .reset method\n  USB: sa1111: add OHCI shutdown methods\n  USB: sa1111: reorganize ohci-sa1111.c\n  USB: sa1111: get rid of nasty printk(KERN_DEBUG \"%s: ...\", __FILE__)\n  USB: sa1111: sparse and checkpatch cleanups\n  ARM: sa11x0: don\u0027t static map sa1111\n  ARM: sa1111: use dev_err() rather than printk()\n  ARM: sa1111: cleanup sub-device registration and unregistration\n  ARM: sa1111: only setup DMA for DMA capable devices\n  ARM: sa1111: register sa1111 devices with dmabounce in bus notifier\n  ARM: sa1111: move USB interface register definitions to ohci-sa1111.c\n  ARM: sa1111: move PCMCIA interface register definitions to sa1111_generic.c\n  ARM: sa1111: move PS/2 interface register definitions to sa1111p2.c\n  ARM: sa1111: delete unused physical GPIO register definitions\n  ...\n"
    },
    {
      "commit": "131c713fd96e251fcb18f4d2d05f263aa41bb11f",
      "tree": "b5f1df0edbf89e8952ae251f49059b6a672f0731",
      "parents": [
        "3183968cbfb76c02f357151f66a1260101f9d82c"
      ],
      "author": {
        "name": "Viresh Kumar",
        "email": "viresh.kumar@st.com",
        "time": "Mon Mar 26 23:55:24 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue Mar 27 00:14:35 2012 -0700"
      },
      "message": "Input: tegra-kbc - allocate pdata before using it\n\nFollowing commit broke DT support for tegra-kbc by removing pdata\nallocation completely:\n\n   commit 023cea0ecfa2df034096c3f4afa796a0b2d1188a\n   Author: Shridhar Rasal \u003csrasal@nvidia.com\u003e\n   Date:   Fri Feb 3 00:27:30 2012 -0800\n\n       Input: tegra-kbc - allow skipping setting up some of GPIO pins\n\nThis patch restores it.\n\nSigned-off-by: Viresh Kumar \u003cviresh.kumar@st.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "3638dd2b45ceac2e9526f0ee83b0923db3546979",
      "tree": "65c28ce1080bc827c3188de63e86566a5977f1cf",
      "parents": [
        "905cdc88b6eb9074c203be4883bce6c170757338"
      ],
      "author": {
        "name": "Rob Herring",
        "email": "rob.herring@calxeda.com",
        "time": "Thu Feb 23 14:28:36 2012 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sun Mar 25 23:57:19 2012 +0100"
      },
      "message": "ARM: 7341/1: input: prepare jornada720 keyboard and ts for sa11x0 sparse irq\n\nIn preparation for sa11x0 sparse irq conversion, explicitly include\nmach/irqs.h as it will not be included for sparse irq.\n\nSigned-off-by: Rob Herring \u003crob.herring@calxeda.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "d8ee4a1c90529ed06e1aa43d034986649f7b670b",
      "tree": "5a9aec5fe8a9b146799842a2dd284495051621e1",
      "parents": [
        "a16ca23935afc0d72215b139720bd07df3162a9f"
      ],
      "author": {
        "name": "Laxman Dewangan",
        "email": "ldewangan@nvidia.com",
        "time": "Mon Mar 19 17:54:31 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Mon Mar 19 17:56:18 2012 -0700"
      },
      "message": "Input: gpio_keys - add support for interrupt only keys\n\nSome of buttons, like power-on key or onkey, may only generate interrupts\nwhen pressed and not actually be mapped as gpio in the system. Allow\nsetting gpio to invalid value and specify IRQ instead to support such\nkeys. The debounce timer is used not to debounce but to ignore new IRQs\ncoming while button is kept pressed.\n\nSigned-off-by: Laxman Dewangan \u003cldewangan@nvidia.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "a16ca23935afc0d72215b139720bd07df3162a9f",
      "tree": "bcfc8bfcaed96a60728b803632ce973ca6cab0dd",
      "parents": [
        "6709c9a5d8c53092cbe89128df4e0a549e93133b"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Sun Mar 18 23:36:30 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Mon Mar 19 17:56:14 2012 -0700"
      },
      "message": "Input: gpio_keys - consolidate key destructor code\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "6709c9a5d8c53092cbe89128df4e0a549e93133b",
      "tree": "55f83aeda4893a9df56a4395cbd82889687a2040",
      "parents": [
        "d9080921aa32c70a95476ce387e973787b892591"
      ],
      "author": {
        "name": "David Jander",
        "email": "david@protonic.nl",
        "time": "Sun Mar 18 23:36:29 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Mon Mar 19 17:56:04 2012 -0700"
      },
      "message": "Input: revert \"gpio_keys - switch to using threaded IRQs\"\n\nrequest_any_context_irq() should handle the case when using GPIO expanders\nthat themselves use threaded IRQs, and so the premise of change\n7e2ecdf438bb479e2b4667fc16b1a84d6348da04 is incorrect.\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "d9080921aa32c70a95476ce387e973787b892591",
      "tree": "8fd5bc1886551a045116ba9d60f2fb3fe42c7611",
      "parents": [
        "598d3b707979847d96bc4bef455ac3a0e1ec45bd"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Sun Mar 18 23:36:29 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Mon Mar 19 17:55:45 2012 -0700"
      },
      "message": "Input: gpio_keys - constify platform data\n\nThe platform data should not be altered and therefore should be\naccessed through const pointers.\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "1b92c1cf6b638e7cbe9fdaac3f6efb8874f5cc02",
      "tree": "88e7cfcd088df7eba9b705285c8e0d8ba7bbd632",
      "parents": [
        "ca83922e1c51c090e62bd42f3c12c84f49374a9e"
      ],
      "author": {
        "name": "Axel Lin",
        "email": "axel.lin@gmail.com",
        "time": "Fri Mar 16 23:05:41 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Fri Mar 16 23:06:19 2012 -0700"
      },
      "message": "Input: convert I2C drivers to use module_i2c_driver()\n\nThis patch converts the drivers in drivers/input/* to use the\nmodule_i2c_driver() macro which makes the code smaller and a bit\nsimpler.\n\nSigned-off-by: Axel Lin \u003caxel.lin@gmail.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "0f1142a514e101076bc01de2f93b242693d0f16f",
      "tree": "4cbc011165e9835d33bde8641114b3a8a86b0ce6",
      "parents": [
        "043916608c4b309e98a1650520ed4e88ec5e9123"
      ],
      "author": {
        "name": "Felipe Balbi",
        "email": "balbi@ti.com",
        "time": "Fri Mar 16 22:47:48 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Fri Mar 16 22:49:46 2012 -0700"
      },
      "message": "Input: omap4-keypad - move platform_data to \u003clinux/platform_data\u003e\n\nThis patch allows us to drop the OMAP dependency from the OMAP4 keypad\ndriver.\n\nSigned-off-by: Felipe Balbi \u003cbalbi@ti.com\u003e\nSigned-off-by: Sourav Poddar \u003csourav.poddar@ti.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "145e97348a3066cf71038d02392aa8063550de6f",
      "tree": "2ef6ed98478e18030b3c266b4951e24075f8510c",
      "parents": [
        "2cd36877ad1c61429e00c099b6903ebcd936ca00"
      ],
      "author": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Tue Mar 13 21:36:29 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue Mar 13 21:37:07 2012 -0700"
      },
      "message": "Input: tegra-kbc - revise device tree support\n\nThis is an incremental patch updating to the revised bindings for\nmatrix keyboards.\n\nThis includes an optional \"linux,fn-keymap\" binding that is not yet\nimplemented, that will be used to specify the Fn-key modifier layout\nif needed.\n\nSigned-off-by: Olof Johansson \u003colof@lixom.net\u003e\nAcked-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nAcked-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "2cd36877ad1c61429e00c099b6903ebcd936ca00",
      "tree": "c9f7618f3b49c2ba5516c9023ba7e5604aa6b08c",
      "parents": [
        "b51425becfe127e0c17a8501ffa079b37241ed11"
      ],
      "author": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Tue Mar 13 21:35:51 2012 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue Mar 13 21:37:04 2012 -0700"
      },
      "message": "Input: of_keymap - add device tree bindings for simple key matrices\n\nThis adds a simple device tree binding for simple key matrix data and\na helper to fill in the platform data.\n\nSigned-off-by: Olof Johansson \u003colof@lixom.net\u003e\nAcked-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "b675b3667f6729dcd1036a2a129b35445947f905",
      "tree": "0d58791e9063d3ca2c352da6f3e7df2bdb876f9d",
      "parents": [
        "104a5f3cad8f2f27cadbdf0029400ecd9e17ccc0",
        "192cfd58774b4d17b2fe8bdc77d89c2ef4e0591d"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Fri Mar 09 10:55:17 2012 -0800"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Fri Mar 09 10:55:17 2012 -0800"
      },
      "message": "Merge commit \u0027v3.3-rc6\u0027 into next\n"
    },
    {
      "commit": "f79e30a809d829d094c0e33d3279c43aca71472f",
      "tree": "aec43fe4510419716ff8631f8779240227f3a8ec",
      "parents": [
        "f8354c60ca2212810c168d8f992559226c8c0e71"
      ],
      "author": {
        "name": "Viresh Kumar",
        "email": "viresh.kumar@st.com",
        "time": "Fri Feb 24 00:51:37 2012 -0800"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue Feb 28 01:18:32 2012 -0800"
      },
      "message": "Input: spear-keyboard - provide thaw and poweroff routines\n\nThaw and poweroff routines are missing for spear-keyboard. They are\nrequired for:\n- Error case scenarios during freeze\n- Using test features, of hibernate.\n\nSigned-off-by: Viresh Kumar \u003cviresh.kumar@st.com\u003e\nSigned-off-by: Rajeev Kumar \u003crajeev-dlh.kumar@st.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "f8354c60ca2212810c168d8f992559226c8c0e71",
      "tree": "a9d8d77c9e6c7e76fa982c757e0eb82d98024998",
      "parents": [
        "5e238b548aac6227ce296d41364a3f7b10caff44"
      ],
      "author": {
        "name": "Rajeev Kumar",
        "email": "rajeev-dlh.kumar@st.com",
        "time": "Fri Feb 24 00:51:40 2012 -0800"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue Feb 28 01:18:32 2012 -0800"
      },
      "message": "Input: spear-keyboard - configure device according to supplied mode\n\nLet platform pass mode information to keyboard driver according to which\nit configures itself. The mode can be\n - KEYPAD_9x9     0\n - KEYPAD_6x6     1\n - KEYPAD_2x2     2\n\nSigned-off-by: Rajeev Kumar \u003crajeev-dlh.kumar@st.com\u003e\nSigned-off-by: Viresh Kumar \u003cviresh.kumar@st.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "31c150a11c867da233a7b5e13b45bcbd3a796bde",
      "tree": "58202fc8e93833f3ea3e52f9cb0093e61265d73d",
      "parents": [
        "4554c135a0a017f4cd96f7c0612cb7ca78c68d08",
        "82b982c9a697e7be0745523a53334fe38a4582c8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 04 10:57:42 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 04 10:57:42 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:\n  Input: i8042 - add Lenovo Ideapad U455 to \u0027reset\u0027 blacklist\n  Input: serio_raw - return proper result when serio_raw_read fails\n  Input: document device properties\n  Input: twl4030_keypad - fix comment (trivial)\n  Input: gpio_keys - fix struct device declared inside parameter list\n  Input: evdev - fix variable initialisation\n"
    },
    {
      "commit": "023cea0ecfa2df034096c3f4afa796a0b2d1188a",
      "tree": "5a17176ee7f8cfe276dc79c9d15601aebb47a73f",
      "parents": [
        "8491ee1093c476ea3a9a19ab8593d8531cab40f7"
      ],
      "author": {
        "name": "Shridhar Rasal",
        "email": "srasal@nvidia.com",
        "time": "Fri Feb 03 00:27:30 2012 -0800"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Fri Feb 03 00:29:06 2012 -0800"
      },
      "message": "Input: tegra-kbc - allow skipping setting up some of GPIO pins\n\nAllow marking some of GPIO pins as ignored to to avoid continuously\ngenerating KBC input events.\n\nSigned-off-by: Shridhar Rasal \u003csrasal@nvidia.com\u003e\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "4936f97cbb99c19680ea6a3cc0148ebe51f0eb68",
      "tree": "b584397592116c6a47739682a9b4b9c07a9faa44",
      "parents": [
        "b18db3d91234c03ad080d317878c7c77672ba326"
      ],
      "author": {
        "name": "Felipe Contreras",
        "email": "felipe.contreras@gmail.com",
        "time": "Wed Feb 01 09:12:23 2012 -0800"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Wed Feb 01 09:14:03 2012 -0800"
      },
      "message": "Input: twl4030_keypad - fix comment (trivial)\n\nAnd trivial whitespace fixes.\n\nSigned-off-by: Felipe Contreras \u003cfelipe.contreras@gmail.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "b6834b02e476ff0e99b6814665839e37affa31f0",
      "tree": "68dade868915a953f5e8fbb73423c110542ee467",
      "parents": [
        "82f6aba8eacf9dec23459832c1a0c789db28faa3"
      ],
      "author": {
        "name": "Rakesh Iyer",
        "email": "riyer@nvidia.com",
        "time": "Sun Jan 22 23:27:54 2012 -0800"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Mon Jan 23 00:02:46 2012 -0800"
      },
      "message": "Input: tegra-kbc - enable key interrupt for wakeup\n\nEnable keypress interrupt to support wakeup from low power state.\n\nSigned-off-by: Rakesh Iyer \u003criyer@nvidia.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "69898e512a4c27017aec43796bef8fe1dd1ec661",
      "tree": "fe0d574d9cbddff98fee925546dff699ade05b8f",
      "parents": [
        "409e15442fc7f7ae9d025f3ea3fdf3c60070314f"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sun Jan 22 23:27:54 2012 -0800"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Mon Jan 23 00:02:36 2012 -0800"
      },
      "message": "Input: samsung-keypad - don\u0027t synchronise with runtime PM put\n\nWe don\u0027t actually care if the device has been runtime suspended immediately\nso we can just drop the reference without waiting for any state change to\nbe implemented. This may allow us to avoid some suspend/resume cycles and\nis a bit more friendly to the rest of the system.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "89f0f170fbec6290637c3172cb08ddf31f211ef0",
      "tree": "c550e3a4ab12dc1d8d832032b40847bbdad6836e",
      "parents": [
        "db3dbd093a7cbb201f169ace35f6cdff562e5a77"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Sun Jan 22 23:27:54 2012 -0800"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Mon Jan 23 00:02:18 2012 -0800"
      },
      "message": "Input: nomadik-ske-keypad - convert to using SIMPLE_DEV_PM_OPS\n\nAlso proper guard for system suspend/resume methods is CONFIG_PM_SLEEP,\nnot CONFIG_PM.\n\nAcked-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "db3dbd093a7cbb201f169ace35f6cdff562e5a77",
      "tree": "2b2d30e3cad8c9d5bb6c3bde120982ef686b5fae",
      "parents": [
        "dab78d7924598ea4031663dd10db814e2e324928"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Sun Jan 22 23:27:29 2012 -0800"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Mon Jan 23 00:02:12 2012 -0800"
      },
      "message": "Input: nomadik-ske-keypad - do not assign driver\u0027s probe() method\n\nBecause we are using platform_device_probe() to register the driver\nwe do not need to assign driver\u0027s probe method. We also can mark\nske_keypad_probe(), together with ske_keypad_chip_init(), as __init\ninstead of __devinit.\n\nAcked-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "2485a4b610171f4e1c4ab0d053569747795c1bbe",
      "tree": "1a4532e447c2640bc1378e25e1ead9a7ba7847a5",
      "parents": [
        "6733e54b669c600eb8e451939ad55130db664fed",
        "52965cc012f7a3cf35f06485ec275ebf3b3fddae"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 12:40:41 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 12:40:41 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:\n  Input: bcm5974 - set BUTTONPAD property\n  Input: serio_raw - return proper result when serio_raw_write fails\n  Input: serio_raw - really signal HUP upon disconnect\n  Input: serio_raw - remove stray semicolon\n  Input: revert some over-zealous conversions to module_platform_driver()\n"
    },
    {
      "commit": "d3d25808df236f27ba34125e7cf90de98fbf346c",
      "tree": "41101bbce35363c62749f547b32001842589800d",
      "parents": [
        "da733563be5a9da26fe81d9f007262d00b846e22"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue Jan 10 15:08:01 2012 -0800"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue Jan 10 23:12:46 2012 -0800"
      },
      "message": "Input: revert some over-zealous conversions to module_platform_driver()\n\nRecent conversion to module_platform_driver() went a bit too far and\nconverted not only drivers that used platform_driver_register() but\nalso ones using platform_driver_probe(), breaking them in process.\n\nReported-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    }
  ],
  "next": "dbe950f201a8edd353b0bd9079e8d536ee4ce37c"
}
