)]}'
{
  "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": "5cbd04ae36fcb8fd1f38c71dacbbe59f3166f074",
      "tree": "906fc16e7341526dc232fea1021d2154d5ed74ea",
      "parents": [
        "919594765dcf803017b2227425c1b27b5ea537be"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Jan 06 14:56:34 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 18:10:29 2009 -0800"
      },
      "message": "mn10300: introduce asm/swab.h\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ea435467500612636f8f4fb639ff6e76b2496e4b",
      "tree": "fdf5cb7ca3834f0a4120fb3cce5a631dd2769f26",
      "parents": [
        "f99ebf0a86de13f77bc4ee349de96db9f2f67f2e"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Tue Jan 06 14:40:39 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:10 2009 -0800"
      },
      "message": "atomic_t: unify all arch definitions\n\nThe atomic_t type cannot currently be used in some header files because it\nwould create an include loop with asm/atomic.h.  Move the type definition\nto linux/types.h to break the loop.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nCc: Huang Ying \u003cying.huang@intel.com\u003e\nCc: \u003clinux-arch@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": "5c134dad43443aa9c9606eaf47c378a6b9c5c597",
      "tree": "8f724fd07b26b443527f9886bd37b795901c5c7f",
      "parents": [
        "16a206260ee70f181de6a3672678545859589ef2"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Jan 03 16:19:03 2009 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Jan 03 16:19:03 2009 +1030"
      },
      "message": "mn10300: define __fls\n\nLike fls, but can\u0027t be handed 0 and returns the bit number.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "54b71fba68efbf3ab89721a384df2ce757750979",
      "tree": "71c0423e9aa73d12e07539ae31a5e3e544cd6b24",
      "parents": [
        "24646bd2269fbca95367bfd3eafbc9f7ade2e980"
      ],
      "author": {
        "name": "Akira Takeuchi",
        "email": "takeuchi.akr@jp.panasonic.com",
        "time": "Wed Dec 10 12:43:34 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 10 13:34:33 2008 -0800"
      },
      "message": "MN10300: Fix __put_user_asm8()\n\nFix __put_user_asm8() by jumping to the end label (3:) from the exception\nhandler, rather than jumping back to retry the second store instruction (label\n2:).\n\nSigned-off-by: Akira Takeuchi \u003ctakeuchi.akr@jp.panasonic.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0b59268285ca6cdc46191f2995bf632088e3e277",
      "tree": "91f95eeb809c5fe13d0ba5b055e26879f9ec9357",
      "parents": [
        "04ab591808565f968d4406f6435090ad671ebdab"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Thu Oct 16 15:39:57 2008 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Thu Oct 16 15:40:05 2008 +0200"
      },
      "message": "[PATCH] remove unused ibcs2/PER_SVR4 in SET_PERSONALITY\n\nThe SET_PERSONALITY macro is always called with a second argument of 0.\nRemove the ibcs argument and the various tests to set the PER_SVR4\npersonality.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "449f76506f76051839dfa945c59881c17509cfbf",
      "tree": "bcde399bdc2c342a6574c4c7d1e9f6d7374e55a7",
      "parents": [
        "e4464facd6f1404c2baeb6798d71e34423e7aeaa"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Aug 20 15:53:33 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 20 13:19:51 2008 -0700"
      },
      "message": "MN10300: Supply ioremap_wc() for MN10300\n\nSupply ioremap_wc() for MN10300.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "02c363808981b67e631fe71cc7e952497f761bef",
      "tree": "822220f4f694e8d09732d45038cf4b3caeba4cb6",
      "parents": [
        "3ab36ab68531ad90648fdeedcaf437f121572ede"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Jul 31 13:01:30 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 01 13:03:48 2008 -0700"
      },
      "message": "MN10300: Wire up new system calls\n\nWire up system calls added in the last merge window for the MN10300 arch.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7f2da1e7d0330395e5e9e350b879b98a1ea495df",
      "tree": "adc01ced45bb1de10fe58511e7143bbbd138a192",
      "parents": [
        "8bb79224b87aab92071e94d46e70bd160d89bf34"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 10 20:44:54 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 26 20:53:20 2008 -0400"
      },
      "message": "[PATCH] kill altroot\n\nlong overdue...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8d8bb39b9eba32dd70e87fd5ad5c5dd4ba118e06",
      "tree": "64090a84f4c4466f9f30ff46c993e0cede379052",
      "parents": [
        "c485b465a031b6f9b9a51300e0ee1f86efc6db87"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Fri Jul 25 19:44:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:03 2008 -0700"
      },
      "message": "dma-mapping: add the device argument to dma_mapping_error()\n\nAdd per-device dma_mapping_ops support for CONFIG_X86_64 as POWER\narchitecture does:\n\nThis enables us to cleanly fix the Calgary IOMMU issue that some devices\nare not behind the IOMMU (http://lkml.org/lkml/2008/5/8/423).\n\nI think that per-device dma_mapping_ops support would be also helpful for\nKVM people to support PCI passthrough but Andi thinks that this makes it\ndifficult to support the PCI passthrough (see the above thread).  So I\nCC\u0027ed this to KVM camp.  Comments are appreciated.\n\nA pointer to dma_mapping_ops to struct dev_archdata is added.  If the\npointer is non NULL, DMA operations in asm/dma-mapping.h use it.  If it\u0027s\nNULL, the system-wide dma_ops pointer is used as before.\n\nIf it\u0027s useful for KVM people, I plan to implement a mechanism to register\na hook called when a new pci (or dma capable) device is created (it works\nwith hot plugging).  It enables IOMMUs to set up an appropriate\ndma_mapping_ops per device.\n\nThe major obstacle is that dma_mapping_error doesn\u0027t take a pointer to the\ndevice unlike other DMA operations.  So x86 can\u0027t have dma_mapping_ops per\ndevice.  Note all the POWER IOMMUs use the same dma_mapping_error function\nso this is not a problem for POWER but x86 IOMMUs use different\ndma_mapping_error functions.\n\nThe first patch adds the device argument to dma_mapping_error.  The patch\nis trivial but large since it touches lots of drivers and dma-mapping.h in\nall the architecture.\n\nThis patch:\n\ndma_mapping_error() doesn\u0027t take a pointer to the device unlike other DMA\noperations.  So we can\u0027t have dma_mapping_ops per device.\n\nNote that POWER already has dma_mapping_ops per device but all the POWER\nIOMMUs use the same dma_mapping_error function.  x86 IOMMUs use device\nargument.\n\n[akpm@linux-foundation.org: fix sge]\n[akpm@linux-foundation.org: fix svc_rdma]\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: fix bnx2x]\n[akpm@linux-foundation.org: fix s2io]\n[akpm@linux-foundation.org: fix pasemi_mac]\n[akpm@linux-foundation.org: fix sdhci]\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: fix sparc]\n[akpm@linux-foundation.org: fix ibmvscsi]\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Muli Ben-Yehuda \u003cmuli@il.ibm.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Avi Kivity \u003cavi@qumranet.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "762b8291be6944bd891fbe2c8976a2b2e5bbc726",
      "tree": "4ce2572c050d473bd8dcde8bfbaad0ab830b1b1c",
      "parents": [
        "c6af5e9f8a57467df2e55e428316a43480174521",
        "7dcf2a9fced59e58e4694cdcf15850c01fdba89b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 12:01:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 12:01:37 2008 -0700"
      },
      "message": "Merge git://git.infradead.org/~dwmw2/random-2.6\n\n* git://git.infradead.org/~dwmw2/random-2.6:\n  remove dummy asm/kvm.h files\n  firmware: create firmware binaries during \u0027make modules\u0027.\n"
    },
    {
      "commit": "7dcf2a9fced59e58e4694cdcf15850c01fdba89b",
      "tree": "635476803ae017229f4a3dfaf7288d770b0dc1bf",
      "parents": [
        "44463f7dd6c8039904333e4374e5c6e9ad83006f"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Jul 01 19:27:16 2008 +0300"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Fri Jul 25 14:35:50 2008 -0400"
      },
      "message": "remove dummy asm/kvm.h files\n\nThis patch removes the dummy asm/kvm.h files on architectures not (yet)\nsupporting KVM and uses the same conditional headers installation as\nalready used for a.out.h .\n\nAlso removed are superfluous install rules in the s390 and x86 Kbuild\nfiles (they are already in Kbuild.asm).\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "f22ab814a24e654b1de24db0c5f8b57b5ab2026a",
      "tree": "827f3fe1c94ba9cfd180f199ea6d2dc2dfa885df",
      "parents": [
        "bc64efd220dcd4449aef8dd2564d73127b583b09"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Jul 25 01:47:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:39 2008 -0700"
      },
      "message": "include/asm/ptrace.h userspace headers cleanup\n\nThis patch contains the following cleanups for the asm/ptrace.h\nuserspace headers:\n\n- include/asm-generic/Kbuild.asm already lists ptrace.h, remove\n  the superfluous listings in the Kbuild files of the following\n  architectures:\n  - cris\n  - frv\n  - powerpc\n  - x86\n- don\u0027t expose function prototypes and macros to userspace:\n  - arm\n  - blackfin\n  - cris\n  - mn10300\n  - parisc\n- remove #ifdef CONFIG_\u0027s around #define\u0027s:\n  - blackfin\n  - m68knommu\n- sh: AFAIK __SH5__ should work in both kernel and userspace,\n      no need to leak CONFIG_SUPERH64 to userspace\n- xtensa: cosmetical change to remove empty\n            #ifndef __ASSEMBLY__ #else #endif\n          from the userspace headers\n\nNot changed by this patch is the fact that the following architectures\nhave a different struct pt_regs depending on CONFIG_ variables:\n- h8300\n- m68knommu\n- mips\n\nThis does not work in userspace.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nAcked-by: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nAcked-by: Jesper Nilsson \u003cjesper.nilsson@axis.com\u003e\nAcked-by: Chris Zankel \u003cchris@zankel.net\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nAcked-by: Russell King \u003crmk+kernel@arm.linux.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": "b69c49b78457f681ecfb3147bd968434ee6559c1",
      "tree": "9557c950c21cf4336ccc403136ea11384150af31",
      "parents": [
        "62ec30d45ecbb85b5991474c8f04192697687495"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Fri Jul 25 01:45:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:28 2008 -0700"
      },
      "message": "clean up duplicated alloc/free_thread_info\n\nWe duplicate alloc/free_thread_info defines on many platforms (the\nmajority uses __get_free_pages/free_pages).  This patch defines common\ndefines and removes these duplicated defines.\n__HAVE_ARCH_THREAD_INFO_ALLOCATOR is introduced for platforms that do\nsomething different.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nAcked-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: \u003clinux-arch@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": "b5684b83b1e1579bbbc80e703e990c0cccf5892c",
      "tree": "3f1b62b2320bce4d658d2ad0d4b77856499ac533",
      "parents": [
        "1481b9109fe771ec8b035d7760f42e36d2bed5d4",
        "1b8ebad87b459e2e1333fbf28005977245ff5402"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 14:55:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 14:55:09 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (76 commits)\n  ide: use proper printk() KERN_* levels in ide-probe.c\n  ide: fix for EATA SCSI HBA in ATA emulating mode\n  ide: remove stale comments from drivers/ide/Makefile\n  ide: enable local IRQs in all handlers for TASKFILE_NO_DATA data phase\n  ide-scsi: remove kmalloced struct request\n  ht6560b: remove old history\n  ht6560b: update email address\n  ide-cd: fix oops when using growisofs\n  gayle: release resources on ide_host_add() failure\n  palm_bk3710: add UltraDMA/100 support\n  ide: trivial sparse annotations\n  ide: ide-tape.c sparse annotations and unaligned access removal\n  ide: drop \u0027name\u0027 parameter from -\u003einit_chipset method\n  ide: prefix messages from IDE PCI host drivers by driver name\n  it821x: remove DECLARE_ITE_DEV() macro\n  it8213: remove DECLARE_ITE_DEV() macro\n  ide: include PCI device name in messages from IDE PCI host drivers\n  ide: remove \u003casm/ide.h\u003e for some archs\n  ide-generic: remove ide_default_{io_base,irq}() inlines (take 3)\n  ide-generic: is no longer needed on ppc32\n  ...\n"
    },
    {
      "commit": "d83b8b85cd56a083d30df73f3fd5e4714591b910",
      "tree": "1fac379e8d909361ecbf934645463a00e706dafc",
      "parents": [
        "2c9d86438a0104800da2a8ecdc1e27baf38ba6a4"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Jul 24 22:53:30 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Jul 24 22:53:30 2008 +0200"
      },
      "message": "ide: define MAX_HWIFS in \u003clinux/ide.h\u003e\n\n* Now that ide_hwif_t instances are allocated dynamically\n  the difference between MAX_HWIFS \u003d\u003d 2 and MAX_HWIFS \u003d\u003d 10\n  is ~100 bytes (x86-32) so use MAX_HWIFS \u003d\u003d 10 on all archs\n  except these ones that use MAX_HWIFS \u003d\u003d 1.\n\n* Define MAX_HWIFS in \u003clinux/ide.h\u003e instead of \u003casm/ide.h\u003e.\n\n[ Please note that avr32/cris/v850 have no \u003casm/ide.h\u003e\n  and alpha/ia64/sh always define CONFIG_IDE_MAX_HWIFS. ]\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "7540081c6b16dc941895bca840749cabfd0d3b48",
      "tree": "9e6b2270d700bf99489b570aa2b4c2c0b6cd0ead",
      "parents": [
        "3fde80e94c2bbffbb13f5faa3340cf438440ebea",
        "b552068999b0b05087c454e525b30b785c79dc9b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 12:24:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 12:24:40 2008 -0700"
      },
      "message": "Merge branch \u0027semaphore\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc\n\n* \u0027semaphore\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc:\n  Remove __DECLARE_SEMAPHORE_GENERIC\n  Remove asm/semaphore.h\n  Remove use of asm/semaphore.h\n  Add missing semaphore.h includes\n  Remove mention of semaphores from kernel-locking\n"
    },
    {
      "commit": "912019572180f287e85b5534fbb1c1e3ca6df6c9",
      "tree": "2ce7306f6588408c6ee3b7258709e18dc8ec85fa",
      "parents": [
        "f0af566da6e9a4a2f5a83c5a70f3d0a772050e21"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Jul 23 21:28:45 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:24 2008 -0700"
      },
      "message": "mn10300: move sg_dma_{address,len}() to asm/scatterlist.h\n\nmn10300 was the only architecture where sg_dma_{address,len}() were not\nin asm/scatterlist.h, and it\u0027s not a big surprise that this caused a\ncompile error somewhere:\n\n/home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/media/video/videobuf-dma-sg.c: In function `videobuf_dma_map\u0027:\n/home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/media/video/videobuf-dma-sg.c:238: error: implicit declaration of function \u0027sg_dma_address\u0027\n\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@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": "27ac792ca0b0a1e7e65f20342260650516c95864",
      "tree": "8e0bc93612da0803fe12303ccb75c837cd633c83",
      "parents": [
        "d92bc318547507a944a22e7ef936793dc0fe167f"
      ],
      "author": {
        "name": "Andrea Righi",
        "email": "righi.andrea@gmail.com",
        "time": "Wed Jul 23 21:28:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:21 2008 -0700"
      },
      "message": "PAGE_ALIGN(): correctly handle 64-bit values on 32-bit architectures\n\nOn 32-bit architectures PAGE_ALIGN() truncates 64-bit values to the 32-bit\nboundary. For example:\n\n\tu64 val \u003d PAGE_ALIGN(size);\n\nalways returns a value \u003c 4GB even if size is greater than 4GB.\n\nThe problem resides in PAGE_MASK definition (from include/asm-x86/page.h for\nexample):\n\n#define PAGE_SHIFT      12\n#define PAGE_SIZE       (_AC(1,UL) \u003c\u003c PAGE_SHIFT)\n#define PAGE_MASK       (~(PAGE_SIZE-1))\n...\n#define PAGE_ALIGN(addr)       (((addr)+PAGE_SIZE-1)\u0026PAGE_MASK)\n\nThe \"~\" is performed on a 32-bit value, so everything in \"and\" with\nPAGE_MASK greater than 4GB will be truncated to the 32-bit boundary.\nUsing the ALIGN() macro seems to be the right way, because it uses\ntypeof(addr) for the mask.\n\nAlso move the PAGE_ALIGN() definitions out of include/asm-*/page.h in\ninclude/linux/mm.h.\n\nSee also lkml discussion: http://lkml.org/lkml/2008/6/11/237\n\n[akpm@linux-foundation.org: fix drivers/media/video/uvc/uvc_queue.c]\n[akpm@linux-foundation.org: fix v850]\n[akpm@linux-foundation.org: fix powerpc]\n[akpm@linux-foundation.org: fix arm]\n[akpm@linux-foundation.org: fix mips]\n[akpm@linux-foundation.org: fix drivers/media/video/pvrusb2/pvrusb2-dvb.c]\n[akpm@linux-foundation.org: fix drivers/mtd/maps/uclinux.c]\n[akpm@linux-foundation.org: fix powerpc]\nSigned-off-by: Andrea Righi \u003crighi.andrea@gmail.com\u003e\nCc: \u003clinux-arch@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": "2351ec533ed0dd56052ab96988d2161d5ecc8ed9",
      "tree": "f60585af065bc7728f55ff0681c3f3f1015ba0a1",
      "parents": [
        "6310e472717ed736c9bff9840febb71f7bb400ed"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Thu Jul 24 08:09:32 2008 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Jul 24 08:31:12 2008 -0400"
      },
      "message": "Remove asm/semaphore.h\n\nAll users have now been converted to linux/semaphore.h and we don\u0027t need\nto keep these files around any longer.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "5e55843bb8ed1ec7d134a759c53e34beb1618952",
      "tree": "126205eaa7f939229841efda5749989fba2bc7b8",
      "parents": [
        "1ec7d99c16e69a9ed8ffeaa6c1846025b84bebad"
      ],
      "author": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Wed May 28 13:55:24 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 28 07:59:06 2008 -0700"
      },
      "message": "MN10300: Fix typo in header guard\n\nFix a typo in the header guard of asm/ipc.h.\n\nSigned-off-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "148c69b4b0ec267b08d3619651ae4a10a1768b04",
      "tree": "b838a43b37576bb11d7fa1309e71475d80e8ba30",
      "parents": [
        "7a34912d90c17a90d9fad12c4c51833b4e70707b"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed May 07 15:31:54 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 08 10:49:39 2008 -0700"
      },
      "message": "MN10300: Make cpu_relax() invoke barrier()\n\nMake cpu_relax() invoke barrier() to be the same as other arches.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8523437b4c664cfc0f11998c4274846b95182000",
      "tree": "908db99a12fceb3347af8899010760db5a850675",
      "parents": [
        "23cf11ddb5099f8c7f7cb3eb154bff0faf31cae9"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Sun Apr 06 10:35:07 2008 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri May 02 16:18:31 2008 -0700"
      },
      "message": "mn10300: types: use \u003casm-generic/int-*.h\u003e for the mn10300 architecture\n\nThis modifies \u003casm-mn10300/types.h\u003e to use the \u003casm-generic/int-*.h\u003e\ngeneric include files.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Koichi Yasutake \u003cyasutake.koichi@jp.panasonic.com\u003e\n"
    },
    {
      "commit": "6f6d6a1a6a1336431a6cba60ace9e97c3a496a19",
      "tree": "f32e82fc3a50b6877afa3220bdb6f7ea0582e07f",
      "parents": [
        "71abb3af62dfa52930755f3b6497eafbe1d6ec85"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Thu May 01 04:34:28 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:03:58 2008 -0700"
      },
      "message": "rename div64_64 to div64_u64\n\nRename div64_64 to div64_u64 to make it consistent with the other divide\nfunctions, so it clearly includes the type of the divide.  Move its definition\nto math64.h as currently no architecture overrides the generic implementation.\n They can still override it of course, but the duplicated declarations are\navoided.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Avi Kivity \u003cavi@qumranet.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6510d41954dc6a9c8b1dbca7eaca0f23195ca727",
      "tree": "868b5fac25c7c5b80cc5a88eaaab8bf3d693420d",
      "parents": [
        "064106a91be5e76cb42c1ddf5d3871e3a1bd2a23"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Apr 29 01:03:30 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:27 2008 -0700"
      },
      "message": "kernel: Move arches to use common unaligned access\n\nUnaligned access is ok for the following arches:\ncris, m68k, mn10300, powerpc, s390, x86\n\nArches that use the memmove implementation for native endian, and\nthe byteshifting for the opposite endianness.\nh8300, m32r, xtensa\n\nPacked struct for native endian, byteshifting for other endian:\nalpha, blackfin, ia64, parisc, sparc, sparc64, mips, sh\n\nm86knommu is generic_be for Coldfire, otherwise unaligned access is ok.\n\nfrv, arm chooses endianness based on compiler settings, uses the byteshifting\nversions.  Remove the unaligned trap handler from frv as it is now unused.\n\nv850 is le, uses the byteshifting versions for both be and le.\n\nRemove the now unused asm-generic implementation.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: \u003clinux-arch@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": "7e675137a8e1a4d45822746456dd389b65745bf6",
      "tree": "5df01d23ea1b6b212d18f2136ff82913fcbe7718",
      "parents": [
        "b379d790197cdf8a95fb67507d75a24ac0a1678d"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Mon Apr 28 02:13:00 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:23 2008 -0700"
      },
      "message": "mm: introduce pte_special pte bit\n\ns390 for one, cannot implement VM_MIXEDMAP with pfn_valid, due to their memory\nmodel (which is more dynamic than most).  Instead, they had proposed to\nimplement it with an additional path through vm_normal_page(), using a bit in\nthe pte to determine whether or not the page should be refcounted:\n\nvm_normal_page()\n{\n\t...\n        if (unlikely(vma-\u003evm_flags \u0026 (VM_PFNMAP|VM_MIXEDMAP))) {\n                if (vma-\u003evm_flags \u0026 VM_MIXEDMAP) {\n#ifdef s390\n\t\t\tif (!mixedmap_refcount_pte(pte))\n\t\t\t\treturn NULL;\n#else\n                        if (!pfn_valid(pfn))\n                                return NULL;\n#endif\n                        goto out;\n                }\n\t...\n}\n\nThis is fine, however if we are allowed to use a bit in the pte to determine\nrefcountedness, we can use that to _completely_ replace all the vma based\nschemes.  So instead of adding more cases to the already complex vma-based\nscheme, we can have a clearly seperate and simple pte-based scheme (and get\nslightly better code generation in the process):\n\nvm_normal_page()\n{\n#ifdef s390\n\tif (!mixedmap_refcount_pte(pte))\n\t\treturn NULL;\n\treturn pte_page(pte);\n#else\n\t...\n#endif\n}\n\nAnd finally, we may rather make this concept usable by any architecture rather\nthan making it s390 only, so implement a new type of pte state for this.\nUnfortunately the old vma based code must stay, because some architectures may\nnot be able to spare pte bits.  This makes vm_normal_page a little bit more\nugly than we would like, but the 2 cases are clearly seperate.\n\nSo introduce a pte_special pte state, and use it in mm/memory.c.  It is\ncurrently a noop for all architectures, so this doesn\u0027t actually result in any\ncompiled code changes to mm/memory.o.\n\nBTW:\nI haven\u0027t put vm_normal_page() into arch code as-per an earlier suggestion.\nThe reason is that, regardless of where vm_normal_page is actually\nimplemented, the *abstraction* is still exactly the same. Also, while it\ndepends on whether the architecture has pte_special or not, that is the\nonly two possible cases, and it really isn\u0027t an arch specific function --\nthe role of the arch code should be to provide primitive functions and\naccessors with which to build the core code; pte_special does that. We do\nnot want architectures to know or care about vm_normal_page itself, and\nwe definitely don\u0027t want them being able to invent something new there\nout of sight of mm/ code. If we made vm_normal_page an arch function, then\nwe have to make vm_insert_mixed (next patch) an arch function too. So I\ndon\u0027t think moving it to arch code fundamentally improves any abstractions,\nwhile it does practically make the code more difficult to follow, for both\nmm and arch developers, and easier to misuse.\n\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nAcked-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nCc: Jared Hulbert \u003cjaredeh@gmail.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.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": "64ac24e738823161693bf791f87adc802cf529ff",
      "tree": "19c0b0cf314d4394ca580c05b86cdf874ce0a167",
      "parents": [
        "e48b3deee475134585eed03e7afebe4bf9e0dba9"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Fri Mar 07 21:55:58 2008 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Apr 17 10:42:34 2008 -0400"
      },
      "message": "Generic semaphore implementation\n\nSemaphores are no longer performance-critical, so a generic C\nimplementation is better for maintainability, debuggability and\nextensibility.  Thanks to Peter Zijlstra for fixing the lockdep\nwarning.  Thanks to Harvey Harrison for pointing out that the\nunlikely() was unnecessary.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dd135ebbd2a6b5e07dadb66c4dd033bb69531051",
      "tree": "8f8bf987ed9594d5ac0df40fbb34258aa9310179",
      "parents": [
        "8eb224cd45239714c2be104f17d5ca16b6b5d7ac"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Wed Apr 02 13:04:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 02 15:28:18 2008 -0700"
      },
      "message": "kvm: provide kvm.h for all architecture: fixes headers_install\n\nCurrently include/linux/kvm.h is not considered by make headers_install,\nbecause Kbuild cannot handle \" unifdef-$(CONFIG_FOO) +\u003d foo.h.  This problem\nwas introduced by\n\ncommit fb56dbb31c4738a3918db81fd24da732ce3b4ae6\nAuthor: Avi Kivity \u003cavi@qumranet.com\u003e\nDate:   Sun Dec 2 10:50:06 2007 +0200\n\n    KVM: Export include/linux/kvm.h only if $ARCH actually supports KVM\n\n    Currently, make headers_check barfs due to \u003casm/kvm.h\u003e, which \u003clinux/kvm.h\u003e\n    includes, not existing.  Rather than add a zillion \u003casm/kvm.h\u003es, export kvm.\n    only if the arch actually supports it.\n\n    Signed-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n\nwhich makes this an 2.6.25 regression.\n\nOne way of solving the issue is to enhance Kbuild, but Avi and David conviced\nme, that changing headers_install is not the way to go.  This patch changes\nthe definition for linux/kvm.h to unifdef-y.\n\nIf  unifdef-y is used for linux/kvm.h \"make headers_check\" will fail on all\narchitectures without asm/kvm.h.  Therefore, this patch also provides\nasm/kvm.h on all architectures.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nAcked-by: Avi Kivity \u003cavi@qumranet.com\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: \u003clinux-arch@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": "2ab42e24d63193d78f2e888a170b208f4776aaba",
      "tree": "212648cbaf02b73b276ab5f0d32182f8f8edbb4d",
      "parents": [
        "d7fe321eeba58f0a37cc4324d10e52092be457e0"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Thu Mar 06 10:57:54 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Mar 06 08:13:47 2008 -0800"
      },
      "message": "Really unexport asm/page.h\n\nCommit ed7b1889da256977574663689b598d88950bbd23 removed page.h from\ninclude/asm-generic/Kbuild so that it shouldn\u0027t get exported.\n\nHowever, it was redundantly listed in asm-mn10300/Kbuild and\nasm-x86/Kbuild too. Remove those as well, so it really stops being\nexported on those architectures. Also remove the redundant listing of\nptrace.h and termios.h from mn10300.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "55a26aeec07f8fdb0f7027a605a430338eb78f4e",
      "tree": "0eab762ae208c64707cd4cc35270629cf9f66c60",
      "parents": [
        "860f7be283f8b8d7830a741cb72338057a753283"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Sat Feb 23 15:23:28 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Feb 23 17:12:13 2008 -0800"
      },
      "message": "MN10300: define SO_MARK\n\nDefine SO_MARK for MN10300.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "860f7be283f8b8d7830a741cb72338057a753283",
      "tree": "26c70c1f599cab2499d2f6a83582c08974120007",
      "parents": [
        "1a823ac9ff09cbdf39201df37b7ede1f9395de83"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Sat Feb 23 15:23:28 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Feb 23 17:12:13 2008 -0800"
      },
      "message": "MN10300: define HZ as a config option\n\nDefine HZ as a config option.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "21534301ea1801783bd88fba2a2e617ee4d2bd28",
      "tree": "ee717b7f09dcc21312c0bdcb228e2dbcf9c214fe",
      "parents": [
        "b5606c2d4447e80b1d72406af4e78af1eda611d4"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Feb 13 15:03:17 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 13 16:21:18 2008 -0800"
      },
      "message": "Final removal of FASTCALL()/fastcall\n\nAll users are gone, remove definitions and comments referring\nto them.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b920de1b77b72ca9432ac3f97edb26541e65e5dd",
      "tree": "40fa9be1470e929c47927dea7eddf184c0204229",
      "parents": [
        "ef3d534754f31fed9c3b976fee1ece1b3bc38282"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Feb 08 04:19:31 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:30 2008 -0800"
      },
      "message": "mn10300: add the MN10300/AM33 architecture to the kernel\n\nAdd architecture support for the MN10300/AM33 CPUs produced by MEI to the\nkernel.\n\nThis patch also adds board support for the ASB2303 with the ASB2308 daughter\nboard, and the ASB2305.  The only processor supported is the MN103E010, which\nis an AM33v2 core plus on-chip devices.\n\n[akpm@linux-foundation.org: nuke cvs control strings]\nSigned-off-by: Masakazu Urade \u003curade.masakazu@jp.panasonic.com\u003e\nSigned-off-by: Koichi Yasutake \u003cyasutake.koichi@jp.panasonic.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ]
}
