)]}'
{
  "log": [
    {
      "commit": "6e9624b8caec290d28b4c6d9ec75749df6372b87",
      "tree": "47225b544e1da82742795553dc4e8aa70c17afdc",
      "parents": [
        "8a6cfeb6deca3a8fefd639d898b0d163c0b5d368"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sat Aug 07 18:25:34 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Aug 07 18:25:34 2010 +0200"
      },
      "message": "block: push down BKL into .open and .release\n\nThe open and release block_device_operations are currently\ncalled with the BKL held. In order to change that, we must\nfirst make sure that all drivers that currently rely\non this have no regressions.\n\nThis blindly pushes the BKL into all .open and .release\noperations for all block drivers to prepare for the\nnext step. The drivers can subsequently replace the BKL\nwith their own locks or remove it completely when it can\nbe shown that it is not needed.\n\nThe functions blkdev_get and blkdev_put are the only\nremaining users of the big kernel lock in the block\nlayer, besides a few uses in the ioctl code, none\nof which need to serialize with blkdev_{get,put}.\n\nMost of these two functions is also under the protection\nof bdev-\u003ebd_mutex, including the actual calls to\n-\u003eopen and -\u003erelease, and the common code does not\naccess any global data structures that need the BKL.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "00fff26539bfe3fad21c164fc4002d9ede056fb0",
      "tree": "4909c8eed03133b1d46f689e465ed1f579b8e282",
      "parents": [
        "afc23068103ccfbf1917eb2a007bc15ab5418cc9"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Sat Jul 03 17:45:40 2010 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Aug 07 18:24:15 2010 +0200"
      },
      "message": "block: remove q-\u003eprepare_flush_fn completely\n\nThis removes q-\u003eprepare_flush_fn completely (changes the\nblk_queue_ordered API).\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "33659ebbae262228eef4e0fe990f393d1f0ed941",
      "tree": "fcb537f09359c8dad3a6f6e16dc4319562dc42cc",
      "parents": [
        "7e005f79791dcd58436c88ded4a7f5aed1b82147"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sat Aug 07 18:17:56 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Aug 07 18:17:56 2010 +0200"
      },
      "message": "block: remove wrappers for request type/flags\n\nRemove all the trivial wrappers for the cmd_type and cmd_flags fields in\nstruct requests.  This allows much easier grepping for different request\ntypes instead of unwinding through macros.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "318ae2edc3b29216abd8a2510f3f80b764f06858",
      "tree": "ce595adde342f57f379d277b25e4dd206988a052",
      "parents": [
        "25cf84cf377c0aae5dbcf937ea89bc7893db5176",
        "3e58974027b04e84f68b964ef368a6cd758e2f84"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Mar 08 16:55:37 2010 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Mar 08 16:55:37 2010 +0100"
      },
      "message": "Merge branch \u0027for-next\u0027 into for-linus\n\nConflicts:\n\tDocumentation/filesystems/proc.txt\n\tarch/arm/mach-u300/include/mach/debug-macro.S\n\tdrivers/net/qlge/qlge_ethtool.c\n\tdrivers/net/qlge/qlge_main.c\n\tdrivers/net/typhoon.c\n"
    },
    {
      "commit": "8b197a5ce7a7218bb9fc721647ba0d5734f27348",
      "tree": "f5648f421cf7a7959ed04c7f96360c786bbdcb87",
      "parents": [
        "6a2c7eabfd09ca7986bf96b8958a87ca041a19d8"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Mon Feb 08 10:08:39 2010 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 02 14:43:20 2010 -0800"
      },
      "message": "sdio_uart: Use kfifo instead of the messy circ stuff\n\nRevised patch to use the new kfifo API. This replaces the one that was dropped\nfrom -next due to collisions with the kfifo API changes.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "8a78362c4eefc1deddbefe2c7f38aabbc2429d6b",
      "tree": "c095d95af1aec0f9cee5975b1dcdc6bc1d17d401",
      "parents": [
        "086fa5ff0854c676ec333760f4c0154b3b242616"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri Feb 26 00:20:39 2010 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Feb 26 13:58:08 2010 +0100"
      },
      "message": "block: Consolidate phys_segment and hw_segment limits\n\nExcept for SCSI no device drivers distinguish between physical and\nhardware segment limits.  Consolidate the two into a single segment\nlimit.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "086fa5ff0854c676ec333760f4c0154b3b242616",
      "tree": "ee63fb3c7c7d964bd799355b7cde18ba95f91f07",
      "parents": [
        "eb28d31bc97e6374d81f404da309401ffaed467b"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri Feb 26 00:20:38 2010 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Feb 26 13:58:08 2010 +0100"
      },
      "message": "block: Rename blk_queue_max_sectors to blk_queue_max_hw_sectors\n\nThe block layer calling convention is blk_queue_\u003climit name\u003e.\nblk_queue_max_sectors predates this practice, leading to some confusion.\nRename the function to appropriately reflect that its intended use is to\nset max_hw_sectors.\n\nAlso introduce a temporary wrapper for backwards compability.  This can\nbe removed after the merge window is closed.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "c286d03cce118e9fb8dda8da43f9131c169c5a75",
      "tree": "bcc136934c1b3699163a4a59ef64f7849b620ec0",
      "parents": [
        "93716b9470fbfd9efdc7d0f2445cb34635de3f6d"
      ],
      "author": {
        "name": "Johan Kristell",
        "email": "johan.kristell@axis.com",
        "time": "Wed Feb 10 13:56:34 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 11 13:59:42 2010 -0800"
      },
      "message": "mmc_test: block addressed cards\n\nThis patch fixes a bug in the multiblock write tests where the written\ndata is read back for verifying one block at a time.  The tests in\nmmc_test assumes that all cards are byte addressable.\n\nThis will cause the multi block write tests to fail, leading the user of\nthe mmc_test driver thinking there is something wrong with the sdhci\ndriver they are testing.\n\nThe start address for the block is calculated as: blocknum * 512. For\nblock addressable cards the blocknum alone should be used.\n\nSigned-off-by: Johan Kristell \u003cjohan.kristell@axis.com\u003e\nCc: \u003clinux-mmc@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c9404c9c392d557a4687c4cbda022b03cb787ce9",
      "tree": "1633e9e8d6a3f955297affd2c3304bdbb670a73c",
      "parents": [
        "634bad68bc25753816594ecd390dcea980528315"
      ],
      "author": {
        "name": "Adam Buchbinder",
        "email": "adam.buchbinder@gmail.com",
        "time": "Fri Dec 18 15:40:42 2009 -0500"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Feb 05 12:22:30 2010 +0100"
      },
      "message": "Fix misspelling of \"should\" and \"shouldn\u0027t\" in comments.\n\nSome comments misspell \"should\" or \"shouldn\u0027t\"; this fixes them. No code changes.\n\nSigned-off-by: Adam Buchbinder \u003cadam.buchbinder@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "5fa83ce284a4b7cd9dcfadd01500b0ed4ab9b740",
      "tree": "853c2e06c085fba633bcfef2c624a068adf2bbf5",
      "parents": [
        "0a74ff29b8dd8b748f8856352f9a9b5c6cc362cc"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "adrian.hunter@nokia.com",
        "time": "Fri Jan 08 14:43:00 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 11 09:34:06 2010 -0800"
      },
      "message": "mmc_block: fix queue cleanup\n\nThe main bug was that \u0027blk_cleanup_queue()\u0027 was called while the block\ndevice could still be in use, for example, because the card was removed\nwhile files were still open.\n\nIn addition, to be sure that \u0027mmc_request()\u0027 will get called for all new\nrequests (so it can error them out), the queue is emptied during cleanup.\nThis is done after the worker thread is stopped to avoid racing with it.\n\nFinally, it is not a device error for this to be happening, so quiet the\n(sometimes very many) error messages.\n\nSigned-off-by: Adrian Hunter \u003cadrian.hunter@nokia.com\u003e\nCc: \u003clinux-mmc@vger.kernel.org\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0a74ff29b8dd8b748f8856352f9a9b5c6cc362cc",
      "tree": "a99376bf5affbb1a50ba7fde1b4e8a36ce765191",
      "parents": [
        "7d92df692994472cab6045bbd9d0e2c4afa4365f"
      ],
      "author": {
        "name": "Jarkko Lavinen",
        "email": "jarkko.lavinen@nokia.com",
        "time": "Fri Jan 08 14:42:59 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 11 09:34:06 2010 -0800"
      },
      "message": "mmc_block: fix probe error cleanup bug\n\nIf mmc_blk_set_blksize() fails mmc_blk_probe() the request queue and its\nthread have been set up and they need to be shut down properly before\nputting the disk.\n\nSigned-off-by: Jarkko Lavinen \u003cjarkko.lavinen@nokia.com\u003e\nSigned-off-by: Adrian Hunter \u003cadrian.hunter@nokia.com\u003e\nCc: \u003clinux-mmc@vger.kernel.org\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7d92df692994472cab6045bbd9d0e2c4afa4365f",
      "tree": "c3421b6277e337d75bf149c321290f3ab9419d4f",
      "parents": [
        "0a88422312f5bf7b9e3450e27d8ddc385af38789"
      ],
      "author": {
        "name": "Anna Lemehova",
        "email": "EXT-Anna.Lemehova@nokia.com",
        "time": "Fri Jan 08 14:42:58 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 11 09:34:06 2010 -0800"
      },
      "message": "mmc_block: add dev_t initialization check\n\nWhen a card is removed before mmc_blk_probe() has called add_disk(), then\nthe minor field is uninitialized and has value 0.  This caused\nmmc_blk_put() to always release devidx 0 even if 0 was still in use.  Then\nthe next mmc_blk_probe() used the first free idx of 0, which oopses in\nsysfs, since it is used by another card.\n\nSigned-off-by: Anna Lemehova \u003cEXT-Anna.Lemehova@nokia.com\u003e\nSigned-off-by: Adrian Hunter \u003cadrian.hunter@nokia.com\u003e\nCc: \u003clinux-mmc@vger.kernel.org\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1f100b323d19469b06a63ccd6130ed71760145cc",
      "tree": "de475d8906cefed5e8146ad82403e52ed9399a76",
      "parents": [
        "4b3b49bb77eddb540e7c69e2129f5334cf713bf8"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Mon Nov 30 13:16:30 2009 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 15:18:06 2009 -0800"
      },
      "message": "tty: sdio_uart: Fix the locking on \"func\" for new code\n\nThe new dtr_rts function didn\u0027t take the port-\u003efunc lock as it should\nso add use of the lock there.\n\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "4b3b49bb77eddb540e7c69e2129f5334cf713bf8",
      "tree": "415490efdbd059d1e2c7b43546361215697dd55d",
      "parents": [
        "c271cf37ba17631e371c97e2e8c8c353a83793e2"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Mon Nov 30 13:16:36 2009 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 15:18:06 2009 -0800"
      },
      "message": "tty: sdio_uart: add modem functionality\n\nAdd the POSIX block for carrier\n\nLinux TIOCMIWAIT functionality is still lacking from the driver.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "c271cf37ba17631e371c97e2e8c8c353a83793e2",
      "tree": "9b03534304fd169befffd6473630e4d658993bd6",
      "parents": [
        "6238e712aff51ae74177cee5b2a63c0e37044e8f"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Mon Nov 30 13:16:25 2009 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 15:18:06 2009 -0800"
      },
      "message": "tty: sdio_uart: Style fixes\n\nRunning the current code through checkpatch shows a few bits of noise\nmostly but not entirely from before the changes.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "6238e712aff51ae74177cee5b2a63c0e37044e8f",
      "tree": "24170779ab281aa8b438a3147ad052358339c5e9",
      "parents": [
        "584abc3775e76c1a2abe725355915851ed23ed6c"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Mon Nov 30 13:16:14 2009 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 15:18:06 2009 -0800"
      },
      "message": "tty: sdio_uart: Fix termios handling\n\nSwitching between two non standard baud rates fails because of the cflag\ntest. Do as we did elsewhere and just kill the \"optimisation\".\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "584abc3775e76c1a2abe725355915851ed23ed6c",
      "tree": "5808522d561d6529d5b9de2a14f8157d4c033405",
      "parents": [
        "0a68f64febf365313987c570ad59c9069f61306d"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Mon Nov 30 13:16:09 2009 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 15:18:05 2009 -0800"
      },
      "message": "tty: sdio_uart: Switch to the open/close helpers\n\nGets us proper tty semantics, removes some code and fixes up a few corner\ncase races (hangup during open etc)\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "0a68f64febf365313987c570ad59c9069f61306d",
      "tree": "4c0c00f0c6374038eb6a42195e77b2b30411f6bb",
      "parents": [
        "530646f4695b396aeeec2ca912dcc3a9c95e0f52"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Thu Nov 05 13:28:38 2009 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 15:18:05 2009 -0800"
      },
      "message": "sdio_uart: Move the open lock\n\nWhen we move to the tty_port logic the port mutex will protect open v close\nv hangup. Move to this first in the existing open code so we have a bisection\npoint.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "530646f4695b396aeeec2ca912dcc3a9c95e0f52",
      "tree": "497560a2cd9c8d1e6022e0553bf2fe9c794bf95a",
      "parents": [
        "0395b48c78ed822f251ab15d0fbc3ce06f41ffb1"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Thu Nov 05 13:28:29 2009 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 15:18:05 2009 -0800"
      },
      "message": "sdio_uart: refcount the tty objects\n\nThe tty can go away underneath us, so we must refcount it. Do the naïve\nimplementation initially. We will worry about startup shortly.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0395b48c78ed822f251ab15d0fbc3ce06f41ffb1",
      "tree": "9f20b8480ce4fe7ea014367cfc070e888663ec3f",
      "parents": [
        "b5849b1a82853171ce8a35220204f17ec282a9a8"
      ],
      "author": {
        "name": "Nicolas Pitre",
        "email": "nico@fluxnic.net",
        "time": "Thu Nov 05 13:28:17 2009 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 15:18:05 2009 -0800"
      },
      "message": "sdio_uart: Fix oops caused by the previous changeset\n\nNow... testing reveals that the very first patch \"sdio_uart: use\ntty_port\" causes a segmentation fault in sdio_uart_open():\n\nUnable to handle kernel NULL pointer dereference at virtual address 00000084\npgd \u003d dfb44000 [00000084] *pgd\u003d1fb99031, *pte\u003d00000000, *ppte\u003d00000000\nInternal error: Oops: 17 [#1] PREEMPT\nlast sysfs file:\n/sys/devices/platform/mvsdio/mmc_host/mmc0/mmc0:f111/uevent\nModules linked in:\nCPU: 0    Not tainted  (2.6.32-rc5-next-20091102-00001-gb36eae9 #10)\nPC is at sdio_uart_open+0x204/0x2cc\n[...]\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b5849b1a82853171ce8a35220204f17ec282a9a8",
      "tree": "42276bb4b2c2fe5cf7ba241e9ed85acc5b4ea48e",
      "parents": [
        "e707c35cbbe83a016cf0122a29e3a47b5a9e35c4"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Thu Nov 05 13:28:06 2009 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 15:18:05 2009 -0800"
      },
      "message": "sdio_uart: use tty_port\n\nAdd a tty_port object to the sdio uart. For the moment just begin using the\ntty field of the port, as this is the critical one to clean up.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "1e04b7ae709d19d5c9f69c64e1e30253018ce102",
      "tree": "4d7a5544b2f17774b3cc530a928298b7d7e194b6",
      "parents": [
        "94e2bd688820aed72b4f8092f88c2ccf64e003de"
      ],
      "author": {
        "name": "Thadeu Lima de Souza Cascardo",
        "email": "cascardo@holoscopio.com",
        "time": "Thu Oct 15 16:44:00 2009 -0300"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Dec 04 15:39:48 2009 +0100"
      },
      "message": "sdio_uart: coding style fixes\n\nSigned-off-by: Thadeu Lima de Souza Cascardo \u003ccascardo@holoscopio.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "83d5cde47dedf01b6a4a4331882cbc0a7eea3c2e",
      "tree": "f8ba5e263717d35cd444fcc65898d2ed352af1ae",
      "parents": [
        "7b021967c5e1463936042c8da72b550d3cabe9ac"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Sep 21 17:01:13 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:25 2009 -0700"
      },
      "message": "const: make block_device_operations const\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "051913dada046ac948eb6f48c0717fc25de2a917",
      "tree": "ddb00a84cd989614acff2e425f4aba5c23231fd9",
      "parents": [
        "be3f4ae0c0c56aab903aceaceed4b9d8418e180e"
      ],
      "author": {
        "name": "Ben Dooks",
        "email": "ben@simtec.co.uk",
        "time": "Mon Jun 08 23:33:57 2009 +0100"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "pierre@ossman.eu",
        "time": "Sat Jun 13 22:43:01 2009 +0200"
      },
      "message": "mmc_block: do not DMA to stack\n\nIn the write recovery routine, the data to get from the card\nis allocated from the stack. The DMA mapping documentation says\nexplicitly stack memory is not mappable by any of the DMA calls.\n\nChange to using kmalloc() to allocate the memory for the result\nfrom the card and then free it once we\u0027ve finished with the\ntransaction.\n\n[ Changed to GFP_KERNEL allocation - Pierre Ossman ]\n\nSigned-off-by: Ben Dooks \u003cben@simtec.co.uk\u003e\nSigned-off-by: Pierre Ossman \u003cpierre@ossman.eu\u003e\n"
    },
    {
      "commit": "e1defc4ff0cf57aca6c5e3ff99fa503f5943c1f1",
      "tree": "d60d15a082171c58ac811d547d51a9c3119f23e3",
      "parents": [
        "9bd7de51ee8537094656149eaf45338cadb7d7d4"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri May 22 17:17:49 2009 -0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 22 23:22:54 2009 +0200"
      },
      "message": "block: Do away with the notion of hardsect_size\n\nUntil now we have had a 1:1 mapping between storage device physical\nblock size and the logical block sized used when addressing the device.\nWith SATA 4KB drives coming out that will no longer be the case.  The\nsector size will be 4KB but the logical block size will remain\n512-bytes.  Hence we need to distinguish between the physical block size\nand the logical ditto.\n\nThis patch renames hardsect_size to logical_block_size.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e4b636366c00738b9609cda307014d71b1225b7f",
      "tree": "760b67b3624eda62e943e48ce93635c30a5b47bf",
      "parents": [
        "b9ed7252d219c1c663944bf03846eabb515dbe75",
        "279e677faa775ad16e75c32e1bf4a37f8158bc61"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 22 20:25:34 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 22 20:25:34 2009 +0200"
      },
      "message": "Merge branch \u0027master\u0027 into for-2.6.31\n\nConflicts:\n\tdrivers/block/hd.c\n\tdrivers/block/mg_disk.c\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "9934c8c04561413609d2bc38c6b9f268cba774a4",
      "tree": "30dd8f7be54f9b2e03094de9cd03b6a9ee2909cd",
      "parents": [
        "2343046826a8ca426b07601d9593ee046c298b68"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri May 08 11:54:16 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon May 11 09:52:18 2009 +0200"
      },
      "message": "block: implement and enforce request peek/start/fetch\n\nTill now block layer allowed two separate modes of request execution.\nA request is always acquired from the request queue via\nelv_next_request().  After that, drivers are free to either dequeue it\nor process it without dequeueing.  Dequeue allows elv_next_request()\nto return the next request so that multiple requests can be in flight.\n\nExecuting requests without dequeueing has its merits mostly in\nallowing drivers for simpler devices which can\u0027t do sg to deal with\nsegments only without considering request boundary.  However, the\nbenefit this brings is dubious and declining while the cost of the API\nambiguity is increasing.  Segment based drivers are usually for very\nold or limited devices and as converting to dequeueing model isn\u0027t\ndifficult, it doesn\u0027t justify the API overhead it puts on block layer\nand its more modern users.\n\nPrevious patches converted all block low level drivers to dequeueing\nmodel.  This patch completes the API transition by...\n\n* renaming elv_next_request() to blk_peek_request()\n\n* renaming blkdev_dequeue_request() to blk_start_request()\n\n* adding blk_fetch_request() which is combination of peek and start\n\n* disallowing completion of queued (not started) requests\n\n* applying new API to all LLDs\n\nRenamings are for consistency and to break out of tree code so that\nit\u0027s apparent that out of tree drivers need updating.\n\n[ Impact: block request issue API cleanup, no functional change ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Mike Miller \u003cmike.miller@hp.com\u003e\nCc: unsik Kim \u003cdonari75@gmail.com\u003e\nCc: Paul Clements \u003cpaul.clements@steeleye.com\u003e\nCc: Tim Waugh \u003ctim@cyberelk.net\u003e\nCc: Geert Uytterhoeven \u003cGeert.Uytterhoeven@sonycom.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Laurent Vivier \u003cLaurent@lvivier.info\u003e\nCc: Jeff Garzik \u003cjgarzik@pobox.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: Adrian McMenamin \u003cadrian@mcmen.demon.co.uk\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nCc: Borislav Petkov \u003cpetkovbb@googlemail.com\u003e\nCc: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nCc: Alex Dubov \u003coakad@yahoo.com\u003e\nCc: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Markus Lidel \u003cMarkus.Lidel@shadowconnect.com\u003e\nCc: Stefan Weinhuber \u003cwein@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Pete Zaitcev \u003czaitcev@redhat.com\u003e\nCc: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "296b2f6ae654581adc27f0d6f0af454c7f3d06ee",
      "tree": "8fab2b91741336d41e559a839b547d7ac3090524",
      "parents": [
        "fb3ac7f6b811eac8e0aafa3df1c16ed872e898a8"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri May 08 11:54:15 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon May 11 09:52:17 2009 +0200"
      },
      "message": "block: convert to dequeueing model (easy ones)\n\nplat-omap/mailbox, floppy, viocd, mspro_block, i2o_block and\nmmc/card/queue are already pretty close to dequeueing model and can be\nconverted with simple changes.  Convert them.\n\nWhile at it,\n\n* xen-blkfront: !fs check moved downwards to share dequeue call with\n  normal path.\n\n* mspro_block: __blk_end_request(..., blk_rq_cur_byte()) converted to\n  __blk_end_request_cur()\n\n* mmc/card/queue: loop of __blk_end_request() converted to\n  __blk_end_request_all()\n\n[ Impact: dequeue in-flight request ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Alex Dubov \u003coakad@yahoo.com\u003e\nCc: Markus Lidel \u003cMarkus.Lidel@shadowconnect.com\u003e\nCc: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "83096ebf1263b2c1ee5e653ba37d993d02e3eb7b",
      "tree": "2226b71a616ec1cb2d37511c6a09ba9507a1cd69",
      "parents": [
        "5b93629b4509c03ffa87a9316412fedf6f58cb37"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu May 07 22:24:39 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon May 11 09:50:54 2009 +0200"
      },
      "message": "block: convert to pos and nr_sectors accessors\n\nWith recent cleanups, there is no place where low level driver\ndirectly manipulates request fields.  This means that the \u0027hard\u0027\nrequest fields always equal the !hard fields.  Convert all\nrq-\u003esectors, nr_sectors and current_nr_sectors references to\naccessors.\n\nWhile at it, drop superflous blk_rq_pos() \u003c 0 test in swim.c.\n\n[ Impact: use pos and nr_sectors accessors ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Geert Uytterhoeven \u003cGeert.Uytterhoeven@sonycom.com\u003e\nTested-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nAcked-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nTested-by: Adrian McMenamin \u003cadrian@mcmen.demon.co.uk\u003e\nAcked-by: Adrian McMenamin \u003cadrian@mcmen.demon.co.uk\u003e\nAcked-by: Mike Miller \u003cmike.miller@hp.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nCc: Borislav Petkov \u003cpetkovbb@googlemail.com\u003e\nCc: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nCc: Eric Moore \u003cEric.Moore@lsi.com\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Pete Zaitcev \u003czaitcev@redhat.com\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Paul Clements \u003cpaul.clements@steeleye.com\u003e\nCc: Tim Waugh \u003ctim@cyberelk.net\u003e\nCc: Jeff Garzik \u003cjgarzik@pobox.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Alex Dubov \u003coakad@yahoo.com\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Dario Ballabio \u003cballabio_dario@emc.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: unsik Kim \u003cdonari75@gmail.com\u003e\nCc: Laurent Vivier \u003cLaurent@lvivier.info\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "548d2de9bd978a4d4e941477500f1ab97aade137",
      "tree": "28c3464c82296de10737f9174c775ae92a9c2727",
      "parents": [
        "0c8454f56623505a99463405fd7d5664adfbb094"
      ],
      "author": {
        "name": "Pierre Ossman",
        "email": "pierre@ossman.eu",
        "time": "Fri Apr 10 17:52:57 2009 +0200"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "pierre@ossman.eu",
        "time": "Sun May 03 22:11:00 2009 +0200"
      },
      "message": "mmc_block: be prepared for oversized requests\n\nThe block layer does not support very low sector count restrictions\nso we need to be prepared to handle bigger requests than we can send\ndirectly to the controller.\n\nProblem found by Manuel Lauss.\n\nSigned-off-by: Pierre Ossman \u003cpierre@ossman.eu\u003e\n"
    },
    {
      "commit": "0a053e8c71d666daf30da2d407147b1293923d8b",
      "tree": "9ba3967845db9053cb2ca045f01a9454eb5e6230",
      "parents": [
        "601cc11d054ae4b5e9b5babec3d8e4667a2cb9b5",
        "32ab83a56fdf42f543b86c349143c2a86ead9707"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 10:18:21 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 10:18:21 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc: (42 commits)\n  atmel-mci: fix sdc_reg typo\n  tmio_mmc: add maintainer\n  mmc: Add OpenFirmware bindings for SDHCI driver\n  sdhci: Add quirk for forcing maximum block size to 2048 bytes\n  sdhci: Add quirk for controllers that need IRQ re-init after reset\n  sdhci: Add quirk for controllers that need small delays for PIO\n  sdhci: Add set_clock callback and a quirk for nonstandard clocks\n  sdhci: Add get_{max,timeout}_clock callbacks\n  sdhci: Add support for hosts reporting inverted write-protect state\n  sdhci: Add support for card-detection polling\n  sdhci: Enable only relevant (DMA/PIO) interrupts during transfers\n  sdhci: Split card-detection IRQs management from sdhci_init()\n  sdhci: Add support for bus-specific IO memory accessors\n  mmc_spi: adjust for delayed data token response\n  omap_hsmmc: Wait for SDBP\n  omap_hsmmc: Fix MMC3 dma\n  omap_hsmmc: Disable SDBP at suspend\n  omap_hsmmc: Do not prefix slot name\n  omap_hsmmc: Allow cover switch to cause rescan\n  omap_hsmmc: Add 8-bit bus width mode support\n  ...\n"
    },
    {
      "commit": "201a50ba6627dd00aa7b7673a5c454ca387095fb",
      "tree": "c053687969b09ffe21fae0d00615be00ea3700ef",
      "parents": [
        "e6c8dd8a5c887caaf6ee29f04c7260617cb28295"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Mar 31 15:19:20 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:09 2009 -0700"
      },
      "message": "proc tty: switch sdio_uart to -\u003eproc_fops\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6b0b62853b2553be375033776902640320970846",
      "tree": "ef8b553cbf6a39cc0d3faa83ff203d2a62293b7c",
      "parents": [
        "7de427d088a967d2173739e21e744921d5496a8b"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@canonical.com",
        "time": "Mon Feb 23 12:38:41 2009 +0000"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Tue Mar 24 21:29:58 2009 +0100"
      },
      "message": "mmc: add MODALIAS linkage for MMC/SD devices\n\nCurrently we are using an explicit udev rule to trigger loading of the\nmmc-block module when an MMC or SD card is detected:\n\n    SUBSYSTEM\u003d\u003d\"mmc\", RUN+\u003d\"/sbin/modprobe -Qba mmc-block\"\n\nIt makes much more sense for the mmc bus driver and the mmc-block module to\nshare MODALIAS information so that they are linked automatically.\n\nThere is no real information of use in the MMC system at the current time.\nAll devices inserted require us to load the mmc-block device.  Until such\ntime as useful parameters exist simply reflect the module linkage via\nthe module alias below:\n\n\tmmc:block\n\nSigned-off-by: Andy Whitcroft \u003capw@canonical.com\u003e\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "58a5dd3e0e77029d3db1f8fa75d0b54b38169d5d",
      "tree": "87d901456c19394f31b8344790ffd285891be6cc",
      "parents": [
        "994244883739e4044bef76d4e5d7a9b66dc6c7b6"
      ],
      "author": {
        "name": "Rabin Vincent",
        "email": "rabin@rab.in",
        "time": "Fri Feb 13 22:55:26 2009 +0530"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Wed Feb 18 21:01:14 2009 +0100"
      },
      "message": "mmc_test: fix basic read test\n\nDue to a typo in the Basic Read test, it\u0027s currently identical to the\nBasic Write test.  Fix this.\n\nSigned-off-by: Rabin Vincent \u003crabin@rab.in\u003e\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "444122fd58fdc83c96877a92b3f6288cafddb08d",
      "tree": "5d9fc37a7fd352d0caf74bc8dd2d8ba7526e7cd3",
      "parents": [
        "d2f8d7ee1a9b4650b4e43325b321801264f7c37a"
      ],
      "author": {
        "name": "Yi Li",
        "email": "yi.li@analog.com",
        "time": "Thu Feb 05 15:31:57 2009 +0800"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Wed Feb 18 06:27:33 2009 +0100"
      },
      "message": "MMC: fix bug - SDHC card capacity not correct\n\nSigned-off-by: Yi Li \u003cyi.li@analog.com\u003e\nSigned-off-by: Bryan Wu \u003ccooloney@kernel.org\u003e\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "6a79e391df295bd7c2aa1309ea5031f361c197fd",
      "tree": "81789b2131bfd64c6478cd979bb35b4d6df94186",
      "parents": [
        "a0d045cac9bcb3e9a9796d596415f7ffb64852e2"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "ext-adrian.hunter@nokia.com",
        "time": "Wed Dec 31 18:21:17 2008 +0100"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Wed Dec 31 18:21:17 2008 +0100"
      },
      "message": "mmc_block: ensure all sectors that do not have errors are read\n\nIf a card encounters an ECC error while reading a sector it will\ntimeout.  Instead of reporting the entire I/O request as having\nan error, redo the I/O one sector at a time so that all readable\nsectors are provided to the upper layers.\n\nSigned-off-by: Adrian Hunter \u003cext-adrian.hunter@nokia.com\u003e\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "504f191f25b1671802246bac06c9f59f94f0b7de",
      "tree": "7267d2e476e45dcfb732860f07b9ce3623f51024",
      "parents": [
        "86e8286a0e48663e1e86a5884b30a6d05de2993a"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "ext-adrian.hunter@nokia.com",
        "time": "Thu Oct 16 12:55:25 2008 +0300"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Wed Dec 31 18:18:13 2008 +0100"
      },
      "message": "mmc_block: print better error messages\n\nAdd command response and card status to error\nmessages.\n\nSigned-off-by: Adrian Hunter \u003cext-adrian.hunter@nokia.com\u003e\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "b7a03210b7b381e06f71751cb9addfae7704489c",
      "tree": "0718b450c2ce23ab76acb50d54b0c9a73a5daa93",
      "parents": [
        "092f82edbe96d0a08e1d10436927e89fa101fe0d"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Oct 22 17:09:00 2008 -0700"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Wed Dec 31 18:18:11 2008 +0100"
      },
      "message": "mmc: trivial annotation of \u0027blocks\u0027\n\nsg_init_one is reading a be32, annotate as such.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "a5a1561f88fe8bfd7fdceed1d942ad494500b8a9",
      "tree": "37b67f85412745f258155795c12988cada3f4491",
      "parents": [
        "f3f6015bff7a15671bcadfac7215eb33a2bccc9d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Mar 02 10:33:30 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Oct 21 07:48:37 2008 -0400"
      },
      "message": "[PATCH] switch mmc\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d4430d62fa77208824a37fe6f85ab2831d274769",
      "tree": "5d4d0bca31e63eb208fbebe4f39c912b964c1e4d",
      "parents": [
        "badf8082c33d18b118d3a6f1b32d5ea6b97d3839"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Mar 02 09:09:22 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Oct 21 07:47:32 2008 -0400"
      },
      "message": "[PATCH] beginning of methods conversion\n\nTo keep the size of changesets sane we split the switch by drivers;\nto keep the damn thing bisectable we do the following:\n\t1) rename the affected methods, add ones with correct\nprototypes, make (few) callers handle both.  That\u0027s this changeset.\n\t2) for each driver convert to new methods.  *ALL* drivers\nare converted in this series.\n\t3) kill the old (renamed) methods.\n\nNote that it _is_ a flagday; all in-tree drivers are converted and by the\nend of this series no trace of old methods remain.  The only reason why\nwe do that this way is to keep the damn thing bisectable and allow per-driver\ndebugging if anything goes wrong.\n\nNew methods:\n\topen(bdev, mode)\n\trelease(disk, mode)\n\tioctl(bdev, mode, cmd, arg)\t\t/* Called without BKL */\n\tcompat_ioctl(bdev, mode, cmd, arg)\n\tlocked_ioctl(bdev, mode, cmd, arg)\t/* Called with BKL, legacy */\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8dddfe192632361b62eee9c8320bc9feff57898b",
      "tree": "f38fc6097facf5771594abd6305a9915b95a9f8e",
      "parents": [
        "7591103c08abade60aeddb432ed0686ddd0de1c6"
      ],
      "author": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Tue Oct 14 20:04:46 2008 +0200"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Tue Oct 14 20:04:46 2008 +0200"
      },
      "message": "mmc_block: tell block layer there is no seek penalty\n\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "46b5e34029fef7a042f3ff16e319e737257e5c7b",
      "tree": "c2e90b7a6d7c39c3a35eed1dfd0fd19077467c93",
      "parents": [
        "94a9f8ad337aec011da2ca901ef89ae7e885f24c",
        "6ee6c6adf1cfebbf432b8d1f204c7f96e395933e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 12 11:51:57 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 12 11:51:57 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc: (24 commits)\n  MMC: Use timeout values from CSR\n  MMC: CSD and CID timeout values\n  sdhci: \u0027scratch\u0027 may be used uninitialized\n  mmc: explicitly mention SDIO support in Kconfig\n  mmc: remove redundant \"depends on\"\n  Fix comment in include/linux/mmc/host.h\n  sdio: high-speed support\n  mmc_block: hard code 512 byte block size\n  sdhci: force high speed capability on some controllers\n  mmc_block: filter out PC requests\n  mmc_block: indicate strict ordering\n  mmc_block: inform block layer about sector count restriction\n  sdio: give sdio irq thread a host specific name\n  sdio: make sleep on error interruptable\n  sdhci: reduce card detection delay\n  sdhci: let the controller wait for busy state to end\n  atmel-mci: Add missing flush_dcache_page() in PIO transfer code\n  atmel-mci: Don\u0027t overwrite error bits when NOTBUSY is set\n  atmel-mci: Add experimental DMA support\n  atmel-mci: support multiple mmc slots\n  ...\n"
    },
    {
      "commit": "57105737f6a0b39305a85ac176cc9fd4a236d8c2",
      "tree": "7a8fcd27a08655e889d6867058b937f4f7e0372b",
      "parents": [
        "1ea4f444f3a9721babd5d22cbd15092f9da6b51a"
      ],
      "author": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Sun Sep 07 13:16:58 2008 +0200"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Sun Oct 12 11:04:36 2008 +0200"
      },
      "message": "mmc: explicitly mention SDIO support in Kconfig\n\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "1ea4f444f3a9721babd5d22cbd15092f9da6b51a",
      "tree": "333f0370d44b0f35670e343c2a7eccf55c434d36",
      "parents": [
        "ee63a7d2287c677ed022bf3f584f5a187b6c402f"
      ],
      "author": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Sun Sep 07 13:07:57 2008 +0200"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Sun Oct 12 11:04:35 2008 +0200"
      },
      "message": "mmc: remove redundant \"depends on\"\n\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "08846698703dedae6c6915eb4b4d0a36188c5635",
      "tree": "a5a12b778636738701e15671375c73eb1579583d",
      "parents": [
        "a4b76193774b463b922cab2f92450efb20d29ef0"
      ],
      "author": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Sun Aug 31 14:10:08 2008 +0200"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Sun Oct 12 11:04:33 2008 +0200"
      },
      "message": "mmc_block: hard code 512 byte block size\n\nWe use 512 byte blocks on all cards, and newer cards support nothing\nelse, so hard code it and make the code less complex.\n\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "d6d8de33415ca7598fe66d933b6556fa8f89afe2",
      "tree": "eaa86df35326f648a34a0c766b13636adc364c59",
      "parents": [
        "91028954119e464ae42350658d46c204d781b484"
      ],
      "author": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Sat Aug 16 20:43:48 2008 +0200"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Sun Oct 12 11:04:32 2008 +0200"
      },
      "message": "mmc_block: filter out PC requests\n\nWe do not support PC (SCSI) commands, so don\u0027t pretend we do by\nletting them through.\n\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "91028954119e464ae42350658d46c204d781b484",
      "tree": "54133426c2f4a9a0d42760ee3b765e5e995812d5",
      "parents": [
        "f3eb0aaa0211fd804057070bee1fd067cd65cb13"
      ],
      "author": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Sat Aug 16 21:15:50 2008 +0200"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Sun Oct 12 11:04:31 2008 +0200"
      },
      "message": "mmc_block: indicate strict ordering\n\nThe MMC block driver services requests one at a time and in strict\norder. Indicate this to the block layer so that it can handle barriers\nin an efficient manner.\n\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "f3eb0aaa0211fd804057070bee1fd067cd65cb13",
      "tree": "bf97d54c14f3b63c2785cb19affc2ee1731159ee",
      "parents": [
        "6501ff604a5ae18697c9b4cd40a7738d3a68e7fe"
      ],
      "author": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Sat Aug 16 21:34:02 2008 +0200"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Sun Oct 12 11:04:30 2008 +0200"
      },
      "message": "mmc_block: inform block layer about sector count restriction\n\nMake sure we consider the maximum block count when we tell the block\nlayer about the maximum sector count. That way we don\u0027t have to chop\nup the request ourselves.\n\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "ef5bef357cdf49f3a386c7102dbf3be5f7e5c913",
      "tree": "48d9dc86768e3e146267ea21d0c898f9008275a1",
      "parents": [
        "e26feff647ef34423b048b940540a0059001ddb0",
        "41bfcf90101601f9507240ff0435c1b73d28a132"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 10 10:53:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 10 10:53:26 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (37 commits)\n  [SCSI] zfcp: fix double dbf id usage\n  [SCSI] zfcp: wait on SCSI work to be finished before proceeding with init dev\n  [SCSI] zfcp: fix erp list usage without using locks\n  [SCSI] zfcp: prevent fc_remote_port_delete calls for unregistered rport\n  [SCSI] zfcp: fix deadlock caused by shared work queue tasks\n  [SCSI] zfcp: put threshold data in hba trace\n  [SCSI] zfcp: Simplify zfcp data structures\n  [SCSI] zfcp: Simplify get_adapter_by_busid\n  [SCSI] zfcp: remove all typedefs and replace them with standards\n  [SCSI] zfcp: attach and release SAN nameserver port on demand\n  [SCSI] zfcp: remove unused references, declarations and flags\n  [SCSI] zfcp: Update message with input from review\n  [SCSI] zfcp: add queue_full sysfs attribute\n  [SCSI] scsi_dh: suppress comparison warning\n  [SCSI] scsi_dh: add Dell product information into rdac device handler\n  [SCSI] qla2xxx: remove the unused SCSI_QLOGIC_FC_FIRMWARE option\n  [SCSI] qla2xxx: fix printk format warnings\n  [SCSI] qla2xxx: Update version number to 8.02.01-k8.\n  [SCSI] qla2xxx: Ignore payload reserved-bits during RSCN processing.\n  [SCSI] qla2xxx: Additional residual-count corrections during UNDERRUN handling.\n  ...\n"
    },
    {
      "commit": "f331c0296f2a9fee0d396a70598b954062603015",
      "tree": "f74c467d58940131d97d90c4ea549843185e6ef0",
      "parents": [
        "cf771cb5a7b716f3f9e532fd42a1e3a0a75adec5"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Sep 03 09:01:48 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:05 2008 +0200"
      },
      "message": "block: don\u0027t depend on consecutive minor space\n\n* Implement disk_devt() and part_devt() and use them to directly\n  access devt instead of computing it from -\u003emajor and -\u003efirst_minor.\n\n  Note that all references to -\u003emajor and -\u003efirst_minor outside of\n  block layer is used to determine devt of the disk (the part0) and as\n  -\u003emajor and -\u003efirst_minor will continue to represent devt for the\n  disk, converting these users aren\u0027t strictly necessary.  However,\n  convert them for consistency.\n\n* Implement disk_max_parts() to avoid directly deferencing\n  genhd-\u003eminors.\n\n* Update bdget_disk() such that it doesn\u0027t assume consecutive minor\n  space.\n\n* Move devt computation from register_disk() to add_disk() and make it\n  the only one (all other usages use the initially determined value).\n\nThese changes clean up the code and will help disk-\u003epart dereference\nfix and extended block device numbers.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a7bbb57333447d0cf950992653b6b079585f3531",
      "tree": "bdd96f1f2076a58b96330adc0e8981ae643e5411",
      "parents": [
        "a30c3f69e6336cb9b09a989595e417367e4e9b1b"
      ],
      "author": {
        "name": "Pierre Ossman",
        "email": "drzeus-list@drzeus.cx",
        "time": "Sat Sep 06 10:57:57 2008 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Oct 03 11:46:15 2008 -0500"
      },
      "message": "[SCSI] mmc_block: use generic helper to print capacities\n\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "5c0a95c73f80c034914e219eee8075acdf56b527",
      "tree": "b6c4eba6b5a1070a673159f14472de741535eb79",
      "parents": [
        "baaea1dc0befb7b64e6dbf2d1469d0a296a79e54",
        "a650031a6bd16cb6789da9b3c27fc97341239f12"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 21 12:38:45 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 21 12:38:45 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc:\n  mmc_test: initialize mmc_test_lock statically\n  mmc_block: handle error from mmc_register_driver()\n  atmel-mci: Set MMC_CAP_NEEDS_POLL if no detect_pin\n  atmel-mci: Fix bogus debugfs file size\n  atmel-mci: Fix memory leak in atmci_regs_show\n  atmel-mci: debugfs: enable clock before dumping regs\n  tmio_mmc: fix compilation with debug enabled\n"
    },
    {
      "commit": "a650031a6bd16cb6789da9b3c27fc97341239f12",
      "tree": "c16f1426a9d911dc2dfa327fa932a01ef2179171",
      "parents": [
        "9d4e98e9609bc19d4a8ac4a5c3218358d1820114"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Sat Sep 13 19:03:32 2008 +0900"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Sat Sep 20 13:03:50 2008 +0200"
      },
      "message": "mmc_test: initialize mmc_test_lock statically\n\nThe mutex mmc_test_lock is initialized at every time mmc_test device\nis probed. Probing another mmc_test device may break the mutex, if\nthe probe function is called while the mutex is locked.\n\nThis patch fixes it by statically initializing mmc_test_lock.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "9d4e98e9609bc19d4a8ac4a5c3218358d1820114",
      "tree": "5b794afb9abc6af1051ce3c9f031034a329b05f0",
      "parents": [
        "da45b66ec89bbf3a1c172688c35d4d3a6e8e757f"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Sat Sep 13 19:02:07 2008 +0900"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Sat Sep 20 13:03:26 2008 +0200"
      },
      "message": "mmc_block: handle error from mmc_register_driver()\n\nCheck error from mmc_register_driver() and properly unwind\nblock device registration.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "70bb08962ea9bd50797ae9f16b2493f5f7c65053",
      "tree": "301692bce950f064633b80a93cbb808bead41351",
      "parents": [
        "22f30168d296dbb54a21ebad44c9d735bca6f67b"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Fri Sep 05 14:00:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 05 14:39:38 2008 -0700"
      },
      "message": "drivers/mmc/card/block.c: fix refcount leak in mmc_block_open()\n\nmmc_block_open() increments md-\u003eusage although it returns with -EROFS when\ndefault mounting a MMC/SD card with write protect switch on.  This\nreference counting bug prevents /dev/mmcblkX from being released on card\nremoval, and situation worsen with reinsertion until the minor number\nrange runs out.\n\nReported-by: \u003csasin@solomon-systech.com\u003e\nAcked-by: Pierre Ossman \u003cdrzeus-list@drzeus.cx\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.25.x, 2.6.26.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b41e9c7b8e14ea57aa0fc05fd63a0de0e935d58d",
      "tree": "f81ed91f4d32ec993332388222c7e56028663e2e",
      "parents": [
        "a84756c5735f28bf000617f18734a9e94426386a"
      ],
      "author": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Tue Jul 29 01:23:24 2008 +0200"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Fri Aug 01 19:03:38 2008 +0200"
      },
      "message": "mmc_block: use proper sg iterators\n\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "b7ac2cf1cdf346b34cbc2104d386a9d29d12aa4c",
      "tree": "e5f2f31dd16cf02fb1e350e0fddab06fa8209300",
      "parents": [
        "980167b7fb20fb181766218b4771fc7420a7bbb4"
      ],
      "author": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Tue Jul 29 01:05:22 2008 +0200"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Fri Aug 01 19:03:37 2008 +0200"
      },
      "message": "mmc_test: Revert \"mmc_test: test oversized sg lists\"\n\nThis reverts commit 48b5352ea1891455eb8e824cf7d92f66931a090f. Oversized\nsg lists are not allowed anymore, and the core even checks for them in\ndebug mode, so this test is entirely incorrect.\n\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "60c9c7b1d91396f511e55a2a5be13d148dcf66ff",
      "tree": "5d544f5c40e2a4c063f7ea2aa28b6f8e0b24115a",
      "parents": [
        "6d79947a2d34470311012c3ee45ad33650a7f192"
      ],
      "author": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Tue Jul 22 14:38:35 2008 +0200"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Wed Jul 23 14:42:09 2008 +0200"
      },
      "message": "mmc_test: print message when attaching to card\n\nMake it a bit more obvious that the card has been claimed by the\nmmc_test driver so that people don\u0027t have to wonder why their block\ndevice never shows up.\n\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "2ff1fa679115e3c8c78ad74ad8fd2d7fd87ae4e7",
      "tree": "441ea088fa64fa0d22e23b048731ad16a16bc3a6",
      "parents": [
        "719a61b452ff74cf81a96e4212748d9d63bcc924"
      ],
      "author": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Tue Jul 22 14:35:42 2008 +0200"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Wed Jul 23 14:42:09 2008 +0200"
      },
      "message": "mmc_block: bounce buffer highmem support\n\nSupport highmem pages in the bounce buffer code by using the\nsg_copy_from/to_buffer() functions.\n\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "48b5352ea1891455eb8e824cf7d92f66931a090f",
      "tree": "5068eb9fb3d16e0f1353a662b48c370fdabfcd7e",
      "parents": [
        "2661081f5ab9cb25359d27f88707a018cf4e68e9"
      ],
      "author": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Mon Jul 21 00:14:52 2008 +0200"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Wed Jul 23 14:42:08 2008 +0200"
      },
      "message": "mmc_test: test oversized sg lists\n\nAdd tests that make sure the driver properly checks the blocks and\nblksz fields and doesn\u0027t assume the sg list has a size that perfectly\nmatches the current request.\n\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "2661081f5ab9cb25359d27f88707a018cf4e68e9",
      "tree": "5bbdd138b1432a76de4328bbd718aa6253c76928",
      "parents": [
        "907b2cd6dbbdfd6a4be7908f57b1498dfabc880e"
      ],
      "author": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Fri Jul 04 18:17:13 2008 +0200"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Wed Jul 23 14:42:08 2008 +0200"
      },
      "message": "mmc_test: highmem tests\n\nAdd a couple of tests to make sure the host driver handles highmem\nmemory pages properly. Unfortunately there is no way to guarantee an\nallocation below 4 GB in i386, so it might give you addresses that\nare out of reach for the hardware (OTOH, so will any other highmem\nallocation in the kernel).\n\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "c43d8636971c39da993e94082fd65bfff421618e",
      "tree": "7c0d4dce441846ec4b86ee90e3c969a8f4f153fd",
      "parents": [
        "6a36913a33cf3d366e124f25c486a71212d02bce"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Jul 10 12:28:48 2008 +0100"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Tue Jul 15 15:47:04 2008 +0200"
      },
      "message": "sdio_uart: Fix SDIO break control to now return success or an error\n\nThis is a consequence of patch 9ea761bfef52c116fed4715d4043392c2503fe6a.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "23af60398af2f5033e2f53665538a09f498dbc03",
      "tree": "fc244139d7d6bb1a82b80cc60fae86970e60c8c5",
      "parents": [
        "97067d5581ec831a75a45a52e417bee0f7943dbf"
      ],
      "author": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Sun Jul 06 01:10:27 2008 +0200"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Tue Jul 15 14:14:49 2008 +0200"
      },
      "message": "mmc: remove multiwrite capability\n\nRelax requirements on host controllers and only require that they do not\nreport a transfer count than is larger than the actual one (i.e. a lower\nvalue is okay). This is how many other parts of the kernel behaves so\nupper layers should already be prepared to handle that scenario. This\ngives us a performance boost on MMC cards.\n\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "6b174931a73177c6519f87e6a8d5ae6ba269cdb5",
      "tree": "3317167668ea1403d673ef92a394f899f2404b58",
      "parents": [
        "979ce7208a679b8d012450610d5d5aa75aab3af9"
      ],
      "author": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Mon Jun 30 09:09:27 2008 +0200"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Tue Jul 15 14:14:45 2008 +0200"
      },
      "message": "mmc_test: cleanup\n\nClean up and reorganise the mmc_test driver so that it (hopefully)\nis easier to extend with more complex tests.\n\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "979ce7208a679b8d012450610d5d5aa75aab3af9",
      "tree": "c4e791f94e677703e2aada63f5d2031c0881ccff",
      "parents": [
        "2134a922c6e75c779983cad5d8aae832275f5a0d"
      ],
      "author": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Sun Jun 29 12:19:47 2008 +0200"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Tue Jul 15 14:14:45 2008 +0200"
      },
      "message": "mmc_block: wait for card even on failures\n\nMany failures are non-permanent, but the card might need some time to\nfinish what it is doing before becoming responsive again. Make sure we\nwait for it to finish programming before dealing with the error.\n\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "0121a9829bf28c65e1a05cc881899c10d82b8de2",
      "tree": "f21f24d7d964f0a1833cb1e174c256b093455b5d",
      "parents": [
        "eea0f581c4e596e02250df230f8d385827977964"
      ],
      "author": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Sat Jun 28 17:51:27 2008 +0200"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Tue Jul 15 14:14:44 2008 +0200"
      },
      "message": "mmc_test: only bind to supported cards\n\nWe can only perform the tests on MMC and SD cards, so avoid binding\nto any other type.\n\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "fd8c326cadd2f781d5c4d6bcee79bb17b3745bb0",
      "tree": "28b629dbdb91336fafeb665b9fac9736a86fd6c7",
      "parents": [
        "1e72859e3ae16346d4007024b20d2d4ef387dcc3"
      ],
      "author": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Sat May 24 22:36:31 2008 +0200"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Tue Jul 15 14:14:40 2008 +0200"
      },
      "message": "mmc_test: add test case control\n\nAdd the ability to run just a single test case by writing the test\ncase number into the sysfs \"test\" file.\n\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "203c80187eba037f2d6562e0d5847014746726dd",
      "tree": "10b1d75a17760d866f7737245c328424e1a319bf",
      "parents": [
        "b2ab26ab28cfed076ee8a83627d008472f6ac54f"
      ],
      "author": {
        "name": "Ben Collins",
        "email": "ben.collins@canonical.com",
        "time": "Thu Jun 05 19:10:21 2008 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 05 16:14:17 2008 -0700"
      },
      "message": "mmc: Fix crash in mmc_block on 64-bit\n\nFairly simple. \"dev_use\" was being allocated as a zero length array\nbecause of bad math on 64-bit systems, causing a crash in\nfind_first_zero_bit(). One-liner follows:\n\nSigned-off-by: Ben Collins \u003cben.collins@canonical.com\u003e\nAcked-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "88ae600d58a8d3160144af480133a988404b8d59",
      "tree": "5a14d90bb7f97243ae806d1c3df03cc2bfce334d",
      "parents": [
        "df48dd028766ce2fc05d1f1d9da9bf89855d5282"
      ],
      "author": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Sun Aug 12 14:23:50 2007 +0200"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Wed May 14 21:02:16 2008 +0200"
      },
      "message": "mmc: mmc host test driver\n\nA dummy driver that performs a series of requests that are often mis-\nhandled by host drivers.\n\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "fd539832c7d3a242269374dbcae2cd54da150930",
      "tree": "78366d0180f3443c591c3dc611b0beeb5657dff1",
      "parents": [
        "1381b7e82a52c4ae5ebb2ac0951075debb878a2a"
      ],
      "author": {
        "name": "Kiyoshi Ueda",
        "email": "k-ueda@ct.jp.nec.com",
        "time": "Tue Dec 11 17:48:29 2007 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 10:36:52 2008 +0100"
      },
      "message": "blk_end_request: changing mmc (take 4)\n\nThis patch converts mmc to use blk_end_request interfaces.\nRelated \u0027uptodate\u0027 arguments are converted to \u0027error\u0027.\n\nCc: Pierre Ossman \u003cdrzeus-mmc@drzeus.cx\u003e\nSigned-off-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a960d5dc71102d33f257cbc26d87b15015586672",
      "tree": "7a38a5864ae5ac3a22f2ba3fd41d6c459e9b25fa",
      "parents": [
        "09f345da758fca1222b0971b65b2fddbdf78bb83"
      ],
      "author": {
        "name": "Andre Haupt",
        "email": "andre@bitwigglers.org",
        "time": "Wed Nov 21 12:33:45 2007 +0100"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Thu Nov 29 19:10:30 2007 +0100"
      },
      "message": "sdio_uart: fix sign of paramter status in sdio_uart_receive_chars()\n\nThis also fixes a sparse warning about different signedness.\nOnly compile tested, because i do not have the hardware.\n\nSigned-off-by: Andre Haupt \u003candre@bitwigglers.org\u003e\nAcked-by: Nicolas Pitre \u003cnico@cam.org\u003e\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "05e5b136459b11cd9559370d5756719e08074fe0",
      "tree": "1e4888953d39ee1905de676b2e6e326e8faa5b57",
      "parents": [
        "c7674030e5eb83d9ba29318fb9b3ccedf84d583e"
      ],
      "author": {
        "name": "Haavard Skinnemoen",
        "email": "hskinnemoen@atmel.com",
        "time": "Fri Nov 23 10:19:00 2007 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Nov 27 09:19:40 2007 +0100"
      },
      "message": "mmc: Add missing sg_init_table() call\n\nmmc_init_queue only initializes the scatterlists with sg_init_table()\nwhen using a bounce buffer. This leads to a BUG() when CONFIG_DEBUG_SG\nis set.\n\nSigned-off-by: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "1dff314451fa24d6b107aa05393d3169e56a7e0a",
      "tree": "6aeca206d6b9ec3b8f3168351822183342e9604c",
      "parents": [
        "b37a05069b9ab9fb1e52393a3448d710c50c54d5"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Nov 21 18:45:12 2007 +0100"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Wed Nov 21 18:45:38 2007 +0100"
      },
      "message": "mmc: Avoid re-using minor numbers before the original device is closed.\n\nMove the code which marks the minor number as free to mmc_blk_put() so\nthat it happens on the final close() (or removal), instead of doing it\nat removal even when the device is still logically open.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "d198f101989d9bb950327f0d043f6203bb862343",
      "tree": "1bcbef20c668de6d8287c813d6253f903fc6842f",
      "parents": [
        "2ffbb8377c7a0713baf6644e285adc27a5654582"
      ],
      "author": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Fri Nov 02 18:21:13 2007 +0100"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Wed Nov 21 18:40:53 2007 +0100"
      },
      "message": "mmc_block: check card state after write\n\nSome cards have been reported to signal that they\u0027re ready prematurely.\nChecking both the busy bit and card state solves the issue.\n\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "8578007065bd27ec077a74b5814f0fe4df040180",
      "tree": "03a92735be6a0d1e6234cb73387c1cf8de1073e5",
      "parents": [
        "fffe487d59ba4017c7c62b06667ca4a226cee651"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@digitalvampire.org",
        "time": "Thu Nov 08 13:50:58 2007 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Nov 08 13:50:58 2007 +0100"
      },
      "message": "mmc: Fix sg helper copy-and-paste error\n\nCommit 45711f1a (\"[SG] Update drivers to use sg helpers\") had the\nfollowing bogus change in drivers/mmc/card/queue.c:\n\n    \u003e -\t\t\tsrc_buf \u003d page_address(src-\u003epage) + src-\u003eoffset;\n    \u003e +\t\t\tsrc_buf \u003d sg_virt(dst);\n\n(Notice that \"src\" is converted to \"dst\").  Turn this \"dst\" back into\nthe intended \"src\".\n\nSigned-off-by: Roland Dreier \u003croland@digitalvampire.org\u003e\nTested-by: Romano Giannetti \u003cromano.giannetti@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "45711f1af6eff1a6d010703b4862e0d2b9afd056",
      "tree": "3d0048f46e3df9d217d56127462ebe680348bd5a",
      "parents": [
        "78c2f0b8c285c5305b3e67b0595200541e15eb43"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Oct 22 21:19:53 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Oct 22 21:19:53 2007 +0200"
      },
      "message": "[SG] Update drivers to use sg helpers\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "d3ad0aa4248956399b79a82f9e8ab8155a0f98db",
      "tree": "a36c78caf871b8a566894a0924ea77b43fb1d4d6",
      "parents": [
        "a683d652d334a546be9175b894f42dbd8e399536"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 04 20:11:30 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Oct 16 11:24:45 2007 +0200"
      },
      "message": "mmc: need to zero sglist on init\n\nOtherwise we could have junk in the sg fields, fooling\nthe sg chaining into thinking -\u003epage is valid.\n\nAcked-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "7213d175e3b6f6db60f843b72e88857a350e146a",
      "tree": "82b5041a4eb51ab734f0d44f16cd9916338c1249",
      "parents": [
        "97018580c40c8a31dd7ae744da3378c787a2066d"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Wed Aug 08 09:10:23 2007 -0700"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Sun Sep 23 21:39:47 2007 +0200"
      },
      "message": "MMC/SD card driver learns SPI\n\nTeaching the MMC/SD block card driver about SPI.\n\n - Provide the SPI response type flags with each request issued.\n\n - Understand that multiblock SPI writes don\u0027t use STOP_TRANSMISSION.\n\n - Correct check for APP_CMD failure.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "15b82b46de358a574c2a6a6dea4c8076bef7ac43",
      "tree": "8ba3384b5dc10f7fca38de998e36366d5b2c8c4f",
      "parents": [
        "2ba30eedec37e2f65babf4ea54233f98afbe0871"
      ],
      "author": {
        "name": "Nicolas Pitre",
        "email": "nico@cam.org",
        "time": "Mon Aug 20 17:17:37 2007 -0400"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Sun Sep 23 21:24:52 2007 +0200"
      },
      "message": "sdio: fix recursion issues between sdio-uart driver and tty layer\n\nIn a few places, sdio_uart_irq() is called directly instead of waiting\nfor the actual interrupt to be raised and the SDIO IRQ thread scheduled\nin order to reduce latency.  However, some interaction with the tty core\nmay end up calling us back (serial echo, flow control, etc.) creating\ntwo issues:\n\n - the host lock gets claimed twice from the same thread causing a\n   deadlock;\n\n - the same direct calls to sdio_uart_irq() may be performed causing\n   unexpected reentrancy into the IRQ handler.\n\nThis patch handles both of those issues.\n\nSigned-off-by: Nicolas Pitre \u003cnpitre@mvista.com\u003e\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "2ba30eedec37e2f65babf4ea54233f98afbe0871",
      "tree": "e93c9cefb0bbc733477e00b833fc461455096c6a",
      "parents": [
        "7806cdb40fd562e5dcc07321579b62a5dc7cd95c"
      ],
      "author": {
        "name": "Nicolas Pitre",
        "email": "nico@cam.org",
        "time": "Wed Aug 15 13:27:29 2007 -0400"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Sun Sep 23 21:24:48 2007 +0200"
      },
      "message": "sdio: add default c_ispeed/c_ospeed values to sdio_uart driver\n\nNote that the default baudrate is 4800 instead of 9600 as a convenience\nbecause that\u0027s what GPS devices want which is still the main use for\nthis driver.\n\nSigned-off-by: Nicolas Pitre \u003cnpitre@mvista.com\u003e\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "5ed334a1f8caaae98806d572f78c5802975ea20f",
      "tree": "782905c5f25652af672bb38ed42a68c0c71e8e4c",
      "parents": [
        "6e418a9d26ab4fd44b3e07dc1158027cbdf0a919"
      ],
      "author": {
        "name": "Nicolas Pitre",
        "email": "nico@cam.org",
        "time": "Wed Jul 04 23:40:34 2007 -0400"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Sun Sep 23 21:02:57 2007 +0200"
      },
      "message": "sdio: add /proc interface to sdio_uart driver\n\nThis mimics what the serial_core does.  Useful for diagnostics.\n\nSigned-off-by: Nicolas Pitre \u003cnpitre@mvista.com\u003e\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "6e418a9d26ab4fd44b3e07dc1158027cbdf0a919",
      "tree": "03f84d7e2518b7a5422fe111da8745c4c3307133",
      "parents": [
        "d1496c39e500857b8949cdb91af24e0eb8aae4d0"
      ],
      "author": {
        "name": "Nicolas Pitre",
        "email": "nico@cam.org",
        "time": "Sat Jun 30 02:04:21 2007 -0400"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Sun Sep 23 21:02:45 2007 +0200"
      },
      "message": "sdio: UART/GPS driver\n\nThis currently only accepts the GPS class since that\u0027s all I have for\ntesting.  Tested with a Matsushita GPS and gpsd version 2.34.\n\nSigned-off-by: Nicolas Pitre \u003cnpitre@mvista.com\u003e\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "be0192aae1aed3fbf172e3f9a22ec75392c1b175",
      "tree": "b70080bf73fad74fe196a568e57b18c6e7ade8ef",
      "parents": [
        "255d01af9a990fd5166f04ed0cc0b30b7b67e81e"
      ],
      "author": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Tue Jul 24 21:11:47 2007 +0200"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Sun Sep 23 09:15:12 2007 +0200"
      },
      "message": "mmc: remove confusing flag\n\nThe MMC_DATA_MULTI flag never had a proper definition of what it\nmeans, so remove it and let the drivers check the block count in\nthe request.\n\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "b146d26a61e0feab2f12a98ae83fd352830899c0",
      "tree": "b05f5197e6f5315197f34e3f406b93ad06b6b80b",
      "parents": [
        "d7604d76351f7745d0e62d9f2bbcbb917c9013f3"
      ],
      "author": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Tue Jul 24 19:16:54 2007 +0200"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Sun Sep 23 09:15:00 2007 +0200"
      },
      "message": "mmc: mmc_set_data_timeout() parameter write is redundant\n\nThe write parameter in mmc_set_data_timeout() is redundant as the\ndata structure contains information about the direction of the\ntransfer.\n\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "17b0429dde9ab60f9cee8e07ab28c7dc6cfe6efd",
      "tree": "9f87df1ffbeca4c6f828b7979f2e45ef898a3ef0",
      "parents": [
        "b7e113dc9d52c4a37d2da6fafe77959f3a28eccf"
      ],
      "author": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Sun Jul 22 22:18:46 2007 +0200"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Sun Sep 23 08:46:48 2007 +0200"
      },
      "message": "mmc: remove custom error codes\n\nConvert the MMC layer to use standard error codes and not its own,\nincompatible values.\n\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "aafabfab26bf4968b5c6423a3c53e920ae8fa406",
      "tree": "b5413570e8fc6f1d6f8a2154c64e537352f32e69",
      "parents": [
        "b3627bb19f8f0ca12136d985d4d73c437cba0e14"
      ],
      "author": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Thu Aug 09 14:28:02 2007 +0200"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Thu Aug 09 14:37:17 2007 +0200"
      },
      "message": "mmc: reorganize bounce buffer init\n\nReorganize the code that initializes mmc_block\u0027s bounce buffer in\norder to avoid warnings when MMC_BLOCK_BOUNCE isn\u0027t used.\n\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "d941cf5e373c356723fa648b9f0302a11c9b1770",
      "tree": "f79c2cab0e6223e452cbb6599859eaeec4ba8188",
      "parents": [
        "9f5577d8158d8190174d95cbf21713251cc8a044",
        "393618510d5349e07d71dc28fb6fc49baf0d96a0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 26 14:00:56 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 26 14:00:56 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc:\n  drivers/mmc/core/: make 3 functions static\n  mmc: add missing printk levels\n  mmc: remove redundant debug information from sdhci and wbsd\n  mmc: proper debugging output in core\n  mmc: be more verbose about card insertions/removal\n  mmc: Don\u0027t hold lock when releasing an added card\n  mmc: add a might_sleep() to mmc_claim_host()\n  mmc: update kerneldoc\n  mmc: update header file paths\n  sdhci: add support to ENE-CB714\n  mmc: check error bits before command completion\n"
    },
    {
      "commit": "70f10482c668301c483acded13bf68780ad352b9",
      "tree": "d59aaa4f58d19f6253e17a9784c815f104012d23",
      "parents": [
        "b8352260d28b30cb2bb2df99814fb9c360e38901"
      ],
      "author": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Wed Jul 11 20:04:50 2007 +0200"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Thu Jul 26 01:53:31 2007 +0200"
      },
      "message": "mmc: update header file paths\n\nMake sure all headers in the files reflect their true position\nin the tree.\n\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "165125e1e480f9510a5ffcfbfee4e3ee38c05f23",
      "tree": "8009c8a5ff09e26dc2418d42f66ecafb055c52a2",
      "parents": [
        "f695baf2df9e0413d3521661070103711545207a"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 24 09:28:11 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 24 09:28:11 2007 +0200"
      },
      "message": "[BLOCK] Get rid of request_queue_t typedef\n\nSome of the code has been gradually transitioned to using the proper\nstruct request_queue, but there\u0027s lots left. So do a full sweet of\nthe kernel and get rid of this typedef and replace its uses with\nthe proper type.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "dd00cc486ab1c17049a535413d1751ef3482141c",
      "tree": "d90ff69ea06792b9284f2f2665c96624f121b88a",
      "parents": [
        "3b5ad0797c0e4049001f961a8b58f1d0ce532072"
      ],
      "author": {
        "name": "Yoann Padioleau",
        "email": "padator@wanadoo.fr",
        "time": "Thu Jul 19 01:49:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:50 2007 -0700"
      },
      "message": "some kmalloc/memset -\u003ekzalloc (tree wide)\n\nTransform some calls to kmalloc/memset to a single kzalloc (or kcalloc).\n\nHere is a short excerpt of the semantic patch performing\nthis transformation:\n\n@@\ntype T2;\nexpression x;\nidentifier f,fld;\nexpression E;\nexpression E1,E2;\nexpression e1,e2,e3,y;\nstatement S;\n@@\n\n x \u003d\n- kmalloc\n+ kzalloc\n  (E1,E2)\n  ...  when !\u003d \\(x-\u003efld\u003dE;\\|y\u003df(...,x,...);\\|f(...,x,...);\\|x\u003dE;\\|while(...) S\\|for(e1;e2;e3) S\\)\n- memset((T2)x,0,E1);\n\n@@\nexpression E1,E2,E3;\n@@\n\n- kzalloc(E1 * E2,E3)\n+ kcalloc(E1,E2,E3)\n\n[akpm@linux-foundation.org: get kcalloc args the right way around]\nSigned-off-by: Yoann Padioleau \u003cpadator@wanadoo.fr\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nAcked-by: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Bryan Wu \u003cbryan.wu@analog.com\u003e\nAcked-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Dave Airlie \u003cairlied@linux.ie\u003e\nAcked-by: Roland Dreier \u003crolandd@cisco.com\u003e\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nAcked-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\nAcked-by: Pierre Ossman \u003cdrzeus-list@drzeus.cx\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nAcked-by: Greg KH \u003cgreg@kroah.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "831441862956fffa17b9801db37e6ea1650b0f69",
      "tree": "b0334921341f8f1734bdd3243de76d676329d21c",
      "parents": [
        "787d2214c19bcc9b6ac48af0ce098277a801eded"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jul 17 04:03:35 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:02 2007 -0700"
      },
      "message": "Freezer: make kernel threads nonfreezable by default\n\nCurrently, the freezer treats all tasks as freezable, except for the kernel\nthreads that explicitly set the PF_NOFREEZE flag for themselves.  This\napproach is problematic, since it requires every kernel thread to either\nset PF_NOFREEZE explicitly, or call try_to_freeze(), even if it doesn\u0027t\ncare for the freezing of tasks at all.\n\nIt seems better to only require the kernel threads that want to or need to\nbe frozen to use some freezer-related code and to remove any\nfreezer-related code from the other (nonfreezable) kernel threads, which is\ndone in this patch.\n\nThe patch causes all kernel threads to be nonfreezable by default (ie.  to\nhave PF_NOFREEZE set by default) and introduces the set_freezable()\nfunction that should be called by the freezable kernel threads in order to\nunset PF_NOFREEZE.  It also makes all of the currently freezable kernel\nthreads call set_freezable(), so it shouldn\u0027t cause any (intentional)\nchange of behaviour to appear.  Additionally, it updates documentation to\ndescribe the freezing of tasks more accurately.\n\n[akpm@linux-foundation.org: build fixes]\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Nigel Cunningham \u003cnigel@nigel.suspend2.net\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "98ccf14909ba02a41c5925b0b2c92aeeef23d3b9",
      "tree": "331b645ee008f858305f7406f4639119b275ff82",
      "parents": [
        "7dcca30a32aadb0520417521b0c44f42d09fe05c"
      ],
      "author": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Sat May 12 00:26:16 2007 +0200"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Mon Jul 09 21:22:53 2007 +0200"
      },
      "message": "mmc: bounce requests for simple hosts\n\nSome hosts cannot do scatter/gather in hardware. Since not doing sg\nis such a big performance hit, we (optionally) bounce the requests\nto a simple linear buffer that we hand over to the driver.\n\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "9c9f2d63a77325bc050e4ed9255ee8270c067d1a",
      "tree": "8f70e19e66f3ef10e9e15e04fc005491596f60b6",
      "parents": [
        "585a2858b970cb6e2e5ca4877eefd18b4dba8ed4"
      ],
      "author": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Wed May 16 17:29:21 2007 +0200"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Thu May 24 06:51:02 2007 +0200"
      },
      "message": "mmc: clean up unused parts of block driver\n\nRemove dead code and unused structs from the block driver.\n\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "fe6b4c8840c5e23fe9b8696450cee8f2e8cebffd",
      "tree": "b5812c0950da7c1a32c3f098874aa26b2d4062e5",
      "parents": [
        "6ba736a10e4ae63b38ccfee9f22b3263a6e5d050"
      ],
      "author": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Mon May 14 17:27:29 2007 +0200"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Mon May 14 18:51:43 2007 +0200"
      },
      "message": "mmc: use assigned major for block device\n\nThe MMC block devices now have an assigned major. Make sure\nwe actually use it.\n\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "790864dcc2b3fe65355dd84ef8481e54b1bc61b6",
      "tree": "0b544fde6b0ecab144df3ecb9b584bbb6522465c",
      "parents": [
        "055b8224140e7a7515bf8113ce675d58abffedf1"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@gmx.de",
        "time": "Tue May 08 22:30:32 2007 +0200"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Tue May 08 22:41:55 2007 +0200"
      },
      "message": "mmc: Use menuconfig objects\n\nChange Kconfig objects from \"menu, config\" into \"menuconfig\" so\nthat the user can disable the whole feature without having to\nenter the menu first.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@gmx.de\u003e\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "da7fbe58d2d347e95af699ddf04d885be6362bbe",
      "tree": "560df47c41bb64ace46f82f9fa5e2fabc8bafbab",
      "parents": [
        "aaac1b470bd0dccb30912356617069dc6199cc80"
      ],
      "author": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Sun Dec 24 22:46:55 2006 +0100"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Tue May 01 13:04:18 2007 +0200"
      },
      "message": "mmc: Separate out protocol ops\n\nMove protocol operations and definitions into their own files\nin an effort to separate protocol handling and bus\narbitration more clearly.\n\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "b855885e3b60cf6f9452848712a62517b94583eb",
      "tree": "2e8a6fb8d8992ac8fb968a26c6db8778c2b5e791",
      "parents": [
        "b5af25bee2de2f6cd1ac74ba737cbc4f3d303e5d"
      ],
      "author": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Wed Jan 03 19:47:29 2007 +0100"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Tue May 01 13:04:18 2007 +0200"
      },
      "message": "mmc: deprecate mmc bus topology\n\nThe classic MMC bus was defined as multi card bus\nsystem, which is reflected in the design in the MMC\nlayer.\n\nWhen SD showed up, the bus topology was abandoned\nand a star topology (one card per host) was mandated.\nMMC version 4 has followed this, officially deprecating\nthe bus topology.\n\nAs we do not have any known users of the bus\ntopology we can remove support for it. This will\nsimplify the code and rectify some incorrect\nassumptions in the newer additions.\n\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "d2b46f66b4b342be07a4194bd5e82384d07e470d",
      "tree": "f65f8147e6e338d271ea0d5502cacc31190d06fe",
      "parents": [
        "3b91e5507cddaca53bccf1524ff11a0ac5c85531"
      ],
      "author": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Sat Apr 28 16:52:12 2007 +0200"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Tue May 01 13:04:17 2007 +0200"
      },
      "message": "mmc: allow suspended block driver to be removed\n\nMake sure we don\u0027t deadlock when removing a suspended block\nqueue, something that might happen if the card is removed during\nsuspend.\n\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "1c6a0718f0bfdab0d9b7da5f7b74f38a0058c03a",
      "tree": "5e7f2a26d5d1782d87c596b40f874c6c0b8b8e1a",
      "parents": [
        "98ac2162699f7e9880683cb954891817f20b607c"
      ],
      "author": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Sun Feb 11 19:57:36 2007 +0100"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Tue May 01 13:04:17 2007 +0200"
      },
      "message": "mmc: Move host and card drivers to subdirs\n\nClean up the drivers/mmc directory by moving card and host drivers\ninto subdirectories.\n\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    }
  ]
}
