)]}'
{
  "log": [
    {
      "commit": "74d96f018673759d04d032c137d132f6447bfb1e",
      "tree": "426f0649e0903c185a1426da65b4d8eeb5c8cf12",
      "parents": [
        "aa0effbd1c0269ce7dd13be8dbf13e6b04f30ebd"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Jan 13 19:27:09 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 14 19:56:50 2009 -0800"
      },
      "message": "byteorder: make swab.h include asm/swab.h like a regular header\n\nAdd swab.h to kbuild.asm and remove the individual entries from\neach arch, mark as unifdef as some arches have some kernel-only\nbits inside.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ede6f5aea054d3fb67c78857f7abdee602302043",
      "tree": "45362cd6f23e2eddc0004c96c46bca4ad82c9bd3",
      "parents": [
        "637b180c23313f2964e0ef20f1ee375203866968"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 21:17:57 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 21:17:57 2009 -0800"
      },
      "message": "Fix up 64-bit byte swaps for most 32-bit architectures\n\nThe __SWAB_64_THRU_32__ case of a 64-bit byte swap was depending on the\nno-longer-existant ___swab32() method (three underscores).  We got rid\nof some of the worst indirection and complexity, and now it should just\nuse the 32-bit swab function that was defined right above it.\n\nReported-and-tested-by: Nicolas Pitre \u003cnico@cam.org\u003e\nReported-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "991c0e6d1ae3df59f0ddfe05edecec8319e35a1b",
      "tree": "3bc3d717b6d3e6a05d07b62738e0605851a7259a",
      "parents": [
        "c89a9f5a42811aa5b2f258e32750c0109f570fc1"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Jan 06 14:56:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 18:10:26 2009 -0800"
      },
      "message": "byteorder: only use linux/swab.h\n\nThe first step to make swab.h a regular header that will\ninclude an asm/swab.h with arch overrides.\n\nAvoid the gratuitous differences introduced in the new\nlinux/swab.h by naming the ___constant_swabXX bits and\n__fswabXX bits exactly as found in the old implementation\nin byteorder/swab[b].h\n\nUse this new swab.h in byteorder/[big|little]_endian.h and\nremove the two old swab headers.\n\nAlthough the inclusion of asm/byteorder.h looks strange in\nlinux/swab.h, this will allow each arch to move the actual\narch overrides for the swab bits in an asm file and then\nthe includes can be cleaned up without requiring a flag day\nfor all arches at once.\n\nKeep providing __fswabXX in case some userspace was using them\ndirectly, but the revised __swabXX should be used instead in\nany new code and will always do constant folding not dependent\non the optimization level, which means the __constant versions\ncan be phased out in-kernel.\n\nArches that use the old-style arch macros will lose their\noptimized versions until they move to the new style, but at\nleast they will still compile.  Many arches have already moved\nand the patches to move the remaining arches are trivial.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "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"
    }
  ]
}
