)]}'
{
  "log": [
    {
      "commit": "acf0108a84edae22b99655eb2f6f6c9f7ec4d449",
      "tree": "bfd93125ccff25c774c2e4d71a8ba537312950ab",
      "parents": [
        "b8e465f4945bc0e9f324e3bbe15f5180a8e9a6fe"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Sat Oct 18 20:28:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:40 2008 -0700"
      },
      "message": "byteorder: use generic C version for value byteswapping\n\nThis makes the new implementation of the byteorder helpers match the old\nin how it degraded when an arch-defined version was not available:\n\n1) swab()\n\t- look for arch defined\n\t- if not, use generic c version\n\n2) swabp()\n\t- look for arch-defined\n\t- if not, deref pointer and use swab()\n\n3) swabs()\n\t- look for arch defined\n\t- if not, use swabp\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "40c9f22210f2d22f45d4fb430c94f472d19407d6",
      "tree": "df633e4af23a8060aa3557d2910bdec16f717f06",
      "parents": [
        "f18e439d1035d059534d261c414af33f89aee89a"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Aug 12 15:09:04 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 12 16:07:30 2008 -0700"
      },
      "message": "byteorder: add a new include/linux/swab.h to define byteswapping functions\n\nCollect the implementations from include/linux/byteorder/swab.h, swabb.h\nin swab.h\n\nThe functionality provided covers:\nu16 swab16(u16 val) - return a byteswapped 16 bit value\nu32 swab32(u32 val) - return a byteswapped 32 bit value\nu64 swab64(u64 val) - return a byteswapped 64 bit value\nu32 swahw32(u32 val) - return a wordswapped 32 bit value\nu32 swahb32(u32 val) - return a high/low byteswapped 32 bit value\n\nSimilar to above, but return swapped value from a naturally-aligned pointer\nu16 swab16p(u16 *p)\nu32 swab32p(u32 *p)\nu64 swab64p(u64 *p)\nu32 swahw32p(u32 *p)\nu32 swahb32p(u32 *p)\n\nSimilar to above, but swap the value in-place (in-situ)\nvoid swab16s(u16 *p)\nvoid swab32s(u32 *p)\nvoid swab64s(u64 *p)\nvoid swahw32s(u32 *p)\nvoid swahb32s(u32 *p)\n\nArches can override any of these with an optimized version by defining an\ninline in their asm/byteorder.h (example given for swab16()):\n\nu16 __arch_swab16() {}\n #define __arch_swab16 __arch_swab16\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ]
}
