)]}'
{
  "log": [
    {
      "commit": "92af11cdec410f5de4e8d702d24e1672ce26a1f6",
      "tree": "329a87ad837ff445a111dc8455d0d1f3425a9ab6",
      "parents": [
        "0645819196b5029936cf07a8ba27860e0d45c8d9"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 27 02:24:14 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 27 02:27:23 2006 -0400"
      },
      "message": "[PATCH] missing readb/readw in rio\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "0645819196b5029936cf07a8ba27860e0d45c8d9",
      "tree": "4691984b5c51c8315af84f2762c39a106216c5bb",
      "parents": [
        "6bc540e69a6376b9d58d8490f4998da9e45e2746"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 27 02:11:12 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 27 02:27:15 2006 -0400"
      },
      "message": "[PATCH] copy_to_user() from iomem is a bad thing\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6bc540e69a6376b9d58d8490f4998da9e45e2746",
      "tree": "26abbdf8b4e8ca51c2c5dfa015158119d48bb4f4",
      "parents": [
        "1bf087194f01bce5b2d7b39f27d71d5f346fbf08"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 27 02:00:00 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 27 02:27:06 2006 -0400"
      },
      "message": "[PATCH] forgotten swap of copyout() arguments\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1bf087194f01bce5b2d7b39f27d71d5f346fbf08",
      "tree": "da68ababe29fb526d92bd9bf10084921f747bd0d",
      "parents": [
        "ae5b28a5bb1b5f5d53085a044aec69db41fd0336"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 27 01:55:52 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 27 02:26:58 2006 -0400"
      },
      "message": "[PATCH] handling rio MEMDUMP\n\nit copies data _from_ iomem, so it should be rio_memcpy_fromio(), not\n-\u003eCopy().\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ae5b28a5bb1b5f5d53085a044aec69db41fd0336",
      "tree": "8b618a3ef0efc0c49de551c4c13fd146b38fa746",
      "parents": [
        "bfa6b7bb35a9c8c8acae3056f2cb3364c52693d4"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 27 01:48:08 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 27 02:26:49 2006 -0400"
      },
      "message": "[PATCH] fix rio_copy_to_card() for OLDPCI case\n\nIt replaced old rio_pcicopy().  That puppy did _not_ do readb() (unlike\nrio_memcpy_toio()) and current implementation is simply broken - readb(NULL)\nis never a valid thing to do.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "bfa6b7bb35a9c8c8acae3056f2cb3364c52693d4",
      "tree": "eb6c4b26737a51b09b5acb26dee1546d5f7571d6",
      "parents": [
        "c7c0d0a10f6e4cea95ed84adcdd37948cac09b85"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 27 00:36:10 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 27 02:26:40 2006 -0400"
      },
      "message": "[PATCH] uses of -\u003eCopy() in rioroute are bogus\n\n... there we are building a command in normal memory; it will be\ncopied to iomem (by -\u003eCopy()) later.  Use memcpy()...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c7c0d0a10f6e4cea95ed84adcdd37948cac09b85",
      "tree": "4af26a97e8561766a9b0da9a29926ae645dc0468",
      "parents": [
        "38d0d001b973d8c72c18524cc25ef39db85c66cd"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 27 00:19:54 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 27 02:26:32 2006 -0400"
      },
      "message": "[PATCH] bogus order of copy_from_user() arguments\n\n... aka \"somebody forgot to swap arguments when converting from copyin()\"\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "38d0d001b973d8c72c18524cc25ef39db85c66cd",
      "tree": "c261b690e3fcdc87bbc4d07b95083d8944503919",
      "parents": [
        "d886cb586f60a5ccf156392f96a39bc52db925d0"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 27 00:15:09 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 27 02:26:23 2006 -0400"
      },
      "message": "[PATCH] rio -\u003eCopy() expects the sourse as first argument\n\n... so conversion from rio_pcicopy() to rio_copy_to_card() had broken the\ndamn thing.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d886cb586f60a5ccf156392f96a39bc52db925d0",
      "tree": "5862de796cf8dfd2f38e30d36cc589a07b5f9d88",
      "parents": [
        "a8bd60705aa17a998516837d9c1e503ad4cbd7fc"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 27 00:08:25 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 27 02:26:14 2006 -0400"
      },
      "message": "[PATCH] trivial annotations in rio\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "655fdeab809a5612b0eab6aee873b00d26404ca7",
      "tree": "9aa5608c1ee21cf03abae11b8ae2f13c18d9c12c",
      "parents": [
        "2a7362f52a17e8dbeab57c00c3c45fcfeb0dff54"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon May 15 09:44:26 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon May 15 11:20:57 2006 -0700"
      },
      "message": "[PATCH] Final rio polish\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "554b7c801e379e8c0072533b4da89a3a003cbfac",
      "tree": "86f2da1549e37648948fe3d091ecc76c18714597",
      "parents": [
        "57c2d60e1e3db506cdcecbf60f939593125db7f8"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Mar 24 03:18:32 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:29 2006 -0800"
      },
      "message": "[PATCH] Yet more rio cleaning (2 of 2)\n\n- Remove more unused headers\n- Remove various typedefs\n- Correct type of PaddrP (physical addresses should be ulong)\n- Kill use of bcopy\n- More printk cleanups\n- Kill true/false\n- Clean up direct access to pci BARs\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "57c2d60e1e3db506cdcecbf60f939593125db7f8",
      "tree": "f91c0b9b1682772fd5150919fd8a57479700f2dc",
      "parents": [
        "db3185242a9a369d5ef13cd2baf196507925009e"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Mar 24 03:18:31 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:29 2006 -0800"
      },
      "message": "[PATCH] Yet more rio cleaning (1 of 2)\n\n- Remove more unused headers\n- Remove various typedefs\n- Correct type of PaddrP (physical addresses should be ulong)\n- Kill use of bcopy\n- More printk cleanups\n- Kill true/false\n- Clean up direct access to pci BARs\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "db3185242a9a369d5ef13cd2baf196507925009e",
      "tree": "7fd6fcd3df83ba2af2f54f5861091f019d68cde3",
      "parents": [
        "3d336aa257ba382c3ad7883ee000cbacb761e411"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Mar 24 03:18:30 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:29 2006 -0800"
      },
      "message": "[PATCH] rio driver rework continued #5\n\nFinal polish.  There is no more save_flags/cli type locking left.  We also no\nlonger use the pcicopy function and file so they can go.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3d336aa257ba382c3ad7883ee000cbacb761e411",
      "tree": "655026fde099cb11ac6c3bac67092a6ebc9551d8",
      "parents": [
        "00d83a54aa824b11ebc8c66c4a879cfeb5029a22"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Mar 24 03:18:29 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:29 2006 -0800"
      },
      "message": "[PATCH] rio driver rework continued #4\n\nThird large chunk of code cleanup.  The split between this and #3 and #4 is\nfairly arbitary and due to the message length limit on the list.  These\npatches continue the process of ripping out macros and typedefs while cleaning\nup lots of 32bit assumptions.  Several inlines for compatibility also get\nremoved and that causes a lot of noise.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "00d83a54aa824b11ebc8c66c4a879cfeb5029a22",
      "tree": "c4d13bb89b7ee082439ae75a5c1ee2d9da52c3c4",
      "parents": [
        "e2b3afd676ad3e15ca2efca3b3605c7d817ec6e3"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Mar 24 03:18:28 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:29 2006 -0800"
      },
      "message": "[PATCH] rio driver rework continued #3\n\nSecond large chunk of code cleanup.  The split between this and #3 and #4 is\nfairly arbitary and due to the message length limit on the list.  These\npatches continue the process of ripping out macros and typedefs while cleaning\nup lots of 32bit assumptions.  Several inlines for compatibility also get\nremoved and that causes a lot of noise.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e2b3afd676ad3e15ca2efca3b3605c7d817ec6e3",
      "tree": "f6b7c9739e20a865b6f1f379ccbab67a63ddec53",
      "parents": [
        "27c6e526f34760a9c48a90112242b7165064fa85"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Mar 24 03:18:27 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:29 2006 -0800"
      },
      "message": "[PATCH] rio driver rework continued #2\n\nFirst large chunk of code cleanup.  The split between this and #3 and #4 is\nfairly arbitary and due to the message length limit on the list.  These\npatches continue the process of ripping out macros and typedefs while cleaning\nup lots of 32bit assumptions.  Several inlines for compatibility also get\nremoved and that causes a lot of noise.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "27c6e526f34760a9c48a90112242b7165064fa85",
      "tree": "40505dbe2ab69e7f8077c7473984deecff0203f3",
      "parents": [
        "b6c6b6021ec735bd105e130ac1ee1606575f74c3"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Mar 24 03:18:26 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:29 2006 -0800"
      },
      "message": "[PATCH] rio driver rework continued #1\n\nMore header cleanups, strip out typedefs and remove cruft.  There are a lot of\nmagic macros that can go and also a great deal of abuse of volatile that is\nnot needed any more as this patch set cleans up the misuse of pointer access\nto ISA and PCI space.\n\nIt now builds cleanly on 64bit, although there is more work left to do\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b6c6b6021ec735bd105e130ac1ee1606575f74c3",
      "tree": "098596ea049ca6ec10cb999ef2db943936c35a56",
      "parents": [
        "3b8e3f1e44326115f2a28a63ede62b1f5c53e46e"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Mar 24 03:18:26 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:28 2006 -0800"
      },
      "message": "[PATCH] rioboot: post-Lindent\n\nAfter the indent we can now clean up unused code, and fix all myriad cases\nthat don\u0027t use readb/writeb properly.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3b8e3f1e44326115f2a28a63ede62b1f5c53e46e",
      "tree": "d8f285f56cd2c178612f014ba8e07b5bbd66e22f",
      "parents": [
        "74769abfcb430b839914f3fe91e23a4f628d9553"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Mar 24 03:18:24 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:28 2006 -0800"
      },
      "message": "[PATCH] rioboot: lindent\n\nThis is the result of indent -kr -i8 -bri0 -l255\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "74769abfcb430b839914f3fe91e23a4f628d9553",
      "tree": "af7443e43f236d4d9e6c87ef777989989f1079ec",
      "parents": [
        "10e705f83c3e796893a70fb872895ba604901166"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Mar 24 03:18:24 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:28 2006 -0800"
      },
      "message": "[PATCH] rio: more header cleanup\n\nStrip some of the typedef mess out Remove a small subset of unused defines\nand the like.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "84542838a3829f34630c589c1eb570656c455a1c",
      "tree": "401218ce579c354427522d116f67d0bc1cb706ed",
      "parents": [
        "47ba87e0b1269698801310bfd1716b0538282405"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Feb 03 03:04:07 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Feb 03 08:32:04 2006 -0800"
      },
      "message": "[PATCH] rio cleanups\n\nINKERNEL is always defined\nHOST is never defined\ntherefore RTA is also never defined\n\nStrip the relevant garbage out of the headers on this basis.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f4caf1606d3bbe3a790997e3dc5bb2779c6b7daf",
      "tree": "4810d6604df1be8c89546b4508d95772da7d7549",
      "parents": [
        "1384cee55d326e806158cea4b983ef2a9d26e035"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Jan 16 17:27:38 2006 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 23:31:29 2006 -0800"
      },
      "message": "[PATCH] Remove unused code from rioctrl.c (Last for this batch of work)\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1384cee55d326e806158cea4b983ef2a9d26e035",
      "tree": "84b63922ab82f789e290f238ef72b20f478722f0",
      "parents": [
        "542ea6c37c2a77f7523c0703c326b8a9af2892bc"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Jan 16 17:25:42 2006 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 23:31:28 2006 -0800"
      },
      "message": "[PATCH] Remove rio_table.c unused code\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "542ea6c37c2a77f7523c0703c326b8a9af2892bc",
      "tree": "fd06ec091cd3092244df56f13ed419e9cd23915a",
      "parents": [
        "283c9d546ed7506b03f0d9da4441145aa5f2f6f9"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Jan 16 17:24:47 2006 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 23:31:28 2006 -0800"
      },
      "message": "[PATCH] Remove unused code from rio_linux.c\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "283c9d546ed7506b03f0d9da4441145aa5f2f6f9",
      "tree": "950375a7bb037dd133a9ad21a47a3bc41fed4f5c",
      "parents": [
        "8b03de1f667a5c15d1e4d50318a27a67669f8980"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Jan 16 17:21:25 2006 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 23:31:28 2006 -0800"
      },
      "message": "[PATCH] Remove unused CHECK code from riocmd.c\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8b03de1f667a5c15d1e4d50318a27a67669f8980",
      "tree": "859381fd898eba9a66040b88576ede5a47c198b8",
      "parents": [
        "f099bfb7089735ad1760b3c6938069af10a88cc0"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Jan 16 17:19:52 2006 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 23:31:28 2006 -0800"
      },
      "message": "[PATCH] Remove unused code from rioroute.h\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f099bfb7089735ad1760b3c6938069af10a88cc0",
      "tree": "400a33d80c643bcdd231f47b346c37d2b933c038",
      "parents": [
        "c7306c02874bf4d22bc0b1dbea34282d0b9a3df1"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Jan 16 17:18:05 2006 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 23:31:28 2006 -0800"
      },
      "message": "[PATCH] Remove unused code from rioboot.h\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c7306c02874bf4d22bc0b1dbea34282d0b9a3df1",
      "tree": "26d22dc836589b438a0e57222dc8910f0ac41f69",
      "parents": [
        "a6176eeab0ef1750ce21790a6c6f61ba6c9ffc63"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Jan 16 17:14:25 2006 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 23:31:28 2006 -0800"
      },
      "message": "[PATCH] Remove unused code from rioboot\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a6176eeab0ef1750ce21790a6c6f61ba6c9ffc63",
      "tree": "4b3f55bd031823085acdf731ceffea8a48558db7",
      "parents": [
        "925d70d64bfeccb669c0750943585944abb28b51"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Jan 16 17:11:50 2006 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 23:31:27 2006 -0800"
      },
      "message": "[PATCH] Remove #if 0 and other long dead code from rio_tty\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "925d70d64bfeccb669c0750943585944abb28b51",
      "tree": "80cb5fff01a025d2cfd3bc0985eebb917b14c10a",
      "parents": [
        "09979236d6dc6a51c21131c4a8c0be7e1992a398"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Jan 16 17:10:23 2006 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 23:31:27 2006 -0800"
      },
      "message": "[PATCH] Remove long dead #if 0 code from rio_param\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "09979236d6dc6a51c21131c4a8c0be7e1992a398",
      "tree": "2339465aae6addcfb35be74476d3c87a17982093",
      "parents": [
        "3918276ce5e3f5473428f307194fef422c0b12b8"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Jan 16 17:07:54 2006 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 23:31:27 2006 -0800"
      },
      "message": "[PATCH] Remove old firmware headers from rio drivers\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3918276ce5e3f5473428f307194fef422c0b12b8",
      "tree": "b3738a145d5e2d82e8d01a348df04f6265ec3673",
      "parents": [
        "169da21f403adf6698ef9bbb759e27c1f496b2b5"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Jan 16 17:05:55 2006 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 23:31:27 2006 -0800"
      },
      "message": "[PATCH] Remove rtahw.h from rio driver (unused file)\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "169da21f403adf6698ef9bbb759e27c1f496b2b5",
      "tree": "ec0047246934159f2006dd77138423396fd9e7e3",
      "parents": [
        "a09be029bbf8ceded3d9dd9715df70f1f8297b80"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Jan 16 17:03:49 2006 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 23:30:31 2006 -0800"
      },
      "message": "[PATCH] Remove file riscos.h from rio driver (unused file)\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a09be029bbf8ceded3d9dd9715df70f1f8297b80",
      "tree": "9f5a2a9fb295fc0d58cebe2672c99d371f0d4f20",
      "parents": [
        "69da7f9a63679a8af67325c572a3bd1338c05df8"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Jan 16 17:02:43 2006 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 23:30:31 2006 -0800"
      },
      "message": "[PATCH] Remove file riowinif.h from rio driver (unused file)\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "69da7f9a63679a8af67325c572a3bd1338c05df8",
      "tree": "e91720240a1b8dd1ceac2fe0a70c451ebab39637",
      "parents": [
        "8618751503b66f1c2b1f8e715ffc006fa91c2400"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Jan 16 17:01:41 2006 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 23:30:31 2006 -0800"
      },
      "message": "[PATCH] Remove riotime.h from rio driver (unused file)\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8618751503b66f1c2b1f8e715ffc006fa91c2400",
      "tree": "8f94dcdb14adc2892ee9549d6f713d88ea625611",
      "parents": [
        "0d336ceb1e35e12ec26936be421da99eeff0a3de"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Jan 16 16:59:40 2006 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 23:30:31 2006 -0800"
      },
      "message": "[PATCH] Remove file riolocks.h from rio driver (unused file)\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0d336ceb1e35e12ec26936be421da99eeff0a3de",
      "tree": "d19dd035a233b0750810a792a0c68ca18005a6a4",
      "parents": [
        "735f88c62ec8df5a3ec730c1bbf47907d76b6f75"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Jan 16 16:58:38 2006 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 23:30:30 2006 -0800"
      },
      "message": "[PATCH] Remove proto.h from rio driver (unused file)\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "735f88c62ec8df5a3ec730c1bbf47907d76b6f75",
      "tree": "fef2e3c9907e9014eb093e30d70efa8533d8e595",
      "parents": [
        "009c4cb8aa0a32548c5aaec5b7b49b307fb6bf6a"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Jan 16 16:57:18 2006 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 23:30:30 2006 -0800"
      },
      "message": "[PATCH] Remove poll.h from rio driver (unused file)\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "009c4cb8aa0a32548c5aaec5b7b49b307fb6bf6a",
      "tree": "6ec5d4cd8c85a452490b2e0d59222dfe5f76447e",
      "parents": [
        "125ca8fb5bbab8ff726bb538120b553f30cd136f"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Jan 16 16:56:16 2006 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 23:30:30 2006 -0800"
      },
      "message": "[PATCH] Remove mesg.h from rio driver (unused file)\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "125ca8fb5bbab8ff726bb538120b553f30cd136f",
      "tree": "12a8b2b2bf8329fc4bf280af85c242456aa30720",
      "parents": [
        "67abbfe7deccf4a800fb246f9cecd6b7836ab150"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Jan 16 16:54:30 2006 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 23:30:30 2006 -0800"
      },
      "message": "[PATCH] Remove mca.h from rio driver (unused file)\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "67abbfe7deccf4a800fb246f9cecd6b7836ab150",
      "tree": "0131099d1afd3aecf32a8ca4a18b37c9034f571d",
      "parents": [
        "b52a90dbe654c89bb9a50c90462a69931701428f"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Jan 16 16:53:38 2006 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 23:30:30 2006 -0800"
      },
      "message": "[PATCH] Remove internal firmware building files from rio\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b52a90dbe654c89bb9a50c90462a69931701428f",
      "tree": "25d55b8468c69827708f08123d46dcff3e469c37",
      "parents": [
        "85ae2f9cabbb029b0fce3fa8c641de7f0983e308"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Jan 16 16:52:36 2006 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 23:30:30 2006 -0800"
      },
      "message": "[PATCH] Remove hosthw.h from rio (unused file)\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "85ae2f9cabbb029b0fce3fa8c641de7f0983e308",
      "tree": "e04396517c7e51c36aafae663cfd4239f5dc4102",
      "parents": [
        "bed445d41e0ca4b09ffbb82274fb79fb444030e7"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Jan 16 16:51:37 2006 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 23:30:30 2006 -0800"
      },
      "message": "[PATCH] Remove formpkt.h from rio (unused file)\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bed445d41e0ca4b09ffbb82274fb79fb444030e7",
      "tree": "ec9c373eb82fa13557c24ca7e77078eb127df2cc",
      "parents": [
        "e67f76a6b1ab418b8232791d99ee728a395bd335"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Jan 16 16:50:07 2006 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 23:30:29 2006 -0800"
      },
      "message": "[PATCH] Remove enable.h from rio (unused file)\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e67f76a6b1ab418b8232791d99ee728a395bd335",
      "tree": "ed24f7438882efe0515579887c11cbca149ed933",
      "parents": [
        "0d233681274013a554194ce8e2fe8945cd49979f"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Jan 16 16:49:15 2006 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 23:30:29 2006 -0800"
      },
      "message": "[PATCH] Remove enable.h from rio driver (unused file)\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0d233681274013a554194ce8e2fe8945cd49979f",
      "tree": "671c2357fe145cc7f10a8d3e115867c52096fc2a",
      "parents": [
        "4198d8c3687418f245d7b351fd34702fb7fe0668"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Jan 16 16:48:12 2006 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 23:30:29 2006 -0800"
      },
      "message": "[PATCH] Remove debug.h from rio.h (unused file)\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4198d8c3687418f245d7b351fd34702fb7fe0668",
      "tree": "98639242a534829d1a259395448903659f2cdcc6",
      "parents": [
        "98da212f0d22cb6ef7fee96e62572c763194c77b"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Jan 16 16:47:14 2006 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 23:30:29 2006 -0800"
      },
      "message": "[PATCH] Remove data.h from rio driver (unused file)\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "98da212f0d22cb6ef7fee96e62572c763194c77b",
      "tree": "3bfd7dfb21c1c41379d9cce56943dfb7e17c65ba",
      "parents": [
        "e8a9858aa2af3d14a37eafc6182d3b12923be41c"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Jan 16 16:46:17 2006 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 23:30:29 2006 -0800"
      },
      "message": "[PATCH] Remove chan.h from rio driver (unused file)\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e8a9858aa2af3d14a37eafc6182d3b12923be41c",
      "tree": "9cbcb6c42b956d77706ad3557b819ab5b40cadff",
      "parents": [
        "f504fb59c7e356d00ac56933a4462a6ba74d0c1d"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Jan 16 16:45:18 2006 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 23:30:29 2006 -0800"
      },
      "message": "[PATCH] Remove cmd.h from rio driver (unused file)\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f504fb59c7e356d00ac56933a4462a6ba74d0c1d",
      "tree": "c37190e38baea806f684a5aa50a243a751a6fdd4",
      "parents": [
        "4f4e2dc3ce46d279a311e5250ac3cbd394279c31"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Jan 16 16:44:05 2006 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 23:30:29 2006 -0800"
      },
      "message": "[PATCH] Remove brates.h from rio driver (unused file)\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8d8706e2f86d28814c1b40a116ffdeca35e4c949",
      "tree": "146567d7a807feb37a5368fbb4a6ee76d9d7bc7e",
      "parents": [
        "a9415644583ef344e02f84faf5fe24bfadb2af8e"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed Jan 11 12:17:49 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 11 18:42:14 2006 -0800"
      },
      "message": "[PATCH] lindent rio drivers\n\nRun all rio files through indent -kr -i8 -bri0 -l255, as requested by Alan.\n\nrioboot.c and rioinit.c were skipped due to worrisome lindent warnings.\n\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "33f0f88f1c51ae5c2d593d26960c760ea154c2e2",
      "tree": "f53a38cf49406863f079d74d0e8f91b276f7c1a9",
      "parents": [
        "6ed80991a2dce4afc113be35089c564d62fa1f11"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Jan 09 20:54:13 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jan 10 08:01:59 2006 -0800"
      },
      "message": "[PATCH] TTY layer buffering revamp\n\nThe API and code have been through various bits of initial review by\nserial driver people but they definitely need to live somewhere for a\nwhile so the unconverted drivers can get knocked into shape, existing\ndrivers that have been updated can be better tuned and bugs whacked out.\n\nThis replaces the tty flip buffers with kmalloc objects in rings. In the\nnormal situation for an IRQ driven serial port at typical speeds the\nbehaviour is pretty much the same, two buffers end up allocated and the\nkernel cycles between them as before.\n\nWhen there are delays or at high speed we now behave far better as the\nbuffer pool can grow a bit rather than lose characters. This also means\nthat we can operate at higher speeds reliably.\n\nFor drivers that receive characters in blocks (DMA based, USB and\nespecially virtualisation) the layer allows a lot of driver specific\ncode that works around the tty layer with private secondary queues to be\nremoved. The IBM folks need this sort of layer, the smart serial port\npeople do, the virtualisers do (because a virtualised tty typically\noperates at infinite speed rather than emulating 9600 baud).\n\nFinally many drivers had invalid and unsafe attempts to avoid buffer\noverflows by directly invoking tty methods extracted out of the innards\nof work queue structs. These are no longer needed and all go away. That\nfixes various random hangs with serial ports on overflow.\n\nThe other change in here is to optimise the receive_room path that is\nused by some callers. It turns out that only one ldisc uses receive room\nexcept asa constant and it updates it far far less than the value is\nread. We thus make it a variable not a function call.\n\nI expect the code to contain bugs due to the size alone but I\u0027ll be\nwatching and squashing them and feeding out new patches as it goes.\n\nBecause the buffers now dynamically expand you should only run out of\nbuffering when the kernel runs out of memory for real.  That means a lot of\nthe horrible hacks high performance drivers used to do just aren\u0027t needed any\nmore.\n\nDescription:\n\ntty_insert_flip_char is an old API and continues to work as before, as does\ntty_flip_buffer_push() [this is why many drivers dont need modification].  It\ndoes now also return the number of chars inserted\n\nThere are also\n\ntty_buffer_request_room(tty, len)\n\nwhich asks for a buffer block of the length requested and returns the space\nfound.  This improves efficiency with hardware that knows how much to\ntransfer.\n\nand tty_insert_flip_string_flags(tty, str, flags, len)\n\nto insert a string of characters and flags\n\nFor a smart interface the usual code is\n\n    len \u003d tty_request_buffer_room(tty, amount_hardware_says);\n    tty_insert_flip_string(tty, buffer_from_card, len);\n\nMore description!\n\nAt the moment tty buffers are attached directly to the tty.  This is causing a\nlot of the problems related to tty layer locking, also problems at high speed\nand also with bursty data (such as occurs in virtualised environments)\n\nI\u0027m working on ripping out the flip buffers and replacing them with a pool of\ndynamically allocated buffers.  This allows both for old style \"byte I/O\"\ndevices and also helps virtualisation and smart devices where large blocks of\ndata suddenely materialise and need storing.\n\nSo far so good.  Lots of drivers reference tty-\u003eflip.*.  Several of them also\ncall directly and unsafely into function pointers it provides.  This will all\nbreak.  Most drivers can use tty_insert_flip_char which can be kept as an API\nbut others need more.\n\nAt the moment I\u0027ve added the following interfaces, if people think more will\nbe needed now is a good time to say\n\n int tty_buffer_request_room(tty, size)\n\nTry and ensure at least size bytes are available, returns actual room (may be\nzero).  At the moment it just uses the flipbuf space but that will change.\nRepeated calls without characters being added are not cumulative.  (ie if you\ncall it with 1, 1, 1, and then 4 you\u0027ll have four characters of space.  The\nother functions will also try and grow buffers in future but this will be a\nmore efficient way when you know block sizes.\n\n int tty_insert_flip_char(tty, ch, flag)\n\nAs before insert a character if there is room.  Now returns 1 for success, 0\nfor failure.\n\n int tty_insert_flip_string(tty, str, len)\n\nInsert a block of non error characters.  Returns the number inserted.\n\n int tty_prepare_flip_string(tty, strptr, len)\n\nAdjust the buffer to allow len characters to be added.  Returns a buffer\npointer in strptr and the length available.  This allows for hardware that\nneeds to use functions like insl or mencpy_fromio.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nCc: Paul Fulghum \u003cpaulkf@microgate.com\u003e\nSigned-off-by: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nSigned-off-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: John Hawkes \u003chawkes@sgi.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fe971071a89c5c5184fc9f3482c7a8e997cf0520",
      "tree": "74a29e80d5636255f33c750482497a32d8d3491f",
      "parents": [
        "3c6bee1d4037a5c569f30d40bd852a57ba250912"
      ],
      "author": {
        "name": "Tobias Klauser",
        "email": "tklauser@nuerscht.ch",
        "time": "Mon Jan 09 20:54:02 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jan 10 08:01:56 2006 -0800"
      },
      "message": "[PATCH] drivers/char: Use ARRAY_SIZE macro\n\nUse ARRAY_SIZE macro instead of sizeof(x)/sizeof(x[0]) and remove\nduplicates of ARRAY_SIZE.\n\nSigned-off-by: Tobias Klauser \u003ctklauser@nuerscht.ch\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "aed615a95f6dcc243daa99cc80658ad9ada95097",
      "tree": "86ed78f9de3ec9eebd33220b916715f30c4d1b39",
      "parents": [
        "ed653a640419cd9d1ad0f8dc176478e6634a694e"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Jan 09 20:51:39 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jan 10 08:01:26 2006 -0800"
      },
      "message": "[PATCH] Disable rio on 64-bit platforms\n\nDo it via Kconfig rather than via #error.\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@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "44456d37b59d8e541936ed26d8b6e08d27e88ac1",
      "tree": "11ca6fa29b8cfb56ecef2d1f4f9dc2d9d71d2a2f",
      "parents": [
        "02b775696fee75a04041d8d94db26a9462216d24"
      ],
      "author": {
        "name": "Olaf Hering",
        "email": "olh@suse.de",
        "time": "Wed Jul 27 11:45:17 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jul 27 16:26:08 2005 -0700"
      },
      "message": "[PATCH] turn many #if $undefined_string into #ifdef $undefined_string\n\nturn many #if $undefined_string into #ifdef $undefined_string to fix some\nwarnings after -Wno-def was added to global CFLAGS\n\nSigned-off-by: Olaf Hering \u003colh@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "efe1ec27837d6639eae82e1f5876910ba6433c3f",
      "tree": "16070e93c8ea98f2da9ab8546024cc6d0e11388f",
      "parents": [
        "881a8c120acf7ec09c90289e2996b7c70f51e996"
      ],
      "author": {
        "name": "Amit Gud",
        "email": "gud@eth.net",
        "time": "Tue Apr 12 19:04:27 2005 +0530"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 27 21:52:38 2005 -0700"
      },
      "message": "[PATCH] pci: remove deprecates\n\nReplace pci_find_device() with more safer pci_get_device().\n\nSigned-off-by: Amit Gud \u003cgud@eth.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "97998d8fdb5530edd466b006423a422ea790cf23",
      "tree": "3b3b693338cf2eb23620783db4de076a8745a900",
      "parents": [
        "d660a7403a801018dc65208dbcba4463c3038b1f"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sat Jun 25 14:59:35 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:25:10 2005 -0700"
      },
      "message": "[PATCH] drivers/char/rio/: kill rio_udelay\n\nThere\u0027s no need for a function that only calls udelay.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d2a457cf26020fb7aa992915388001eb983d0aa8",
      "tree": "6e6e5baaf8d119c5c1b8e35509f1da0452485279",
      "parents": [
        "2b1ee233f52c247d3a074ce660ece08bf097a47b"
      ],
      "author": {
        "name": "M.Baris Demiray",
        "email": "baris@labristeknoloji.com",
        "time": "Sat Jun 25 14:58:40 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:57 2005 -0700"
      },
      "message": "[PATCH] riotty.c cleanups and warning fix\n\nFix a bunch of whitespace oddities and use `unsigned long\u0027 for a\njiffies-holding variable.\n\nSigned-off-by: M.Baris Demiray \u003cbaris@labristeknoloji.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "408b664a7d394a5e4315fbd14aca49b042cb2b08",
      "tree": "bd3ebe72229227962d157e46e61ed65b78d6e28b",
      "parents": [
        "c31403a1f5a761599df38bcc2d6ba94f24320c33"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sun May 01 08:59:29 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:59:29 2005 -0700"
      },
      "message": "[PATCH] make lots of things static\n\nAnother large rollup of various patches from Adrian which make things static\nwhere they were needlessly exported.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
