)]}'
{
  "log": [
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "dced35aeb0367dda2636ee9ee914bda14510dcc9",
      "tree": "71fd68d024a91c5c87f02f488962fcd852add0a8",
      "parents": [
        "2a8f55b1f577c205e71ddcb696564cbd05c50eb5"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 28 17:49:12 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 29 14:48:19 2011 +0200"
      },
      "message": "drivers: Final irq namespace conversion\n\nScripted with coccinelle.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e16b396ce314b2bcdfe6c173fe075bf8e3432368",
      "tree": "640f0f56f2ea676647af4eb42d32fa56be2ee549",
      "parents": [
        "7fd23a24717a327a66f3c32d11a20a2f169c824f",
        "e6e8dd5055a974935af1398c8648d4a9359b0ecb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 18 10:37:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 18 10:37:40 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (47 commits)\n  doc: CONFIG_UNEVICTABLE_LRU doesn\u0027t exist anymore\n  Update cpuset info \u0026 webiste for cgroups\n  dcdbas: force SMI to happen when expected\n  arch/arm/Kconfig: remove one to many l\u0027s in the word.\n  asm-generic/user.h: Fix spelling in comment\n  drm: fix printk typo \u0027sracth\u0027\n  Remove one to many n\u0027s in a word\n  Documentation/filesystems/romfs.txt: fixing link to genromfs\n  drivers:scsi Change printk typo initate -\u003e initiate\n  serial, pch uart: Remove duplicate inclusion of linux/pci.h header\n  fs/eventpoll.c: fix spelling\n  mm: Fix out-of-date comments which refers non-existent functions\n  drm: Fix printk typo \u0027failled\u0027\n  coh901318.c: Change initate to initiate.\n  mbox-db5500.c Change initate to initiate.\n  edac: correct i82975x error-info reported\n  edac: correct i82975x mci initialisation\n  edac: correct commented info\n  fs: update comments to point correct document\n  target: remove duplicate include of target/target_core_device.h from drivers/target/target_core_hba.c\n  ...\n\nTrivial conflict in fs/eventpoll.c (spelling vs addition)\n"
    },
    {
      "commit": "0a95d92c0054e74fb79607ac2df958b7bf295706",
      "tree": "e2c5f836e799dcfd72904949be47595af91432e7",
      "parents": [
        "08351fc6a75731226e1112fc7254542bd3a2912e",
        "831532035b12a5f7b600515a6f4da0b207b82d6e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 18 06:31:43 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 18 06:31:43 2011 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (62 commits)\n  powerpc/85xx: Fix signedness bug in cache-sram\n  powerpc/fsl: 85xx: document cache sram bindings\n  powerpc/fsl: define binding for fsl mpic interrupt controllers\n  powerpc/fsl_msi: Handle msi-available-ranges better\n  drivers/serial/ucc_uart.c: Add of_node_put to avoid memory leak\n  powerpc/85xx: Fix SPE float to integer conversion failure\n  powerpc/85xx: Update sata controller compatible for p1022ds board\n  ATA: Add FSL sata v2 controller support\n  powerpc/mpc8xxx_gpio: simplify searching for \u0027fsl, qoriq-gpio\u0027 compatiable\n  powerpc/8xx: remove obsolete mgsuvd board\n  powerpc/82xx: rename and update mgcoge board support\n  powerpc/83xx: rename and update kmeter1\n  powerpc/85xx: Workaroudn e500 CPU erratum A005\n  powerpc/fsl_pci: Add support for FSL PCIe controllers v2.x\n  powerpc/85xx: Fix writing to spin table \u0027cpu-release-addr\u0027 on ppc64e\n  powerpc/pseries: Disable MSI using new interface if possible\n  powerpc: Enable GENERIC_HARDIRQS_NO_DEPRECATED.\n  powerpc: core irq_data conversion.\n  powerpc: sysdev/xilinx_intc irq_data conversion.\n  powerpc: sysdev/uic irq_data conversion.\n  ...\n\nFix up conflicts in arch/powerpc/sysdev/fsl_msi.c (due to getting rid of\nof_platform_driver in arch/powerpc)\n"
    },
    {
      "commit": "514af9f7904ab65a6763b4b0bf51f1c7081026cb",
      "tree": "37a401ec2fe1f58c7a246657afecb8aeaa2c002d",
      "parents": [
        "c55d267de274d308927b60c3e740c1a826832317",
        "bbd5a762b4c56609ad4c501298556ab1f00710cc",
        "ca47ceaa2c407bbddd395c1807b616042365bd65"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 17 18:16:36 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 17 18:16:36 2011 -0700"
      },
      "message": "Merge branches \u0027stable/hvc-console\u0027, \u0027stable/gntalloc.v6\u0027 and \u0027stable/balloon\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen\n\n* \u0027stable/hvc-console\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:\n  xen/hvc: Disable probe_irq_on/off from poking the hvc-console IRQ line.\n\n* \u0027stable/gntalloc.v6\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:\n  xen: gntdev: fix build warning\n  xen/p2m/m2p/gnttab: do not add failed grant maps to m2p override\n  xen-gntdev: Add cast to pointer\n  xen-gntdev: Fix incorrect use of zero handle\n  xen: change xen/[gntdev/gntalloc] to default m\n  xen-gntdev: prevent using UNMAP_NOTIFY_CLEAR_BYTE on read-only mappings\n  xen-gntdev: Avoid double-mapping memory\n  xen-gntdev: Avoid unmapping ranges twice\n  xen-gntdev: Use map-\u003evma for checking map validity\n  xen-gntdev: Fix unmap notify on PV domains\n  xen-gntdev: Fix memory leak when mmap fails\n  xen/gntalloc,gntdev: Add unmap notify ioctl\n  xen-gntalloc: Userspace grant allocation driver\n  xen-gntdev: Support mapping in HVM domains\n  xen-gntdev: Add reference counting to maps\n  xen-gntdev: Use find_vma rather than iterating our vma list manually\n  xen-gntdev: Change page limit to be global instead of per-open\n\n* \u0027stable/balloon\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen: (24 commits)\n  xen-gntdev: Use ballooned pages for grant mappings\n  xen-balloon: Add interface to retrieve ballooned pages\n  xen-balloon: Move core balloon functionality out of module\n  xen/balloon: Remove pr_info\u0027s and don\u0027t alter retry_count\n  xen/balloon: Protect against CPU exhaust by event/x process\n  xen/balloon: Migration from mod_timer() to schedule_delayed_work()\n  xen/balloon: Removal of driver_pages\n"
    },
    {
      "commit": "bbd5a762b4c56609ad4c501298556ab1f00710cc",
      "tree": "683c58f968091f49a25247a541530a05e0604944",
      "parents": [
        "a5abba989deceb731047425812d268daf7536575"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Mon Mar 07 15:03:58 2011 -0500"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu Mar 10 00:57:59 2011 -0500"
      },
      "message": "xen/hvc: Disable probe_irq_on/off from poking the hvc-console IRQ line.\n\nThis fixes a particular nasty racing problem found when using\nXen hypervisor with the console (hvc) output being routed to the\nserial port and the serial port receiving data when\nprobe_irq_off(probe_irq_on) is running.\n\nSpecifically the bug manifests itself with:\n\n[    4.470693] BUG: unable to handle kernel NULL pointer dereference at 0000000000000008\n[    4.470693] IP: [\u003cffffffff810a8c65\u003e] handle_IRQ_event+0xe/0xc9\n..snip..\n[    4.470693] Call Trace:\n[    4.470693]  \u003cIRQ\u003e\n[    4.470693]  [\u003cffffffff810aa645\u003e] handle_percpu_irq+0x3c/0x69\n[    4.470693]  [\u003cffffffff8123cda7\u003e] __xen_evtchn_do_upcall+0xfd/0x195\n[    4.470693]  [\u003cffffffff810308cf\u003e] ? xen_restore_fl_direct_end+0x0/0x1\n[    4.470693]  [\u003cffffffff8123d873\u003e] xen_evtchn_do_upcall+0x32/0x47\n[    4.470693]  [\u003cffffffff81034dfe\u003e] xen_do_hypervisor_callback+0x1e/0x30\n[    4.470693]  \u003cEOI\u003e\n[    4.470693]  [\u003cffffffff8100922a\u003e] ? hypercall_page+0x22a/0x1000\n[    4.470693]  [\u003cffffffff8100922a\u003e] ? hypercall_page+0x22a/0x1000\n[    4.470693]  [\u003cffffffff810301c5\u003e] ? xen_force_evtchn_callback+0xd/0xf\n[    4.470693]  [\u003cffffffff810308e2\u003e] ? check_events+0x12/0x20\n[    4.470693]  [\u003cffffffff81030889\u003e] ? xen_irq_enable_direct_end+0x0/0x7\n[    4.470693]  [\u003cffffffff810ab0a0\u003e] ? probe_irq_on+0x8f/0x1d7\n[    4.470693]  [\u003cffffffff812b105e\u003e] ? serial8250_config_port+0x7b7/0x9e6\n[    4.470693]  [\u003cffffffff812ad66c\u003e] ? uart_add_one_port+0x11b/0x305\n\nThe bug is trigged by three actors working together:\n A). serial_8250_config_port calling\n\tprobe_irq_off(probe_irq_on())\n     wherein all of the IRQ handlers are being started and shut off.\n     The functions utilize the sleep functions so the minimum time\n     they are run is 120 msec.\n B). Xen hypervisor receiving on the serial line any character and\n     setting the bits in the event channel - during this 120 msec timeframe.\n C). The hvc API makes a call to \u0027request_irq\u0027 (and hence setting desc-\u003eaction\n     to a valid value), much much later - when user space opens\n     /dev/console (hvc_open). To make the console usable during bootup,\n     the Xen HVC implementation sets the IRQ chip (and correspondingly\n     the event channel) much earlier. The IRQ chip handler that is used\n     is the handle_percpu_irq (aaca49642b92c8a57d3ca5029a5a94019c7af69f)\n\nBack to the issue. When A) is being called it ends up calling the\nxen_percpu_chip\u0027s chip-\u003estartup twice and chip-\u003eshutdown once. Those\nare set to the default_startup and mask_irq (events.c) respectivly.\nIf (and this seems to depend on what serial concentrator you use), B)\ngets data from the serial port it sets in the event channel a pending bit.\nWhen A) calls chip-\u003estartup(), the masking of the pending bit, and\nunmasking of the event channel mask, and also setting of the upcall_pending\nflag is done (since there is data present on the event channel).\nIf before the 120 msec has elapsed, any IRQ handler (Xen IRQ has one\nIRQ handler, which checks the event channels bitmap to figure which one\nto call) is called we end up calling the handle_percpu_irq. The\nhandle_percpu_irq calls desc-\u003eaction (which is NULL) and we blow up.\n\nCaveats: I could only reproduce this on 2.6.32 pvops. I am not sure\nwhy this is not showing up on 2.6.38 kernel.\n\nThe probe_irq_on/off has code to disable poking specific IRQ lines. This is\ndone by using the set_irq_noprobe() and then we do not have to\nworry about the handle_percpu_irq being called before the IRQ action\nhandler has been installed.\n\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "c7704d352d45de47333f2d9f10aead820b49044c",
      "tree": "df766e4740d3efe6a0f3f5f57b496f2b1b36fb10",
      "parents": [
        "9ff0c61d08ac4defa5ad6c65935a67643b8f4ce3"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Sun Feb 06 18:26:25 2011 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Mar 02 16:50:25 2011 +1100"
      },
      "message": "powerpc/pseries: Reduce HVCS driver insanity\n\nThe HVCS driver, for those who don\u0027t know, is a driver for the \"server\" side\nof the IBM virtual terminal mechanism allowing Linux partitions to act as\nterminal servers under IBM PowerVM hypervisor. It\u0027s almost never used on\nthe field at the moment.\n\nHowever, it\u0027s part of our configs, and in its current incarnation, will\nallocate the tty driver \u0026 major (with 64 minors) and create a kernel thread\nwhether it\u0027s used or not, ie, whether the hypervisor did put a virtual\nterminal server device node in the partition or not (or whether running on\na pseries machine or not even).\n\nThis in turns causes modern distro\u0027s udev\u0027s to start trying to open all\nthose 64 minors at boot, which, since they aren\u0027t linked to anything,\ncauses the driver to spew errors in the kernel log for each of them.\n\nNot nice.\n\nThis moves all that initialization to a function which is now only called\nthe first time a terminal server virtual IO device is actually probed\n(that is almost never).\n\nThere\u0027s still a _LOT_ of cleanup that can be done in this driver, some\nsimple (almost all printk\u0027s statements in there shall either just be\nremoved or in some case turned into better written \u0026 more informative\nmessages, including using the dev_* variants etc...). This is left as\nan exercise for whoever actually cares about that driver.\n\nOne could also try to be smart and dispose of all the tty related\nresources when the last instance of the VIO server device\nis removed (Hotplug anybody ?).\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "f227e08b71b9c273eaa29a57370a3a5b833aa382",
      "tree": "9f1483776a2bde3bb1a6bd744e69acf19f6f3428",
      "parents": [
        "fec38d1752c01ad72789bac9f1a128f7e933735d",
        "f5412be599602124d2bdd49947b231dd77c0bf99"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 24 11:36:31 2011 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 24 11:36:31 2011 -0800"
      },
      "message": "Merge 2.6.38-rc6 into tty-next\n\nThis was to resolve a merge issue with drivers/char/Makefile and\ndrivers/tty/serial/68328serial.c\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "bdcffc5a1a28b566a38a4b0d5bcefc78a97f4ecb",
      "tree": "84b497e769c3923b08c052781067bb3f427e386c",
      "parents": [
        "3c95c985fa91ecf6a0e29622bbdd13dcfc5ce9f1"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Feb 22 15:41:47 2011 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Feb 22 15:41:47 2011 -0800"
      },
      "message": "tty: move Kconfig entries into drivers/tty from drivers/char\n\nThe Kconfig options for the drivers/tty/ files still were hanging around\nin the \"big\" drivers/char/Kconfig file, so move them to the proper\nlocation under drivers/tty and drivers/tty/hvc/\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "20b9d17715017ae4dd4ec87fabc36d33b9de708e",
      "tree": "64e9c4ff845844298f9056357d9f4914802207f8",
      "parents": [
        "60b33c133ca0b7c0b6072c87234b63fee6e80558"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Mon Feb 14 16:26:50 2011 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 17 11:52:43 2011 -0800"
      },
      "message": "tiocmset: kill the file pointer argument\n\nDoing tiocmget was such fun we should do tiocmset as well for the same\nreasons\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "60b33c133ca0b7c0b6072c87234b63fee6e80558",
      "tree": "379340a7ab563df42ddb2907be6f282202244077",
      "parents": [
        "adf9251fe9b87b5a50deebe489db2df8df4715fc"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Mon Feb 14 16:26:14 2011 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 17 11:47:33 2011 -0800"
      },
      "message": "tiocmget: kill off the passing of the struct file\n\nWe don\u0027t actually need this and it causes problems for internal use of\nthis functionality. Currently there is a single use of the FILE * pointer.\nThat is the serial core which uses it to check tty_hung_up_p. However if\nthat is true then IO_ERROR is also already set so the check may be removed.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "5427bcf5e95245d3e220742ac703182bdb973769",
      "tree": "6eed2090099d98a4bec5d150b3d0c5ee8e1b9354",
      "parents": [
        "9fc3de9c83565fcaa23df74c2fc414bb6e7efb0a"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Fri Feb 04 20:45:49 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 17 11:12:40 2011 -0800"
      },
      "message": "hvc: add Blackfin JTAG console support\n\nThis converts the existing bfin_jtag_comm TTY driver to the HVC layer so\nthat the common HVC code can worry about all of the TTY/polling crap and\nleave the Blackfin code to worry about the Blackfin bits.\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "46a1ca7068c4dc278ebefd573f571f5e503ce6fc",
      "tree": "f0997b58ff644c1fa812719042a3fe65b4d62076",
      "parents": [
        "0a9d59a2461477bd9ed143c01af9df3f8f00fa81"
      ],
      "author": {
        "name": "Paul Bolle",
        "email": "pebolle@tiscali.nl",
        "time": "Tue Feb 15 00:05:01 2011 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Feb 15 10:24:53 2011 +0100"
      },
      "message": "hvcs: fix typo in comment\n\nSigned-off-by: Paul Bolle \u003cpebolle@tiscali.nl\u003e\nReviewed-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "8e6d3fe1af38bea3f6c003f8737d2e3a02d00fa0",
      "tree": "112cd997630c0007bc6f931de86d595b630fa3be",
      "parents": [
        "bf73bd35a296b31dace098b9104b6b593ee0070f"
      ],
      "author": {
        "name": "Stephen Boyd",
        "email": "sboyd@codeaurora.org",
        "time": "Thu Feb 03 15:48:36 2011 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 03 16:05:43 2011 -0800"
      },
      "message": "hvc_dcc: Simplify assembly for v6 and v7 ARM\n\nThe inline assembly differences for v6 vs. v7 in the hvc_dcc\ndriver are purely optimizations. On a v7 processor, an mrc with\nthe pc sets the condition codes to the 28-31 bits of the register\nbeing read. It just so happens that the TX/RX full bits the DCC\ndriver is testing for are high enough in the register to be put\ninto the condition codes. On a v6 processor, this \"feature\" isn\u0027t\nimplemented and thus we have to do the usual read, mask, test\noperations to check for TX/RX full.\n\nSince we already test the RX/TX full bits before calling\n__dcc_getchar() and __dcc_putchar() we don\u0027t actually need to do\nanything special for v7 over v6. The only difference is in\nhvc_dcc_get_chars(). We would test RX full, poll RX full, and\nthen read a character from the buffer, whereas now we will test\nRX full, read a character from the buffer, and then test RX full\nagain for the second iteration of the loop. It doesn\u0027t seem\npossible for the buffer to go from full to empty between testing\nthe RX full and reading a character. Therefore, replace the v7\nversions with the v6 versions and everything works the same.\n\nAcked-by: Tony Lindgren \u003ctony@atomide.com\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Nicolas Pitre \u003cnicolas.pitre@linaro.org\u003e\nCc: Daniel Walker \u003cdwalker@codeaurora.org\u003e\nSigned-off-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "bf73bd35a296b31dace098b9104b6b593ee0070f",
      "tree": "266581a463e779ba26ef5b725508e2d4ced7b9c2",
      "parents": [
        "a99632014631409483a481a6a0d77d09ded47239"
      ],
      "author": {
        "name": "Stephen Boyd",
        "email": "sboyd@codeaurora.org",
        "time": "Thu Feb 03 15:48:35 2011 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 03 16:05:43 2011 -0800"
      },
      "message": "hvc_dcc: Simplify put_chars()/get_chars() loops\n\nCasting and anding with 0xff is unnecessary in\nhvc_dcc_put_chars() since buf is already a char[].\n__dcc_get_char() can\u0027t return an int less than 0 since it only\nreturns a char. Simplify the if statement in hvc_dcc_get_chars()\nto take this into account.\n\nCc: Daniel Walker \u003cdwalker@codeaurora.org\u003e\nSigned-off-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "a99632014631409483a481a6a0d77d09ded47239",
      "tree": "e2997ea820ece1a9765f2b64ae36e55830379ada",
      "parents": [
        "380042f2db653b324ae756d102d872c1ecd412c5"
      ],
      "author": {
        "name": "Stephen Boyd",
        "email": "sboyd@codeaurora.org",
        "time": "Thu Feb 03 15:48:34 2011 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 03 16:05:43 2011 -0800"
      },
      "message": "hvc_dcc: Fix bad code generation by marking assembly volatile\n\nWithout marking the asm __dcc_getstatus() volatile my compiler\ndecides it can cache the value of __ret in a register and then\ncheck the value of it continually in hvc_dcc_put_chars() (I had\nto replace get_wait/put_wait with 1 and fixup the branch\notherwise my disassembler barfed on __dcc_(get|put)char).\n\n00000000 \u003chvc_dcc_put_chars\u003e:\n   0:   ee103e11        mrc     14, 0, r3, cr0, cr1, {0}\n   4:   e3a0c000        mov     ip, #0  ; 0x0\n   8:   e2033202        and     r3, r3, #536870912      ; 0x20000000\n   c:   ea000006        b       2c \u003chvc_dcc_put_chars+0x2c\u003e\n  10:   e3530000        cmp     r3, #0  ; 0x0\n  14:   1afffffd        bne     10 \u003chvc_dcc_put_chars+0x10\u003e\n  18:   e7d1000c        ldrb    r0, [r1, ip]\n  1c:   ee10fe11        mrc     14, 0, pc, cr0, cr1, {0}\n  20:   2afffffd        bcs     1c \u003chvc_dcc_put_chars+0x1c\u003e\n  24:   ee000e15        mcr     14, 0, r0, cr0, cr5, {0}\n  28:   e28cc001        add     ip, ip, #1      ; 0x1\n  2c:   e15c0002        cmp     ip, r2\n  30:   bafffff6        blt     10 \u003chvc_dcc_put_chars+0x10\u003e\n  34:   e1a00002        mov     r0, r2\n  38:   e12fff1e        bx      lr\n\nAs you can see, the value of the mrc is checked against\nDCC_STATUS_TX (bit 29) and then stored in r3 for later use.\nMarking the asm volatile produces the following:\n\n00000000 \u003chvc_dcc_put_chars\u003e:\n   0:   e3a03000        mov     r3, #0  ; 0x0\n   4:   ea000007        b       28 \u003chvc_dcc_put_chars+0x28\u003e\n   8:   ee100e11        mrc     14, 0, r0, cr0, cr1, {0}\n   c:   e3100202        tst     r0, #536870912  ; 0x20000000\n  10:   1afffffc        bne     8 \u003chvc_dcc_put_chars+0x8\u003e\n  14:   e7d10003        ldrb    r0, [r1, r3]\n  18:   ee10fe11        mrc     14, 0, pc, cr0, cr1, {0}\n  1c:   2afffffd        bcs     18 \u003chvc_dcc_put_chars+0x18\u003e\n  20:   ee000e15        mcr     14, 0, r0, cr0, cr5, {0}\n  24:   e2833001        add     r3, r3, #1      ; 0x1\n  28:   e1530002        cmp     r3, r2\n  2c:   bafffff5        blt     8 \u003chvc_dcc_put_chars+0x8\u003e\n  30:   e1a00002        mov     r0, r2\n  34:   e12fff1e        bx      lr\n\nwhich looks better and actually works. Mark all the inline\nassembly in this file as volatile since we don\u0027t want the\ncompiler to optimize away these statements or move them around\nin any way.\n\nAcked-by: Tony Lindgren \u003ctony@atomide.com\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Nicolas Pitre \u003cnicolas.pitre@linaro.org\u003e\nCc: Daniel Walker \u003cdwalker@codeaurora.org\u003e\nSigned-off-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "51df0acc3d76cf41d5496ef044cc5717ab5c7f71",
      "tree": "414f9c3934d96213b0c092ad91f2c81469d84520",
      "parents": [
        "ebf53826e105f488f4f628703a108e98940d1dc5"
      ],
      "author": {
        "name": "Amit Shah",
        "email": "amit.shah@redhat.com",
        "time": "Tue Feb 01 09:31:25 2011 +0530"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 03 14:43:12 2011 -0800"
      },
      "message": "virtio: console: Move file back to drivers/char/\n\nCommit 728674a7e466628df2aeec6d11a2ae1ef968fb67 moved virtio_console.c\nto drivers/tty/hvc/ under the perception of this being an hvc driver.\nIt was such once, but these days it has generic communication\ncapabilities as well, so move it to drivers/char/.\n\nIn the future, the hvc part from this file can be split off and moved\nunder drivers/tty/hvc/.\n\nSigned-off-by: Amit Shah \u003camit.shah@redhat.com\u003e\nCC: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "728674a7e466628df2aeec6d11a2ae1ef968fb67",
      "tree": "83d2e44d05b257ab03230f5c95e0d6843f0ed2f9",
      "parents": [
        "e691d24e9c5007486bef59c589c2a2d784e0c30b"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 13 12:03:00 2011 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 13 12:03:00 2011 -0800"
      },
      "message": "tty: move hvc drivers to drivers/tty/hvc/\n\nAs requested by Arnd Bergmann, the hvc drivers are now\nmoved to the drivers/tty/hvc/ directory.  The virtio_console.c driver\nwas also moved, as it required the hvc_console.h file to be able to be\nbuilt, and it really is a hvc driver.\n\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    }
  ]
}
