)]}'
{
  "log": [
    {
      "commit": "b45440c33a0bdd824b98e4a4c56767c50d3275eb",
      "tree": "d4e32150e6de2dd614cd688d22d1371bcc653431",
      "parents": [
        "848369926693778cd0f31bfca7fb951164715b4f"
      ],
      "author": {
        "name": "Ben Dooks",
        "email": "ben@simtec.co.uk",
        "time": "Mon Nov 02 16:52:30 2009 +0000"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Sun Dec 13 19:21:36 2009 +0100"
      },
      "message": "mfd: Allow configuration of VDCDC2 for tps65010\n\nAdd function to allow the configuation fo the VDCDC2 register by\nexternal users, to allow changing of the standard and low-power\nrunning modes.\n\nThis is needed, for example, for the Simtec IM2440D20 where we need\nto use the low-power mode to shutdown the LDO/DCDC that are not needed\nduring suspend (saving substantial power) and the runtime use of the\nlow-power mode to change VCore.\n\nSigned-off-by: Ben Dooks \u003cben@simtec.co.uk\u003e\nSigned-off-by: Simtec Linux Team \u003clinux@simtec.co.uk\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "848369926693778cd0f31bfca7fb951164715b4f",
      "tree": "33b07b0537fc275ec2eada68c6902219966dfbee",
      "parents": [
        "38a684963f619eb9117cb898b92bde92cdd09127"
      ],
      "author": {
        "name": "Ben Dooks",
        "email": "ben@simtec.co.uk",
        "time": "Mon Nov 02 16:52:20 2009 +0000"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Sun Dec 13 19:21:34 2009 +0100"
      },
      "message": "mfd: Allow the board to choose any GPIO base for tps65010\n\nIf the board does not care where the TPS turns up, then specifiying the\nvalue -1 to get gpiolib to dynamically allocate the base for the chip\nis valid.\n\nChange the test to look for !\u003d 0, so that any boards specifying zero\nwill not end up with gpio that they didn\u0027t want.\n\nSigned-off-by: Ben Dooks \u003cben@simtec.co.uk\u003e\nSigned-off-by: Simtec Liunx Team \u003clinux@simtec.co.uk\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "87c13493e6a59c0da55c2824f0205f9ef941b760",
      "tree": "e18146c62399a0195be0bb8e6f215dc102c4df7a",
      "parents": [
        "0931a4c6dbfab03f2bfd22a9170130f7b155d53a"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Mon Dec 22 12:16:27 2008 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "samuel@sortiz.org",
        "time": "Sun Jan 04 12:17:43 2009 +0100"
      },
      "message": "mfd: move drivers/i2c/chips/tps65010.c to drivers/mfd\n\nMove the tps65010 driver from drivers/i2c/chips to drivers/mfd\nsince it\u0027s more of a multi-function device than anything else,\nand since Jean is trying to vanish drivers/i2c/chips ASAP.\n\nOne way to think of these chips are as the PMIC family most\nused with OMAP1 generation chips.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@openedhand.com\u003e\n"
    },
    {
      "commit": "b84ee0b0c7dc91b729672e6a971fe3b0629ef0ad",
      "tree": "486494cdb58cdef1a73d908acb548a7e7fcccc40",
      "parents": [
        "b806a71a0e9dacb6763371561caa693c78b93d40"
      ],
      "author": {
        "name": "Marek Vasut",
        "email": "marek.vasut@gmail.com",
        "time": "Tue Oct 14 17:30:04 2008 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@mahadeva.delvare",
        "time": "Tue Oct 14 17:30:04 2008 +0200"
      },
      "message": "i2c/tps65010: Vibrator hookup to gpiolib\n\nAll the tps6501{0,1,2,3,4} chips have a signal for hooking up with\na vibrator (for non-auditory cell phone \"ring\") ... expose that as\none more (output-only) GPIO.\n\n[ dbrownell@users.sourceforge.net: comments; list tps65014 too ]\n\nSigned-off-by: Marek Vasut \u003cmarek.vasut@gmail.com\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "d8f388d8dc8d4f36539dd37c1fff62cc404ea0fc",
      "tree": "df8603775c889f29f8a03c77b9f7913bfd90d296",
      "parents": [
        "8b6dd986823a8d92ed9f54baa5cef8604d9d9d44"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Fri Jul 25 01:46:07 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:30 2008 -0700"
      },
      "message": "gpio: sysfs interface\n\nThis adds a simple sysfs interface for GPIOs.\n\n    /sys/class/gpio\n    \t/export ... asks the kernel to export a GPIO to userspace\n    \t/unexport ... to return a GPIO to the kernel\n        /gpioN ... for each exported GPIO #N\n\t    /value ... always readable, writes fail for input GPIOs\n\t    /direction ... r/w as: in, out (default low); write high, low\n\t/gpiochipN ... for each gpiochip; #N is its first GPIO\n\t    /base ... (r/o) same as N\n\t    /label ... (r/o) descriptive, not necessarily unique\n\t    /ngpio ... (r/o) number of GPIOs; numbered N .. N+(ngpio - 1)\n\nGPIOs claimed by kernel code may be exported by its owner using a new\ngpio_export() call, which should be most useful for driver debugging.\nSuch exports may optionally be done without a \"direction\" attribute.\n\nUserspace may ask to take over a GPIO by writing to a sysfs control file,\nhelping to cope with incomplete board support or other \"one-off\"\nrequirements that don\u0027t merit full kernel support:\n\n  echo 23 \u003e /sys/class/gpio/export\n\t... will gpio_request(23, \"sysfs\") and gpio_export(23);\n\tuse /sys/class/gpio/gpio-23/direction to (re)configure it,\n\twhen that GPIO can be used as both input and output.\n  echo 23 \u003e /sys/class/gpio/unexport\n\t... will gpio_free(23), when it was exported as above\n\nThe extra D-space footprint is a few hundred bytes, except for the sysfs\nresources associated with each exported GPIO.  The additional I-space\nfootprint is about two thirds of the current size of gpiolib (!).  Since\nno /dev node creation is involved, no \"udev\" support is needed.\n\nRelated changes:\n\n  * This adds a device pointer to \"struct gpio_chip\".  When GPIO\n    providers initialize that, sysfs gpio class devices become children of\n    that device instead of being \"virtual\" devices.\n\n  * The (few) gpio_chip providers which have such a device node have\n    been updated.\n\n  * Some gpio_chip drivers also needed to update their module \"owner\"\n    field ...  for which missing kerneldoc was added.\n\n  * Some gpio_chips don\u0027t support input GPIOs.  Those GPIOs are now\n    flagged appropriately when the chip is registered.\n\nBased on previous patches, and discussion both on and off LKML.\n\nA Documentation/ABI/testing/sysfs-gpio update is ready to submit once this\nmerges to mainline.\n\n[akpm@linux-foundation.org: a few maintenance build fixes]\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Guennadi Liakhovetski \u003cg.liakhovetski@pengutronix.de\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3760f736716f74bdc62a4ba5406934338da93eb2",
      "tree": "e28e22c6655dd62566f1b7a99f9354a31bf9d06e",
      "parents": [
        "d2653e92732bd3911feff6bee5e23dbf959381db"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Tue Apr 29 23:11:40 2008 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@hyperion.delvare",
        "time": "Tue Apr 29 23:11:40 2008 +0200"
      },
      "message": "i2c: Convert most new-style drivers to use module aliasing\n\nBased on earlier work by Jon Smirl and Jochen Friedrich.\n\nUpdate most new-style i2c drivers to use standard module aliasing\ninstead of the old driver_name/type driver matching scheme. I\u0027ve\nleft the video drivers apart (except for SoC camera drivers) as\nthey\u0027re a bit more diffcult to deal with, they\u0027ll have their own\npatch later.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Jon Smirl \u003cjonsmirl@gmail.com\u003e\nCc: Jochen Friedrich \u003cjochen@scram.de\u003e\n"
    },
    {
      "commit": "d2653e92732bd3911feff6bee5e23dbf959381db",
      "tree": "fd3a413bc150855a09de29b2d253b7dbeb2705ff",
      "parents": [
        "ee56d977423a58b53fd0fc1ef0aca0c9cb564c53"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Tue Apr 29 23:11:39 2008 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@hyperion.delvare",
        "time": "Tue Apr 29 23:11:39 2008 +0200"
      },
      "message": "i2c: Add support for device alias names\n\nBased on earlier work by Jon Smirl and Jochen Friedrich.\n\nThis patch allows new-style i2c chip drivers to have alias names using\nthe official kernel aliasing system and MODULE_DEVICE_TABLE(). At this\npoint, the old i2c driver binding scheme (driver_name/type) is still\nsupported.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Jochen Friedrich \u003cjochen@scram.de\u003e\nCc: Jon Smirl \u003cjonsmirl@gmail.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\n"
    },
    {
      "commit": "6d072d78f87e8fe0fe30d096991b83af07f8bdfe",
      "tree": "5af6f58271aa711a2f8480f1e7449657ebc55204",
      "parents": [
        "1842cc2eeb345c4eef069ffd46e95359fb37b4b5"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Tue Apr 29 23:11:38 2008 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@hyperion.delvare",
        "time": "Tue Apr 29 23:11:38 2008 +0200"
      },
      "message": "i2c/tps65010: Add missing intialization of client data\n\ntps65010_remove() calls i2c_get_clientdata(client) but the client data\nis never set during initialization, so it gets a NULL pointer at best.\n\nI guess it was never spotted because the tps65010 driver is typically\nnot built modular so this function is discarded.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\n"
    },
    {
      "commit": "79966fd9b4781f9bd257312489ff511f2c01f210",
      "tree": "43ed798fcb5dabdb334f5a00f173d0a5fccf4be9",
      "parents": [
        "ac37a0b0ba7e8a6afce8db3f6c3367a3cfedad26"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Thu Feb 28 22:07:28 2008 -0800"
      },
      "committer": {
        "name": "Tony Lindgren",
        "email": "tony@atomide.com",
        "time": "Mon Apr 14 09:57:06 2008 -0700"
      },
      "message": "ARM: OMAP: I2C: tps65010 driver converts to gpiolib\n\nMake the tps65010 driver use gpiolib to expose its GPIOs.\n\nNote: This patch will get merged via omap tree instead of I2C\nas it will cause some board updates. This has been discussed\nat on the I2C list:\n\nhttp://lists.lm-sensors.org/pipermail/i2c/2008-March/003031.html\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: i2c@lm-sensors.org\nSigned-off-by: Tony Lindgren \u003ctony@atomide.com\u003e\n\n\n"
    },
    {
      "commit": "6d16bfb5e81d3925a7efb38b5cc3e0021b57d03a",
      "tree": "deb1d0de0cc09b0d9cd6a4e1f5440677b5a8b81d",
      "parents": [
        "caada32afe0d181b1dc36ab3fc29628582776e09"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Sun Jan 27 18:14:49 2008 +0100"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@hyperion.delvare",
        "time": "Sun Jan 27 18:14:49 2008 +0100"
      },
      "message": "i2c/tps65010: move header to \u003clinux/i2c/...\u003e\n\nMove the tps65010 header file from the OMAP arch directory to the\nmore generic \u003clinux/i2c/...\u003e directory, and remove the spurious\ndependency of this driver on OMAP.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "8056c6cb2bb1632aa9221dce0e43a61db37b420f",
      "tree": "4ca321bba9db87c80c77f841c9a52c456be63aa5",
      "parents": [
        "b5067f8ff37ed6cfa024170a9819bb09d55e9c1f"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Sat Oct 13 23:56:30 2007 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@hyperion.delvare",
        "time": "Sat Oct 13 23:56:30 2007 +0200"
      },
      "message": "i2c/tps65010: New-style driver updates, part 2\n\nSwitch the tps65010 driver into a \"new-style\" I2C driver, and convert all\nof its in-tree users (board support for OSK, H2, H3) accordingly.\n\nThat accounts for most of the board-specific code in this driver; the\nrest of that code is now moved into board-specific initcalls.\n\nAlso remove some of the many now-superfluous #includes.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "b5067f8ff37ed6cfa024170a9819bb09d55e9c1f",
      "tree": "c76f4958178cb069b95243942b3dc050997cc902",
      "parents": [
        "83eaaed0d00c4c8e3081dc29286910899fed3182"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Sat Oct 13 23:56:30 2007 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@hyperion.delvare",
        "time": "Sat Oct 13 23:56:30 2007 +0200"
      },
      "message": "i2c/tps65010: New-style driver updates, part 1\n\nPrepare to convert tps65010 driver to \"new style\" driver by changing\nhow it references the i2c_client.  This lets the eventual patch with\ndriver and platform updates be smaller.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "b0cb1a19d05b8ea8611a9ef48a17fe417f1832e6",
      "tree": "895fe53e8dc4fc59d05b963ac079f6ff759ad0fb",
      "parents": [
        "6c8dca5d53f95009d4fff00195bf38f277dc4366"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Jul 29 23:24:36 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Jul 29 16:45:38 2007 -0700"
      },
      "message": "Replace CONFIG_SOFTWARE_SUSPEND with CONFIG_HIBERNATION\n\nReplace CONFIG_SOFTWARE_SUSPEND with CONFIG_HIBERNATION to avoid\nconfusion (among other things, with CONFIG_SUSPEND introduced in the\nnext patch).\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a3d25c275d383975504dc53c25b691df59bd3c48",
      "tree": "161a2ae12a20a630c2f639e144872db2b92eb098",
      "parents": [
        "d60846c4d16f9518b098b905af2b87cb6bf6dc42"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed May 09 02:33:18 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:48 2007 -0700"
      },
      "message": "PM: Separate hibernation code from suspend code\n\n[ With Johannes Berg \u003cjohannes@sipsolutions.net\u003e ]\n\nSeparate the hibernation (aka suspend to disk code) from the other suspend\ncode.  In particular:\n\n * Remove the definitions related to hibernation from include/linux/pm.h\n * Introduce struct hibernation_ops and a new hibernate() function to hibernate\n   the system, defined in include/linux/suspend.h\n * Separate suspend code in kernel/power/main.c from hibernation-related code\n   in kernel/power/disk.c and kernel/power/user.c (with the help of\n   hibernation_ops)\n * Switch ACPI (the only user of pm_ops.pm_disk_mode) to hibernation_ops\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Nigel Cunningham \u003cnigel@nigel.suspend2.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ab3bfca7abf3fd0fe41d26d839610a787aa7e587",
      "tree": "e62e58beaf9d22d4156b27d4523c3728bf5769bc",
      "parents": [
        "b1296cc48b39355241470ef934a5e2270e3f23bd"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sun May 06 14:50:49 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:59 2007 -0700"
      },
      "message": "remove software_suspend()\n\nRemove software_suspend() and all its users since\npm_suspend(PM_SUSPEND_DISK) should be equivalent and there\u0027s no point in\nhaving two interfaces for the same thing.\n\nThe patch also changes the valid_state function to return 0 (false) for\nPM_SUSPEND_DISK when SOFTWARE_SUSPEND is not configured instead of\naccepting it and having the whole thing fail later.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2b8693c0617e972fc0b2fd1ebf8de97e15b656c3",
      "tree": "3eb7dfbc8d5e4031e4992bdd566e211f5ada71f3",
      "parents": [
        "5dfe4c964a0dd7bb3a1d64a4166835a153146207"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Feb 12 00:55:32 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:45 2007 -0800"
      },
      "message": "[PATCH] mark struct file_operations const 3\n\nMany struct file_operations in the kernel can be \"const\".  Marking them const\nmoves these to the .rodata section, which avoids false sharing with potential\ndirty data.  In addition it\u0027ll catch accidental writes at compile time to\nthese shared resources.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8c1bc04e793a7ff4004180aa42890c3d382ec87f",
      "tree": "997652e60f0c99ca16b057241876ee35cfc77629",
      "parents": [
        "05b3e0c2c791a70bf0735aaec53cdf6d340eef85"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Wed Dec 13 00:33:46 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 13 09:05:46 2006 -0800"
      },
      "message": "[PATCH] fix more workqueue build breakage (tps65010)\n\nMore fixes to build breakage from the work_struct changes ...  this updates\nthe tps65010 driver.  Plus, fix some dependencies related to the way it\u0027s\nused on the OMAP OSK: force static linking there, since the resulting\nkernel can\u0027t link.\n\nNOTE that until the i2c core gets fixed to work without SMBUS_QUICK,\nkernels needing this driver must still use \"tps65010.force\u003d0,0x48\" on the\ncommand line.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7d12e780e003f93433d49ce78cfedf4b4c52adc5",
      "tree": "6748550400445c11a306b132009f3001e3525df8",
      "parents": [
        "da482792a6d1a3fbaaa25fae867b343fb4db3246"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Oct 05 14:55:46 2006 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@warthog.cambridge.redhat.com",
        "time": "Thu Oct 05 15:10:12 2006 +0100"
      },
      "message": "IRQ: Maintain regs pointer globally rather than passing to IRQ handlers\n\nMaintain a per-CPU global \"struct pt_regs *\" variable which can be used instead\nof passing regs around manually through all ~1800 interrupt handlers in the\nLinux kernel.\n\nThe regs pointer is used in few places, but it potentially costs both stack\nspace and code to pass it around.  On the FRV arch, removing the regs parameter\nfrom all the genirq function results in a 20% speed up of the IRQ exit path\n(ie: from leaving timer_interrupt() to leaving do_IRQ()).\n\nWhere appropriate, an arch may override the generic storage facility and do\nsomething different with the variable.  On FRV, for instance, the address is\nmaintained in GR28 at all times inside the kernel as part of general exception\nhandling.\n\nHaving looked over the code, it appears that the parameter may be handed down\nthrough up to twenty or so layers of functions.  Consider a USB character\ndevice attached to a USB hub, attached to a USB controller that posts its\ninterrupts through a cascaded auxiliary interrupt controller.  A character\ndevice driver may want to pass regs to the sysrq handler through the input\nlayer which adds another few layers of parameter passing.\n\nI\u0027ve build this code with allyesconfig for x86_64 and i386.  I\u0027ve runtested the\nmain part of the code on FRV and i386, though I can\u0027t test most of the drivers.\nI\u0027ve also done partial conversion for powerpc and MIPS - these at least compile\nwith minimal configurations.\n\nThis will affect all archs.  Mostly the changes should be relatively easy.\nTake do_IRQ(), store the regs pointer at the beginning, saving the old one:\n\n\tstruct pt_regs *old_regs \u003d set_irq_regs(regs);\n\nAnd put the old one back at the end:\n\n\tset_irq_regs(old_regs);\n\nDon\u0027t pass regs through to generic_handle_irq() or __do_IRQ().\n\nIn timer_interrupt(), this sort of change will be necessary:\n\n\t-\tupdate_process_times(user_mode(regs));\n\t-\tprofile_tick(CPU_PROFILING, regs);\n\t+\tupdate_process_times(user_mode(get_irq_regs()));\n\t+\tprofile_tick(CPU_PROFILING);\n\nI\u0027d like to move update_process_times()\u0027s use of get_irq_regs() into itself,\nexcept that i386, alone of the archs, uses something other than user_mode().\n\nSome notes on the interrupt handling in the drivers:\n\n (*) input_dev() is now gone entirely.  The regs pointer is no longer stored in\n     the input_dev struct.\n\n (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking.  It does\n     something different depending on whether it\u0027s been supplied with a regs\n     pointer or not.\n\n (*) Various IRQ handler function pointers have been moved to type\n     irq_handler_t.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n(cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)\n"
    },
    {
      "commit": "8e18e2941c53416aa219708e7dcad21fb4bd6794",
      "tree": "44118f8b09556193ac93e0b71aecfa3e1d4bc182",
      "parents": [
        "6a1d9805ec506d8b9d04450997707da5f643d87c"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Sep 27 01:50:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:17 2006 -0700"
      },
      "message": "[PATCH] inode_diet: Replace inode.u.generic_ip with inode.i_private\n\nThe following patches reduce the size of the VFS inode structure by 28 bytes\non a UP x86.  (It would be more on an x86_64 system).  This is a 10% reduction\nin the inode size on a UP kernel that is configured in a production mode\n(i.e., with no spinlock or other debugging functions enabled; if you want to\nsave memory taken up by in-core inodes, the first thing you should do is\ndisable the debugging options; they are responsible for a huge amount of bloat\nin the VFS inode structure).\n\nThis patch:\n\nThe filesystem or device-specific pointer in the inode is inside a union,\nwhich is pretty pointless given that all 30+ users of this field have been\nusing the void pointer.  Get rid of the union and rename it to i_private, with\na comment to explain who is allowed to use the void pointer.  This is just a\ncleanup, but it allows us to reuse the union \u0027u\u0027 for something something where\nthe union will actually be used.\n\n[judith@osdl.org: powerpc build fix]\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Judith Lebzelter \u003cjudith@osdl.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4801bc25f37a969ea773c24d12fd4738541848a1",
      "tree": "95e9c36770d255dbf5f78515abda64ca91d0a1f3",
      "parents": [
        "f834c755423332a6ff4397fae754029a6a7a8249"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Fri Aug 11 22:53:08 2006 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Aug 26 13:05:12 2006 -0700"
      },
      "message": "[PATCH] i2c: tps65010 build fixes\n\nThe tps65010.c driver in the main tree never got updated with\nbuild fixes since the last batch of I2C driver changes; and the\ngenirq trigger flags were updated wierdly too.\n\nThis also includes a minor tweak to reduce the frequency used to\npoll for unplug-the-AC-power on the TPS chips that don\u0027t provide\nrelevant IRQs.  It _would_ be nice to sense whether there\u0027s even\na battery, but that\u0027d normally be an HDQ/1-wire interface to a\nsmart battery, and such APIs aren\u0027t standardized.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "dace145374b8e39aeb920304c358ab5e220341ab",
      "tree": "e37c76578468f489ce2dbec4d04400380c14ee14",
      "parents": [
        "8076fe32a7db9a6628589ffa372808e4ba25d222"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Jul 01 19:29:38 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jul 02 13:58:50 2006 -0700"
      },
      "message": "[PATCH] irq-flags: misc drivers: Use the new IRQF_ constants\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6ab3d5624e172c553004ecc862bfeac16d9d68b7",
      "tree": "6d98881fe91fd9583c109208d5c27131b93fa248",
      "parents": [
        "e02169b682bc448ccdc819dc8639ed34a23cedd8"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "message": "Remove obsolete #include \u003clinux/config.h\u003e\n\nSigned-off-by: Jörn Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "5c085d369c2c4f18942ec8951466e186366d5c78",
      "tree": "22ca525700049a402281a0503b07db0645075f58",
      "parents": [
        "7656032b904b936eca65a41afa1f2b3603195657"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 18 23:16:04 2006 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Mar 23 14:21:51 2006 -0800"
      },
      "message": "[PATCH] i2c: Semaphore to mutex conversions, part 2\n\nsemaphore to mutex conversion.\n\nthe conversion was generated via scripts, and the result was validated\nautomatically via a script as well.\n\nbuild tested.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "9ded96f24c3a5fcbef954e88c443385a1af37eb9",
      "tree": "49f43337e2b8d63a5a28402a15d99fe27d8d2a1c",
      "parents": [
        "705b6c7b34f2621f95f606d0e683daa10cdb8eb9"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+lkml@arm.linux.org.uk",
        "time": "Sun Jan 08 01:02:07 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:46 2006 -0800"
      },
      "message": "[PATCH] IRQ type flags\n\nSome ARM platforms have the ability to program the interrupt controller to\ndetect various interrupt edges and/or levels.  For some platforms, this is\ncritical to setup correctly, particularly those which the setting is dependent\non the device.\n\nCurrently, ARM drivers do (eg) the following:\n\n\terr \u003d request_irq(irq, ...);\n\n\tset_irq_type(irq, IRQT_RISING);\n\nHowever, if the interrupt has previously been programmed to be level sensitive\n(for whatever reason) then this will cause an interrupt storm.\n\nHence, if we combine set_irq_type() with request_irq(), we can then safely set\nthe type prior to unmasking the interrupt.  The unfortunate problem is that in\norder to support this, these flags need to be visible outside of the ARM\narchitecture - drivers such as smc91x need these flags and they\u0027re\ncross-architecture.\n\nFinally, the SA_TRIGGER_* flag passed to request_irq() should reflect the\nproperty that the device would like.  The IRQ controller code should do its\nbest to select the most appropriate supported mode.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2b48716d1d2f2edb1e7cbc5ecf1cb2cb39373e33",
      "tree": "04c095d45dfa892b7710e338724a1ac4f1da7cba",
      "parents": [
        "de59cf9ed44f64991e52a9de6094729537f0420c"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Dec 06 15:33:15 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 05 22:16:25 2006 -0800"
      },
      "message": "[PATCH] I2C: Remove .owner setting from i2c_driver as it\u0027s no longer needed\n\nNow that i2c_add_driver() doesn\u0027t need the module owner to be set by\nhand, we can delete it from the drivers.  This patch catches all of the\ndrivers that I found in the current tree (if a driver sets the .owner by\nhand, it\u0027s not a problem, just not needed.)\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "a9718b0c1154dcbd955be6aaee47a314cde6a25a",
      "tree": "5bc275f56d94649477e24f5d2ac03d211a41723f",
      "parents": [
        "35d8b2e6b8e86b0d5126f36613b5202d4eb978b6"
      ],
      "author": {
        "name": "Laurent Riffard",
        "email": "laurent.riffard@free.fr",
        "time": "Sat Nov 26 20:36:00 2005 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 05 22:16:23 2006 -0800"
      },
      "message": "[PATCH] i2c: Drop i2c_driver.{owner,name}, 2 of 11\n\nWe should use the i2c_driver.driver\u0027s .name and .owner fields\ninstead of the i2c_driver\u0027s ones.\n\nThis patch updates the miscellaneaous i2c chip drivers.\n\nSigned-off-by: Laurent Riffard \u003claurent.riffard@free.fr\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "8a9947552d43b0d20d5fa23ac0ba435d526be454",
      "tree": "086844a62f549e488ebeecc196e1d4726a1d4598",
      "parents": [
        "ff179c8cf5caa17bf3d407edbb5872aa2eee6900"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sat Nov 26 20:28:06 2005 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 05 22:16:21 2006 -0800"
      },
      "message": "[PATCH] i2c: Drop i2c_driver.flags, 2 of 3\n\nJust about every i2c chip driver sets the I2C_DF_NOTIFY flag, so we\ncan simply make it the default and drop the flag. If any driver really\ndoesn\u0027t want to be notified when i2c adapters are added, that driver\ncan simply omit to set .attach_adapter. This approach is also more\nrobust as it prevents accidental NULL pointer dereferences.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "5263ebb51eb098b01caf229498c954999117e4a7",
      "tree": "f18933c0b38a51ba9f100e7be4f5f5d54838cf45",
      "parents": [
        "ba9c2e8d15da029ea3051c95e446b2d638ef02e2"
      ],
      "author": {
        "name": "Deepak Saxena",
        "email": "dsaxena@plexity.net",
        "time": "Mon Oct 17 23:09:43 2005 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 28 14:02:12 2005 -0700"
      },
      "message": "[PATCH] i2c: kzalloc conversion, other drivers\n\nUse kzalloc instead of kmalloc+memset in all remaining i2c bus and\nchip drivers.\n\nSigned-off-by: Deepak Saxena \u003cdsaxena@plexity.net\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "65fc50e50ff9f8b82c3756eccd7e7db6a267ffe9",
      "tree": "b78c1f954841ceb64732ebf355dc070b5ce79094",
      "parents": [
        "6328c0e163abfce679b1beffb166f72900bf0a22"
      ],
      "author": {
        "name": "david-b@pacbell.net",
        "email": "david-b@pacbell.net",
        "time": "Wed Jun 29 07:13:00 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 11 14:10:36 2005 -0700"
      },
      "message": "[PATCH] I2C: minor TPS6501x cleanups\n\nThis includes various small cleanups and fixes to the TPS 6501x driver that\ncame mostly from review feedback by Jean Delvare; thanks Jean!  Also some\ngoofy whitespace gets fixed.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "72cd799544f2b36c2f07ceaeed6d984cb130d4f3",
      "tree": "ee3f0696bd3b9b09af8f09f449eeac6c0eb3cac5",
      "parents": [
        "cc0b07ed479fd92806aef7d6dbc58b6dc6da3796"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Tue May 24 17:34:51 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jun 21 21:52:01 2005 -0700"
      },
      "message": "[PATCH] I2C: add i2c driver for TPS6501x\n\nThis adds an I2C driver for the TPS6501x series of power management chips.\nIt\u0027s used on many OMAP based boards, and this driver has been widely used\nin the Linux-OMAP trees over the last year or so.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    }
  ]
}
