)]}'
{
  "log": [
    {
      "commit": "2a38ada0f1ab9f894eea4428731ebc811b51c3f3",
      "tree": "759c765808a23a3a35e4ba10d8306c847c0205b7",
      "parents": [
        "19218e895cefdd389c96af12c93c89e7276bbaad",
        "44d19f5a04ae4e433548ba2f25e4d2ccfcac765e"
      ],
      "author": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Sun Dec 08 12:50:38 2013 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Sun Dec 08 12:50:38 2013 -0800"
      },
      "message": "Merge tag \u0027v3.4.72\u0027 into tmp\n\nThis is the 3.4.72 stable release\n\nConflicts:\n\tarch/arm/Kconfig\n\tarch/arm/include/asm/mutex.h\n\tarch/arm/kernel/perf_event.c\n\tarch/arm/kernel/traps.c\n\tarch/arm/mm/dma-mapping.c\n\tdrivers/base/power/main.c\n\tdrivers/bluetooth/ath3k.c\n\tdrivers/bluetooth/btusb.c\n\tdrivers/gpu/drm/radeon/radeon_mode.h\n\tdrivers/mmc/card/block.c\n\tdrivers/mmc/host/sdhci.c\n\tdrivers/usb/core/message.c\n\tdrivers/usb/host/xhci-plat.c\n\tdrivers/usb/host/xhci.h\n\tdrivers/virtio/virtio_ring.c\n\tfs/ubifs/dir.c\n\tinclude/linux/freezer.h\n\tinclude/linux/virtio.h\n\tinclude/media/v4l2-ctrls.h\n\tinclude/net/bluetooth/hci_core.h\n\tinclude/net/bluetooth/mgmt.h\n\tkernel/cgroup.c\n\tkernel/futex.c\n\tkernel/signal.c\n\tnet/bluetooth/hci_conn.c\n\tnet/bluetooth/hci_core.c\n\tnet/bluetooth/hci_event.c\n\tnet/bluetooth/l2cap_core.c\n\tnet/bluetooth/mgmt.c\n\tnet/bluetooth/rfcomm/sock.c\n\tnet/bluetooth/smp.c\n\nChange-Id: I4fb0d5de74ca76f933d95d98e1a9c2c859402f34\n"
    },
    {
      "commit": "8d4d2f97e23789671375ca23da9e59f5d39d44c9",
      "tree": "159f6bbb0d210364990ebc4cd2e3511470841e1c",
      "parents": [
        "59a719e8389a77b7788b389af302f143dd74c9c7"
      ],
      "author": {
        "name": "Jordan Crouse",
        "email": "jcrouse@codeaurora.org",
        "time": "Mon Oct 14 12:23:08 2013 -0600"
      },
      "committer": {
        "name": "Gerrit - the friendly Code Review server",
        "email": "code-review@localhost",
        "time": "Wed Nov 20 02:05:22 2013 -0800"
      },
      "message": "base: genlock: Zero a structure before sending it to user space\n\nIn the handler for GENLOCK_IOC_EXPORT zero the entire genlock_lock\nstructure before passing it to the user.\n\nCRs-fixed: 552303\nChange-Id: Ic0dedbad257bf0a448d0bf67a14a3932b7925bfc\nSigned-off-by: Jordan Crouse \u003cjcrouse@codeaurora.org\u003e\n"
    },
    {
      "commit": "92383a85dd48d9147fbf6f759b543647279699f2",
      "tree": "961b9a8488d190f713b928ac9f608b29a01fefeb",
      "parents": [
        "3975a10f604aa4bec9825ba0ce505a051f073d8a"
      ],
      "author": {
        "name": "Prakash Kamliya",
        "email": "pkamliya@codeaurora.org",
        "time": "Thu Sep 26 17:59:19 2013 +0530"
      },
      "committer": {
        "name": "Hareesh Gundu",
        "email": "hareeshg@codeaurora.org",
        "time": "Thu Oct 03 14:20:22 2013 +0530"
      },
      "message": "sync: signal pt before sync_timeline object gets destroyed\n\nThere is a race condition\n\nAssume we have *one* sync_fence object, with *one* sync_pt\nwhich belongs to *one* sync_timeline, given this condition,\nsync_timeline-\u003ekref will have two counts, one for sync_timeline\n(implicit) and another for sync_pt.\n\nAssume following is the situation on CPU\n\nTheead-1 : (Thread which calls sync_timeline_destroy())\n  -\u003e (some function calls)\n   -\u003e sync_timeline_destory()\n    -\u003e sync_timeline_signal() (CPU is inside this\nfunction after putting reference to sync_timeline)\n\nAt this time Thread-2 comes and does following\n\nThread-2 : (fclose on fence fd)\n\u003e sync_fence_release() -\u003e because of fclose() on fence object\n -\u003e sync_fence_free()\n  -\u003e sync_pt_free()\n   -\u003e kref_put(\u0026pt-\u003eparent-\u003ekref, sync_timeline_free);\n    -\u003e sync_timeline_free() (CPU is inside this because\nthis time kref will be zero after _put)\n\nThread-2 will free sync_timeline object before Thread-1\nhas finished its work inside sync_timeline_signal.\n\nWith this change we signals all sync_pt before putting\nreference to sync_timeline object.\n\nChange-Id: I66d7359cc5dca0352fda49f81953028e98b95993\nSigned-off-by: Prakash Kamliya \u003cpkamliya@codeaurora.org\u003e\nSigned-off-by: Hareesh Gundu \u003chareeshg@codeaurora.org\u003e\n"
    },
    {
      "commit": "6e99f322b52642004e9949bedf70bb12f12e3a17",
      "tree": "f049362a2e272523d4a13fec1f73c0d2409b4239",
      "parents": [
        "ff289c1fa9e4ca50d0ec0197678fa565f7b65d1b"
      ],
      "author": {
        "name": "Russ Anderson",
        "email": "rja@sgi.com",
        "time": "Wed Aug 28 16:35:18 2013 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sat Sep 07 21:58:14 2013 -0700"
      },
      "message": "drivers/base/memory.c: fix show_mem_removable() to handle missing sections\n\ncommit 21ea9f5ace3a7317cc3ba1fbc749758021a83136 upstream.\n\n\"cat /sys/devices/system/memory/memory*/removable\" crashed the system.\n\nThe problem is that show_mem_removable() is passing a\nbad pfn to is_mem_section_removable(), which causes\n\n    if (!node_online(page_to_nid(page)))\n\nto blow up.  Why is it passing in a bad pfn?\n\nThe reason is that show_mem_removable() will loop sections_per_block\ntimes.  sections_per_block is 16, but mem-\u003esection_count is 8,\nindicating holes in this memory block.  Checking that the memory section\nis present before checking to see if the memory section is removable\nfixes the problem.\n\n   harp5-sys:~ # cat /sys/devices/system/memory/memory*/removable\n   0\n   1\n   1\n   1\n   1\n   1\n   1\n   1\n   1\n   1\n   1\n   1\n   1\n   1\n   BUG: unable to handle kernel paging request at ffffea00c3200000\n   IP: [\u003cffffffff81117ed1\u003e] is_pageblock_removable_nolock+0x1/0x90\n   PGD 83ffd4067 PUD 37bdfce067 PMD 0\n   Oops: 0000 [#1] SMP\n   Modules linked in: autofs4 binfmt_misc rdma_ucm rdma_cm iw_cm ib_addr ib_srp scsi_transport_srp scsi_tgt ib_ipoib ib_cm ib_uverbs ib_umad iw_cxgb3 cxgb3 mdio mlx4_en mlx4_ib ib_sa mlx4_core ib_mthca ib_mad ib_core fuse nls_iso8859_1 nls_cp437 vfat fat joydev loop hid_generic usbhid hid hwperf(O) numatools(O) dm_mod iTCO_wdt ipv6 iTCO_vendor_support igb i2c_i801 ioatdma i2c_algo_bit ehci_pci pcspkr lpc_ich i2c_core ehci_hcd ptp sg mfd_core dca rtc_cmos pps_core mperf button xhci_hcd sd_mod crc_t10dif usbcore usb_common scsi_dh_emc scsi_dh_hp_sw scsi_dh_alua scsi_dh_rdac scsi_dh gru(O) xvma(O) xfs crc32c libcrc32c thermal sata_nv processor piix mptsas mptscsih scsi_transport_sas mptbase megaraid_sas fan thermal_sys hwmon ext3 jbd ata_piix ahci libahci libata scsi_mod\n   CPU: 4 PID: 5991 Comm: cat Tainted: G           O 3.11.0-rc5-rja-uv+ #10\n   Hardware name: SGI UV2000/ROMLEY, BIOS SGI UV 2000/3000 series BIOS 01/15/2013\n   task: ffff88081f034580 ti: ffff880820022000 task.ti: ffff880820022000\n   RIP: 0010:[\u003cffffffff81117ed1\u003e]  [\u003cffffffff81117ed1\u003e] is_pageblock_removable_nolock+0x1/0x90\n   RSP: 0018:ffff880820023df8  EFLAGS: 00010287\n   RAX: 0000000000040000 RBX: ffffea00c3200000 RCX: 0000000000000004\n   RDX: ffffea00c30b0000 RSI: 00000000001c0000 RDI: ffffea00c3200000\n   RBP: ffff880820023e38 R08: 0000000000000000 R09: 0000000000000001\n   R10: 0000000000000000 R11: 0000000000000001 R12: ffffea00c33c0000\n   R13: 0000160000000000 R14: 6db6db6db6db6db7 R15: 0000000000000001\n   FS:  00007ffff7fb2700(0000) GS:ffff88083fc80000(0000) knlGS:0000000000000000\n   CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\n   CR2: ffffea00c3200000 CR3: 000000081b954000 CR4: 00000000000407e0\n   Call Trace:\n     show_mem_removable+0x41/0x70\n     dev_attr_show+0x2a/0x60\n     sysfs_read_file+0xf7/0x1c0\n     vfs_read+0xc8/0x130\n     SyS_read+0x5d/0xa0\n     system_call_fastpath+0x16/0x1b\n\nSigned-off-by: Russ Anderson \u003crja@sgi.com\u003e\nCc: \"Rafael J. Wysocki\" \u003crafael.j.wysocki@intel.com\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nReviewed-by: Yasuaki Ishimatsu \u003cisimatu.yasuaki@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "ff289c1fa9e4ca50d0ec0197678fa565f7b65d1b",
      "tree": "59e070f12a3b8c71892dd4d2cf33e1066613df5a",
      "parents": [
        "2ad23b795892c3f128cb05de5ee6d5ae5c422c28"
      ],
      "author": {
        "name": "Paul Bolle",
        "email": "pebolle@tiscali.nl",
        "time": "Mon Oct 08 22:06:30 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sat Sep 07 21:58:14 2013 -0700"
      },
      "message": "regmap: silence GCC warning\n\ncommit a8f28cfad8cd44d7c34b166d0e5ace1125dbee1f upstream.\n\nBuilding regmap.o triggers this GCC warning:\n    drivers/base/regmap/regmap.c: In function ‘regmap_raw_read’:\n    drivers/base/regmap/regmap.c:1172:6: warning: ‘ret’ may be used uninitialized in this function [-Wmaybe-uninitialized]\n\nLong story short: Jakub Jelinek pointed out that there is a type\nmismatch between \u0027num\u0027 in regmap_volatile_range() and \u0027val_count\u0027 in\nregmap_raw_read(). And indeed, converting \u0027num\u0027 to the type of\n\u0027val_count\u0027 (ie, size_t) makes this warning go away.\n\nSigned-off-by: Paul Bolle \u003cpebolle@tiscali.nl\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "af3ebed2de9ec61b7b8a03c4eea99679b6297297",
      "tree": "ae1aaa75d5ed7d2f811a4927524c001a13e67c9e",
      "parents": [
        "8a38271154967d2aa46f8bb945523ab73796cf65"
      ],
      "author": {
        "name": "Prakash Kamliya",
        "email": "pkamliya@codeaurora.org",
        "time": "Mon Jul 22 17:48:16 2013 +0530"
      },
      "committer": {
        "name": "Prakash Kamliya",
        "email": "pkamliya@codeaurora.org",
        "time": "Mon Jul 22 18:12:08 2013 +0530"
      },
      "message": "sync: Limit logging to particular fence on timeout and error\n\nChange-Id: I5bd7d62260666cdd2a32212f0e828d2d5d7d7bba\nSigned-off-by: Prakash Kamliya \u003cpkamliya@codeaurora.org\u003e\n"
    },
    {
      "commit": "1b430e42b8af75734b2690e45db5ff2263fdc059",
      "tree": "82b6106b8a67430a505e6fb32f23c88838093183",
      "parents": [
        "a68e1744c7822624bbf92fe01e0a50d409ed07c4"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Feb 19 18:49:20 2013 -0800"
      },
      "committer": {
        "name": "Ananta Kishore K",
        "email": "akollipa@codeaurora.org",
        "time": "Thu Jul 11 18:39:08 2013 +0530"
      },
      "message": "sync: fix timeout \u003d 0 wait behavior\n\nChange-Id: I8b9254e92c26d9f44abbc0c77fb44624de947013\nSigned-off-by: Jamie Gennis \u003cjgennis@google.com\u003e\nSigned-off-by: Naseer Ahmed \u003cnaseer@codeaurora.org\u003e\nSigned-off-by: Ananta Kishore K \u003cakollipa@codeaurora.org\u003e\n"
    },
    {
      "commit": "a68e1744c7822624bbf92fe01e0a50d409ed07c4",
      "tree": "aa8b663f03624d25b72d7f925a4452d04a060794",
      "parents": [
        "96c2bbd9fae6f8d0e267258fc941f8fcb0c63862"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Mon Feb 04 12:37:16 2013 -0800"
      },
      "committer": {
        "name": "Ananta Kishore K",
        "email": "akollipa@codeaurora.org",
        "time": "Thu Jul 11 18:35:55 2013 +0530"
      },
      "message": "sync: don\u0027t log wait timeouts when timeout \u003d 0\n\nChange-Id: If7542002e10da886af7e7cbc06a0abf023c15893\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\nSigned-off-by: Naseer Ahmed \u003cnaseer@codeaurora.org\u003e\n"
    },
    {
      "commit": "6ec0e8e15ecc310464185db7820c5d30be409d1e",
      "tree": "35bd1748d9e516b7809941f9e3693def4499acab",
      "parents": [
        "93c86c4916e247e5e8de4d98c0e855d664e41468"
      ],
      "author": {
        "name": "Lars-Peter Clausen",
        "email": "lars@metafoo.de",
        "time": "Wed Mar 13 16:38:33 2013 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Apr 12 09:38:43 2013 -0700"
      },
      "message": "regmap: cache Fix regcache-rbtree sync\n\ncommit 8abac3ba51b5525354e9b2ec0eed1c9e95c905d9 upstream.\n\nThe last register block, which falls into the specified range, is not handled\ncorrectly. The formula which calculates the number of register which should be\nsynced is inverse (and off by one). E.g. if all registers in that block should\nbe synced only one is synced, and if only one should be synced all (but one) are\nsynced. To calculate the number of registers that need to be synced we need to\nsubtract the number of the first register in the block from the max register\nnumber and add one. This patch updates the code accordingly.\n\nThe issue was introduced in commit ac8d91c (\"regmap: Supply ranges to the sync\noperations\").\n\nSigned-off-by: Lars-Peter Clausen \u003clars@metafoo.de\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "38bc0fe99edd35ef738800167c67055f8ca7e476",
      "tree": "fa3935fccea2b989f9333c20fff4147e68ca05f4",
      "parents": [
        "f4ce5b3f263c05e7af66fa4eba7c4eb8e1b006bf"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Feb 14 18:14:27 2013 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Feb 28 06:59:01 2013 -0800"
      },
      "message": "drivercore: Fix ordering between deferred_probe and exiting initcalls\n\ncommit d72cca1eee5b26e313da2a380d4862924e271031 upstream.\n\nOne of the side effects of deferred probe is that some drivers which\nused to be probed before initcalls completed are now happening slightly\nlater. This causes two problems.\n- If a console driver gets deferred, then it may not be ready when\n  userspace starts. For example, if a uart depends on pinctrl, then the\n  uart will get deferred and /dev/console will not be available\n- __init sections will be discarded before built-in drivers are probed.\n  Strictly speaking, __init functions should not be called in a drivers\n  __probe path, but there are a lot of drivers (console stuff again)\n  that do anyway. In the past it was perfectly safe to do so because all\n  built-in drivers got probed before the end of initcalls.\n\nThis patch fixes the problem by forcing the first pass of the deferred\nlist to complete at late_initcall time. This is late enough to catch the\ndrivers that are known to have the above issues.\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nTested-by: Haojian Zhuang \u003chaojian.zhuang@linaro.org\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "362efcc9b0ba020f9124c70c56381ed64491aeca",
      "tree": "2b1df024dd7a25a1278a4eaa1b7e2f87a621b9e2",
      "parents": [
        "2199a6528ce9b299f3a3e2a6b50cfd197cbc135e"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bhelgaas@google.com",
        "time": "Tue Jan 29 16:44:27 2013 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Feb 28 06:59:00 2013 -0800"
      },
      "message": "Driver core: treat unregistered bus_types as having no devices\n\ncommit 4fa3e78be7e985ca814ce2aa0c09cbee404efcf7 upstream.\n\nA bus_type has a list of devices (klist_devices), but the list and the\nsubsys_private structure that contains it are not initialized until the\nbus_type is registered with bus_register().\n\nThe panic/reboot path has fixups that look up devices in pci_bus_type.  If\nwe panic before registering pci_bus_type, the bus_type exists but the list\ndoes not, so mach_reboot_fixups() trips over a null pointer and panics\nagain:\n\n    mach_reboot_fixups\n      pci_get_device\n        ..\n          bus_find_device(\u0026pci_bus_type, ...)\n            bus-\u003ep is NULL\n\nJoonsoo reported a problem when panicking before PCI was initialized.\nI think this patch should be sufficient to replace the patch he posted\nhere: https://lkml.org/lkml/2012/12/28/75 (\"[PATCH] x86, reboot: skip\nreboot_fixups in early boot phase\")\n\nReported-by: Joonsoo Kim \u003cjs1304@gmail.com\u003e\nSigned-off-by: Bjorn Helgaas \u003cbhelgaas@google.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "b549e527fa677564cf0ecc4c245e339d9b4dc4bc",
      "tree": "f827a295bb895196ca19c6c52a3e3a8826c13ab9",
      "parents": [
        "ab181a2dc0a4de140767558695241cae13014060"
      ],
      "author": {
        "name": "Ørjan Eide",
        "email": "orjan.eide@arm.com",
        "time": "Wed Dec 05 16:38:08 2012 +0100"
      },
      "committer": {
        "name": "Uma Maheshwari Bhiram",
        "email": "ubhira@codeaurora.org",
        "time": "Thu Feb 21 11:33:40 2013 -0800"
      },
      "message": "sync: Fix race condition between merge and signal\n\nThe copied sync_pt was activated immediately. If the sync_pt was\nsignaled before the entire merge was completed, the new fence\u0027s pt_list\ncould be iterated over while it is still in the process of being\ncreated.\n\nMoving the the sync_pt_activate call for all new sync_pts to after both\nthe sync_fence_copy_pts and the sync_fence_merge_pts calls ensure that\nthe pt_list is complete and immutable before it can be reached from the\ntimeline\u0027s active list.\n\nChange-Id: I7aa4d404a822347b6ce148018d2a66e4f6a20c78\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\nSigned-off-by: Naseer Ahmed \u003cnaseer@codeaurora.org\u003e\nSigned-off-by: Uma Maheshwari Bhiram \u003cubhira@codeaurora.org\u003e\n"
    },
    {
      "commit": "e833acaf2b5cfac0fb53692652a8c39667f1e559",
      "tree": "f530c2ea75a3d7e52045e1f543ced58757895b9d",
      "parents": [
        "7dfc4b284ca395a035e7da058f86dfb4275dd509"
      ],
      "author": {
        "name": "Duy Truong",
        "email": "dtruong@codeaurora.org",
        "time": "Tue Feb 12 13:35:08 2013 -0800"
      },
      "committer": {
        "name": "Duy Truong",
        "email": "dtruong@codeaurora.org",
        "time": "Tue Feb 12 13:35:08 2013 -0800"
      },
      "message": "Update copyright to The Linux Foundation\n\nChange-Id: Ibead64ce2e901dede2ddd1b86088b88f2350ce92\nSigned-off-by: Duy Truong \u003cdtruong@codeaurora.org\u003e\n"
    },
    {
      "commit": "ba1de754297ed6756f0a6281f3e41a0ef9ff0d77",
      "tree": "3524c7b437617fef4226e74bf219e7d916163bd4",
      "parents": [
        "dc4a02c677c9667dcd7d118cee09a99ede9c64f4"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Dec 11 01:14:11 2012 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Jan 17 08:50:54 2013 -0800"
      },
      "message": "regmap: debugfs: Avoid overflows for very small reads\n\ncommit db04328c167ff8e7c57f4a3532214aeada3a82fd upstream.\n\nIf count is less than the size of a register then we may hit integer\nwraparound when trying to move backwards to check if we\u0027re still in\nthe buffer. Instead move the position forwards to check if it\u0027s still\nin the buffer, we are unlikely to be able to allocate a buffer\nsufficiently big to overflow here.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "c4e9e580078376f7fd53fcf3a27f3a1259ebe463",
      "tree": "3d8aec8ed267593a784624f7183119884ceb3f1b",
      "parents": [
        "98165e2b0d355759c16bae8d9ae09b445149cfbd"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@gmx.de",
        "time": "Fri Nov 23 20:55:06 2012 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Dec 03 11:47:10 2012 -0800"
      },
      "message": "PM / QoS: fix wrong error-checking condition\n\ncommit a7227a0faa117d0bc532aea546ae5ac5f89e8ed7 upstream.\n\ndev_pm_qos_add_request() can return 0, 1, or a negative error code,\ntherefore the correct error test is \"if (error \u003c 0).\" Checking just for\nnon-zero return code leads to erroneous setting of the req-\u003edev pointer\nto NULL, which then leads to a repeated call to\ndev_pm_qos_add_ancestor_request() in st1232_ts_irq_handler(). This in turn\nleads to an Oops, when the I2C host adapter is unloaded and reloaded again\nbecause of the inconsistent state of its QoS request list.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nSigned-off-by: Rafael J. Wysocki \u003crafael.j.wysocki@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "8a5bdaf3724964a50eee6c99636b88a8be61f210",
      "tree": "369593fd9e766da742fc0fc3b352273b3a899bba",
      "parents": [
        "9985432a82e6700cf9759f413ecaecbf617318cb"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Wed Sep 19 21:59:02 2012 +0200"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Fri Nov 02 11:26:11 2012 -0700"
      },
      "message": "PM: Prevent runtime suspend during system resume\n\nThis patch (as1591) moves the pm_runtime_get_noresume() and\npm_runtime_put_sync() calls from __device_suspend() and\ndevice_resume() to device_prepare() and device_complete() in the PM\ncore.\n\nThe reason for doing this is to make sure that parent devices remain\nat full power (i.e., don\u0027t go into runtime suspend) while their\nchildren are being resumed from a system sleep.\n\nThe PCI core already contained equivalent code to serve the same\npurpose.  The patch removes the duplicated code, since it is no longer\nneeded.  One of the comments from the PCI core gets moved into the PM\ncore, and a second comment is added to explain whe the _get_noresume\nand _put_sync calls are present.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "0f667e81c030e9bef6b75dfb315c8d49a406c80c",
      "tree": "37c78291fce741ffc6ab34ed8edc360139bb5729",
      "parents": [
        "111ae13cd947014387cdc55bf938b317b8a9ecf5"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Fri Oct 19 12:27:48 2012 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Fri Oct 19 12:28:03 2012 -0700"
      },
      "message": "Revert \"base: sync: signal a sync pt when not adding to the active_list\"\n\nThis reverts commit bd483da2f7a76290369bffb7e5171336d653c134.\n"
    },
    {
      "commit": "111ae13cd947014387cdc55bf938b317b8a9ecf5",
      "tree": "292dab6d3495204df08b681fd82a0232ca153bfd",
      "parents": [
        "5fd9c3d7df7389a1e136a0cb60e9ff85c655d8a1"
      ],
      "author": {
        "name": "Rebecca Schultz Zavin",
        "email": "rebecca@android.com",
        "time": "Wed Aug 08 13:46:22 2012 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Fri Oct 19 12:28:02 2012 -0700"
      },
      "message": "sync: Fix error paths\n\nCheck the return value of get_unused_fd to make sure a valid\nfile descriptor is returned.\n\nMake sure to call put_unused_fd even if an error occurs before\nthe fd can be used.\n\nChange-Id: I0fe8f78d9e30ecfc4d271c5d875424543dae2d0f\nSigned-off-by: Rebecca Schultz Zavin \u003crebecca@android.com\u003e\n"
    },
    {
      "commit": "8e0b3254cd4cc41d23364f36a88f9223761d9fff",
      "tree": "180dcb6f694294d67b213426dbf251e68ee03328",
      "parents": [
        "bf7a56a7b36c5bf896b1a864a82ca28331689298"
      ],
      "author": {
        "name": "Ajay Dudani",
        "email": "adudani@codeaurora.org",
        "time": "Tue Oct 16 16:14:48 2012 -0700"
      },
      "committer": {
        "name": "Android Partner Code Review",
        "email": "android-gerrit-partner@google.com",
        "time": "Wed Oct 17 17:29:27 2012 -0700"
      },
      "message": "sync: add tracepoint support\n\nChange-Id: I181326db4247009161557e45444c9b3548b83d25\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\n"
    },
    {
      "commit": "bf7a56a7b36c5bf896b1a864a82ca28331689298",
      "tree": "ed2f0dc46f31ca52d29d931fd0c5a8079b1c6bf6",
      "parents": [
        "41991aae18f3533d96ed7e5ad5f7624ce6f668f5"
      ],
      "author": {
        "name": "Ajay Dudani",
        "email": "adudani@codeaurora.org",
        "time": "Tue Oct 16 15:18:23 2012 -0700"
      },
      "committer": {
        "name": "Android Partner Code Review",
        "email": "android-gerrit-partner@google.com",
        "time": "Wed Oct 17 17:23:07 2012 -0700"
      },
      "message": "sw_sync: convert to new value_str debug ops\n\nChange-Id: I9bad0cac1198043e04637641feb8112e2e7a9d11\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\n"
    },
    {
      "commit": "41991aae18f3533d96ed7e5ad5f7624ce6f668f5",
      "tree": "381e3b78ef92b4b80fc2f7308d315dd2285fde30",
      "parents": [
        "f76d6d6314cb06e58eb9129e6f858397b924da95"
      ],
      "author": {
        "name": "Ajay Dudani",
        "email": "adudani@codeaurora.org",
        "time": "Tue Oct 16 15:16:55 2012 -0700"
      },
      "committer": {
        "name": "Android Partner Code Review",
        "email": "android-gerrit-partner@google.com",
        "time": "Wed Oct 17 17:22:52 2012 -0700"
      },
      "message": "sync: refactor sync debug printing\n\nMove driver callbacks to fill strings instead of using seq_files.  This\nwill allow those values to be used in a future tracepoint patch.\n\nChange-Id: I9b706343e35b11124141fe520e520514a32003d2\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\n"
    },
    {
      "commit": "f76d6d6314cb06e58eb9129e6f858397b924da95",
      "tree": "d54318f83eab264a037f1f012230e087316e52e0",
      "parents": [
        "cc4ce5640a9d05ab98c3922c5bf8a471786bc44f"
      ],
      "author": {
        "name": "Ajay Dudani",
        "email": "adudani@codeaurora.org",
        "time": "Mon Oct 15 17:58:46 2012 -0700"
      },
      "committer": {
        "name": "Android Partner Code Review",
        "email": "android-gerrit-partner@google.com",
        "time": "Wed Oct 17 17:22:43 2012 -0700"
      },
      "message": "sync: use proper barriers when waiting indefinitely\n\nThe previous fix only addressed waiting with a timeout.\n\nChange-Id: I8ad735d2d0dfdd53592904e8a54f5689cb5eaa5e\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\n"
    },
    {
      "commit": "cc4ce5640a9d05ab98c3922c5bf8a471786bc44f",
      "tree": "6020139ef57df65e324989241a1c842c1f2162b9",
      "parents": [
        "ea12765da6722632c876bb6e4766e9f5e2480585"
      ],
      "author": {
        "name": "Ajay Dudani",
        "email": "adudani@codeaurora.org",
        "time": "Mon Oct 15 17:51:01 2012 -0700"
      },
      "committer": {
        "name": "Android Partner Code Review",
        "email": "android-gerrit-partner@google.com",
        "time": "Wed Oct 17 17:22:33 2012 -0700"
      },
      "message": "sync: update new fence status with sync_fence_signal_pt\n\nIf a fence\u0027s pt is signaled before sync_fence_create is called, the fence\nwill never transition into the signaled state.  This also address a tiny\nrace if a merged fence\u0027s pt after sync_fence_get_status checks it\u0027s status\nand before fence-\u003estatus is updated.\n\nChange-Id: Ic8e292a323db26c6f04cb4757d920278b3125ff6\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\n"
    },
    {
      "commit": "ea12765da6722632c876bb6e4766e9f5e2480585",
      "tree": "f18807ad02843f53c56f382b2d6aca7ddb8f3b14",
      "parents": [
        "7dd3cc413590e3e92756ba28471d3cfe9b1af407"
      ],
      "author": {
        "name": "Ajay Dudani",
        "email": "adudani@codeaurora.org",
        "time": "Wed Oct 10 18:08:11 2012 -0700"
      },
      "committer": {
        "name": "Android Partner Code Review",
        "email": "android-gerrit-partner@google.com",
        "time": "Wed Oct 17 17:22:28 2012 -0700"
      },
      "message": "sync: dump sync state of fence errors\n\nChange-Id: I297a43aadf83504993040ea875c7f22d988628f1\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\n"
    },
    {
      "commit": "7a47627a88faa692baa3f0eef220ef2c36162363",
      "tree": "65ba2daf0d9f2c97ffef8832547bb966cda36840",
      "parents": [
        "e8cd8ba448c7f010908b9a9c61ee6457359a1f03"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Thu Oct 11 12:35:22 2012 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Tue Oct 16 14:33:01 2012 -0700"
      },
      "message": "sync: protect unlocked access to fence status\n\nFence status is checked outside of locks in both sync_fence_wait and\nsync_fence_poll.  This patch adds propper barrier protection in these\ncases to avoid seeing stale status.\n\nChange-Id: I9d8b6ce6accb415e797df58068a1ccd54e6be445\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\n"
    },
    {
      "commit": "24a0c2063c805e9cf1f3f418bb7f444b5b3f0e4e",
      "tree": "10eb417364c6a95b2614c2c4f6d353da70f54c97",
      "parents": [
        "a332509fcd9064cae48d26e09aec46e08247223b"
      ],
      "author": {
        "name": "Feng Hong",
        "email": "hongfeng@marvell.com",
        "time": "Wed Sep 19 14:16:00 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sat Oct 13 05:38:39 2012 +0900"
      },
      "message": "PM / Sleep: use resume event when call dpm_resume_early\n\ncommit 997a031107ec962967ce36db9bc500f1fad491c1 upstream.\n\nWhen dpm_suspend_noirq fail, state is PMSG_SUSPEND,\nshould change to PMSG_RESUME when dpm_resume_early is called\n\nSigned-off-by: Feng Hong \u003chongfeng@marvell.com\u003e\nSigned-off-by: Raul Xiong \u003cxjian@marvell.com\u003e\nSigned-off-by: Neil Zhang \u003czhangwm@marvell.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "7f2e6defbe27240e9d51e4eee2f2568d31956b79",
      "tree": "49a0b583ae0adc0bdea9a09a56c312d32b8fd7d8",
      "parents": [
        "a0bfb9191135a16c84df7ba580ea839aefff4a0f"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Aug 15 21:31:55 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Oct 02 10:30:22 2012 -0700"
      },
      "message": "PM / Runtime: Clear power.deferred_resume on success in rpm_suspend()\n\ncommit 58a34de7b1a920d287d17d2ca08bc9aaf7e6d35b upstream.\n\nThe power.deferred_resume can only be set if the runtime PM status\nof device is RPM_SUSPENDING and it should be cleared after its\nstatus has been changed, regardless of whether or not the runtime\nsuspend has been successful.  However, it only is cleared on\nsuspend failure, while it may remain set on successful suspend and\nis happily leaked to rpm_resume() executed in that case.\n\nThat shouldn\u0027t happen, so if power.deferred_resume is set in\nrpm_suspend() after the status has been changed to RPM_SUSPENDED,\nclear it before calling rpm_resume().  Then, it doesn\u0027t need to be\ncleared before changing the status to RPM_SUSPENDING any more,\nbecause it\u0027s always cleared after the status has been changed to\neither RPM_SUSPENDED (on success) or RPM_ACTIVE (on failure).\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "a0bfb9191135a16c84df7ba580ea839aefff4a0f",
      "tree": "d9863dc7f83dc2a2a9b095e4ce57645673c1b828",
      "parents": [
        "5e5891d1fe77e50428913ab69ff8cc8c5695a560"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Aug 15 21:31:45 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Oct 02 10:30:22 2012 -0700"
      },
      "message": "PM / Runtime: Fix rpm_resume() return value for power.no_callbacks set\n\ncommit 7f321c26c04807834fef4c524d2b21573423fc74 upstream.\n\nFor devices whose power.no_callbacks flag is set, rpm_resume()\nshould return 1 if the device\u0027s parent is already active, so that\nthe callers of pm_runtime_get() don\u0027t think that they have to wait\nfor the device to resume (asynchronously) in that case (the core\nwon\u0027t queue up an asynchronous resume in that case, so there\u0027s\nnothing to wait for anyway).\n\nModify the code accordingly (and make sure that an idle notification\nwill be queued up on success, even if 1 is to be returned).\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "bd483da2f7a76290369bffb7e5171336d653c134",
      "tree": "70b0180d4964a32d02daef059ed234ac8a8f6a37",
      "parents": [
        "b714287e72bd615795c47031b5742465ebf1959d"
      ],
      "author": {
        "name": "Jeff Boody",
        "email": "jboody@codeaurora.org",
        "time": "Fri Aug 17 12:59:08 2012 -0600"
      },
      "committer": {
        "name": "Android Partner Code Review",
        "email": "android-gerrit-partner@google.com",
        "time": "Tue Sep 18 14:42:25 2012 -0700"
      },
      "message": "base: sync: signal a sync pt when not adding to the active_list\n\nA sync point that is not added to the active_list will never signal\nin sync_timeline_signal thus causing sync_fence_wait to deadlock or\nblock until the timeout expired.\n\nChange-Id: I75168d0eec874bf70dd8c28db9508dd8fc1077d3\nSigned-off-by: Jeff Boody \u003cjboody@codeaurora.org\u003e\n"
    },
    {
      "commit": "31802ec5ac352bac839a73c685d08cbdcd51c545",
      "tree": "f943f049f8db618f0229c66e2d1851942995895e",
      "parents": [
        "93b10c945aab4d32eb7a7b85bc1e16ce8ab5a2a5"
      ],
      "author": {
        "name": "Ajay Dudani",
        "email": "adudani@codeaurora.org",
        "time": "Tue Sep 04 15:29:09 2012 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Thu Sep 13 21:24:34 2012 -0700"
      },
      "message": "sync: improve timeout dumps\n\nChange-Id: I3b378d63c324c7b5862dd214f380b5e91131cc2a\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\nSigned-off-by: Ajay Dudani \u003cadudani@codeaurora.org\u003e\n"
    },
    {
      "commit": "93b10c945aab4d32eb7a7b85bc1e16ce8ab5a2a5",
      "tree": "d67e3f897afa424f333d2f237b03ca2c40e8d351",
      "parents": [
        "442fff479c893935d7845415541c4396727b74ae"
      ],
      "author": {
        "name": "Ajay Dudani",
        "email": "adudani@codeaurora.org",
        "time": "Tue Sep 04 15:28:52 2012 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Thu Sep 13 21:23:49 2012 -0700"
      },
      "message": "sync: use correct signed type when handling SYNC_IOC_WAIT\n\nChange-Id: Ic7d5adf9b145765e52b23186b8c3c793ccf29be7\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\nSigned-off-by: Ajay Dudani \u003cadudani@codeaurora.org\u003e\n"
    },
    {
      "commit": "442fff479c893935d7845415541c4396727b74ae",
      "tree": "9dfcaa88df84d6a2c86fada56c0f16b1a0bc87ca",
      "parents": [
        "458115838c9d61438173c060ea0f54c8695cb394"
      ],
      "author": {
        "name": "Ajay Dudani",
        "email": "adudani@codeaurora.org",
        "time": "Fri Aug 24 13:48:57 2012 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Thu Sep 13 21:22:59 2012 -0700"
      },
      "message": "sync: dump sync state to console on timeout\n\nChange-Id: I74bca6b4a2afa7ed5b1f5233c5165d2edddf269a\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\nSigned-off-by: Ajay Dudani \u003cadudani@codeaurora.org\u003e\n"
    },
    {
      "commit": "458115838c9d61438173c060ea0f54c8695cb394",
      "tree": "2624e5c7c92399629c8a240cb714f00dec75baa0",
      "parents": [
        "131ed18f74d8297d4c1fa22bee6bba858b2097aa"
      ],
      "author": {
        "name": "Ajay Dudani",
        "email": "adudani@codeaurora.org",
        "time": "Fri Aug 24 13:48:34 2012 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Thu Sep 13 21:22:13 2012 -0700"
      },
      "message": "sync: clean up compiler warnings\n\nChange-Id: I8a2ec5db652c61fd04571402067b37273b91e78f\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\nSigned-off-by: Ajay Dudani \u003cadudani@codeaurora.org\u003e\n"
    },
    {
      "commit": "131ed18f74d8297d4c1fa22bee6bba858b2097aa",
      "tree": "48a19e511b0964b699b018c67a2a864a08715ebc",
      "parents": [
        "df53a2ca1d816336799b67c8edd45e971c0c09ad"
      ],
      "author": {
        "name": "Ajay Dudani",
        "email": "adudani@codeaurora.org",
        "time": "Tue Aug 21 18:43:21 2012 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Thu Sep 13 21:21:28 2012 -0700"
      },
      "message": "sync: fix erase-o in sync_fence_wait\n\nChange-Id: I189707cf658a9f1f2943515c891b43961994e774\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\nSigned-off-by: Ajay Dudani \u003cadudani@codeaurora.org\u003e\n"
    },
    {
      "commit": "df53a2ca1d816336799b67c8edd45e971c0c09ad",
      "tree": "1ce797897c4176b0bbbfac719af0f3c72c363f29",
      "parents": [
        "741cddec165837bfef3fb69114263272fa77e808"
      ],
      "author": {
        "name": "Ajay Dudani",
        "email": "adudani@codeaurora.org",
        "time": "Tue Aug 21 17:57:19 2012 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Thu Sep 13 21:20:35 2012 -0700"
      },
      "message": "sync: change wait timeout to mirror poll semantics\n\nChange-Id: Ib38e6d339d41885a33027752690d65a52b6897f6\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\nSigned-off-by: Ajay Dudani \u003cadudani@codeaurora.org\u003e\n"
    },
    {
      "commit": "741cddec165837bfef3fb69114263272fa77e808",
      "tree": "9f5930b7ea7d7551a2850c0362073ed7967e5a72",
      "parents": [
        "c4af266e3659a7306973d29e1a4707edf7ac6bea"
      ],
      "author": {
        "name": "Ajay Dudani",
        "email": "adudani@codeaurora.org",
        "time": "Thu Aug 02 17:26:45 2012 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Thu Sep 13 21:19:55 2012 -0700"
      },
      "message": "sync: add reference counting to timelines\n\nIf a timeline is destroyed while fences still hold pts on it, the reworked\nfence release handler can cause the timeline to be freed before all it\u0027s points\nare freed.\n\nChange-Id: I1cd8ddb638eded7db9db446ff6b37f3dd165d6c4\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\nSigned-off-by: Ajay Dudani \u003cadudani@codeaurora.org\u003e\n"
    },
    {
      "commit": "c4af266e3659a7306973d29e1a4707edf7ac6bea",
      "tree": "11c02c6777c39eae210bd5331ba674c7cb2d2300",
      "parents": [
        "9934319415cdee69c02e00a98e8eacea5035135b"
      ],
      "author": {
        "name": "Ajay Dudani",
        "email": "adudani@codeaurora.org",
        "time": "Mon Jul 23 16:43:05 2012 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Thu Sep 13 21:19:26 2012 -0700"
      },
      "message": "sync: add internal refcounting to fences\n\nIf a fence is released while a timeline that one of it\u0027s pts is on is being\nsignaled, it is possible for that fence to be deleted before it is signaled.\nThis patch adds a refcount for internal references such as signaled pt\nprocessing.\n\nChange-Id: Ie8605e6fd2ac026c207220a03d84e1c1078ec719\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\nSigned-off-by: Ajay Dudani \u003cadudani@codeaurora.org\u003e\n"
    },
    {
      "commit": "9934319415cdee69c02e00a98e8eacea5035135b",
      "tree": "f1114c1ca34fd1a90d1792239e46078c7e762041",
      "parents": [
        "1ee768514967eb57bddefbd9815a664ea59dafd8"
      ],
      "author": {
        "name": "Ajay Dudani",
        "email": "adudani@codeaurora.org",
        "time": "Wed Jul 11 17:13:50 2012 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Thu Sep 13 21:18:03 2012 -0700"
      },
      "message": "sync: optimize fence merges\n\nIf the two fences being merged contain sync_pts from the same timeline,\nthose two pts will be collapsed into a single pt representing the latter\nof the two.\n\nChange-Id: Iced7ebb7e5a17a0c8b1a2969ba3388a4edb9ecaf\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\nSigned-off-by: Ajay Dudani \u003cadudani@codeaurora.org\u003e\n"
    },
    {
      "commit": "1ee768514967eb57bddefbd9815a664ea59dafd8",
      "tree": "f34dfc990936e9756cef6592661e929752b02148",
      "parents": [
        "4fa0eb8ca5cf0eb9b0f5c01cd20e0ee50fa2c853"
      ],
      "author": {
        "name": "Ajay Dudani",
        "email": "adudani@codeaurora.org",
        "time": "Wed Jul 11 17:07:39 2012 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Thu Sep 13 21:16:50 2012 -0700"
      },
      "message": "sync: reorder sync_fence_release\n\nPreviously fence\u0027s pts were freed before the were the fence was removed from the\nglobal fence list.  This led to a race with the debugfs support where it would\niterate over sync_pts that had been freed.\n\nChange-Id: Ia3ddbf77de42ca593fc2dc353b5d04e42ddf3946\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\nSigned-off-by: Ajay Dudani \u003cadudani@codeaurora.org\u003e\n"
    },
    {
      "commit": "21d7afe4817a1879e8d7c99b83c26ef3f4f5691b",
      "tree": "58ac47a5ea16171fb7a5b0407ebb24a8a88519d8",
      "parents": [
        "3f9b234be2dbafb7d113bf58df6093ef6445b441",
        "406a0a8400fd2d1d5b68c993e191f4c05a8c23a9"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Fri Aug 24 19:44:50 2012 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Fri Aug 24 19:44:50 2012 -0700"
      },
      "message": "Merge commit \u0027406a0a8400fd2d1d5b68c993e191f4c05a8c23a9\u0027 into android-msm-mako-3.4-wip\n\n(needs additional patches to compile)\n\n* commit \u0027406a0a8400fd2d1d5b68c993e191f4c05a8c23a9\u0027: (450 commits)\n  msm: vidc: Separate partition for shared memory\n  arm/dt: Move MDSS device nodes to separate dtsi file\n  msm: cpr: Add support for CPR in 8625\n  defconfig: msm8974: enable genlock\n  msm: Remove idle stats and cpuidle hooks\n  msm: timer: Add a stub for msm_timer_get_timer0_base\n  msm: iomap: Add mappings for the MPM PS_HOLD region\n  msm:  vidc: Adds support for Rate Control\n  ASoc: msm: Add low latency playback and recording support.\n  msm: Fix for overflow cpu alive mask dump.\n  tty: hold lock across tty buffer finding and buffer filling\n  msm: Turn off cpu alive mask messages.\n  msm: kgsl: Add GPU clock statistics.\n  Bluetooth: Enable BT\u0026FM kernel modules for MSM8974\n  v4l2: Add mutex to streamon() and dqbuf()in v4l2 framework.\n  msm: mdss: fix suspend coming to MDP before panel drivers\n  msm: mdss: allocate framebuffer memory from ion pool\n  msm: mdss: improve clock and bus scaling logic\n  platform: msm: Add driver for QPNP PMIC clkdiv peripherals\n  msm: add adsp loader driver\n  ...\n\nConflicts:\n\tdrivers/base/power/main.c\n\tdrivers/power/pm8921-bms.c\n\tdrivers/power/pm8921-charger.c\n\tdrivers/usb/gadget/Kconfig\n\tdrivers/usb/gadget/android.c\n\tdrivers/usb/host/ehci-msm-hsic.c\n\tdrivers/video/msm/mdp4_overlay_dsi_video.c\n\tinclude/linux/mfd/pm8xxx/pm8921-charger.h\n\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "64440f79f149bdddd3bc83643b5a7acf00794fca",
      "tree": "02abbcc9b544a4e7477055f09228d2e4e47f34b5",
      "parents": [
        "eb43d9848756ebf35f062d04ca926db0d4e71875",
        "b1ee3af77193a5114862c784df5e4d5a688ce257"
      ],
      "author": {
        "name": "Linux Build Service Account",
        "email": "lnxbuild@localhost",
        "time": "Fri Aug 17 14:22:12 2012 -0700"
      },
      "committer": {
        "name": "QuIC Gerrit Code Review",
        "email": "code-review@localhost",
        "time": "Fri Aug 17 14:22:12 2012 -0700"
      },
      "message": "Merge \"common: add dma_mmap_from_coherent() function\" into msm-3.4"
    },
    {
      "commit": "9d268ac505cc7a20e3d79503f699b00aee3f0957",
      "tree": "1c694f54af0c7ed0cefbff69cf8f0efb093e1443",
      "parents": [
        "a5f830ed8d5966441393c41f19cd3494d0bdeba6"
      ],
      "author": {
        "name": "Devin Kim",
        "email": "dojip.kim@lge.com",
        "time": "Fri Aug 10 18:06:41 2012 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Thu Aug 16 10:37:34 2012 -0700"
      },
      "message": "PM / Sleep: Prevent waiting forever on asynchronous suspend after abort\n\ncommit 1f758b23177d588a71b96ad02990e715949bb82f upstream.\n\n__device_suspend() must always send a completion. Otherwise, parent\ndevices will wait forever.\n\nCommit 1e2ef05b, \"PM: Limit race conditions between runtime PM and\nsystem sleep (v2)\", introduced a regression by short-circuiting the\ncomplete_all() for certain error cases.\n\nThis patch fixes the bug by always signalling a completion.\n\nAddresses http://crosbug.com/31972\n\nTested by injecting an abort.\n\nChange-Id: I1402360f8af760cfdf66f8830bd8db4b1b676c47\nSigned-off-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "a856ecfe77a0675b4216ec22707fc46340faa91f",
      "tree": "daafdd70e4c5fa22dbd7b7a4062e710b1e828788",
      "parents": [
        "8a9d687e93bdac7ae2401a0463f080f6782c4c3b"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Jul 19 10:38:06 2012 +0200"
      },
      "committer": {
        "name": "Joel King",
        "email": "joelking@codeaurora.org",
        "time": "Thu Aug 16 00:42:04 2012 -0700"
      },
      "message": "PM / Sleep: call early resume handlers when suspend_noirq fails\n\nCommit cf579dfb82550e34de7ccf3ef090d8b834ccd3a9 (PM / Sleep: Introduce\n\"late suspend\" and \"early resume\" of devices) introduced a bug where\nsuspend_late handlers would be called, but if dpm_suspend_noirq returned\nan error the early_resume handlers would never be called.  All devices\nwould end up on the dpm_late_early_list, and would never be resumed\nagain.\n\nFix it by calling dpm_resume_early when dpm_suspend_noirq returns\nan error.\n\nSigned-off-by: Colin Cross \u003cccross@android.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n\nChange-Id: I6fe42f02efdc0b5fb0949b7d5c1c8eb8da96825d\nSigned-off-by: Joel King \u003cjoelking@codeaurora.org\u003e\n"
    },
    {
      "commit": "b1ee3af77193a5114862c784df5e4d5a688ce257",
      "tree": "547bd474e6e3244a97259d8af4d48611c6e8775a",
      "parents": [
        "40e489267e105f9b6da1ab7ed128f1cce9ea7924"
      ],
      "author": {
        "name": "Marek Szyprowski",
        "email": "m.szyprowski@samsung.com",
        "time": "Fri Mar 23 13:05:14 2012 +0100"
      },
      "committer": {
        "name": "Laura Abbott",
        "email": "lauraa@codeaurora.org",
        "time": "Wed Aug 15 13:06:05 2012 -0700"
      },
      "message": "common: add dma_mmap_from_coherent() function\n\nAdd a common helper for dma-mapping core for mapping a coherent buffer\nto userspace.\n\nChange-Id: I9b67d53b50f4761455ff66634d65e6510faa62de\nReported-by: Subash Patel \u003csubashrp@gmail.com\u003e\nSigned-off-by: Marek Szyprowski \u003cm.szyprowski@samsung.com\u003e\nAcked-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nTested-By: Subash Patel \u003csubash.ramaswamy@linaro.org\u003e\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "6c85661c215a7d670adf9e74be3a75cb789f3247",
      "tree": "ff9cccbacd6c79106036ce76b195a8c5bec764f1",
      "parents": [
        "f4648b6df3276458c69b1cde0260ea99bc39e136",
        "ae8381a32ba8b9fc8e803a59cd7ff3a38d58d082"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Mon Aug 13 14:45:31 2012 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Mon Aug 13 14:56:39 2012 -0700"
      },
      "message": "Merge commit \u0027ae8381a32ba8b9fc8e803a59cd7ff3a38d58d082\u0027 into android-msm-mako-3.4-wip\n\nConflicts:\n\tdrivers/media/video/msm/Makefile\n\tdrivers/media/video/msm/sensors/msm_sensor.h\n\tdrivers/video/msm/mdp4_overlay.c\n\tdrivers/video/msm/mdp4_overlay_dsi_video.c\n\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "46dbb0f5903b71e3c7b37e4ad707a9aa70fe3eed",
      "tree": "b89b5a76cc3f18c49311552816a837c79a12a595",
      "parents": [
        "d3dd392851e014c90ce9e26d03a93188840a5a0b"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Jul 19 10:38:06 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Aug 09 08:31:30 2012 -0700"
      },
      "message": "PM / Sleep: call early resume handlers when suspend_noirq fails\n\ncommit 064b021fbe470ecc9ca10f9f87af48c0fc0865fb upstream.\n\nCommit cf579dfb82550e34de7ccf3ef090d8b834ccd3a9 (PM / Sleep: Introduce\n\"late suspend\" and \"early resume\" of devices) introduced a bug where\nsuspend_late handlers would be called, but if dpm_suspend_noirq returned\nan error the early_resume handlers would never be called.  All devices\nwould end up on the dpm_late_early_list, and would never be resumed\nagain.\n\nFix it by calling dpm_resume_early when dpm_suspend_noirq returns\nan error.\n\nSigned-off-by: Colin Cross \u003cccross@android.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "e3be5ca1c8c9e2e0d373243e623a7a35f9a8776c",
      "tree": "86e6e3c6e8ddc90878aa1076bec3f1ac309f7a9b",
      "parents": [
        "e22e8aeafdd06285f1f1e15201cb9ece3874ec0a"
      ],
      "author": {
        "name": "Jaeseong GIM",
        "email": "jaeseong.gim@lge.com",
        "time": "Sun Jul 22 03:20:41 2012 -0700"
      },
      "committer": {
        "name": "Brian Muramatsu",
        "email": "btmura@google.com",
        "time": "Wed Aug 01 23:34:52 2012 -0700"
      },
      "message": "drivers: power: fix suspend/resume lockup issue\n\nwhen dpm_suspend_noirq returns error, dpm_resume_early shoud be called\nafter dpm_resume_noirq. previous unmatched dpm function calls cause\nabnormal suspend/resume lockup.\n\nChange-Id: Ib37538ce6fc21a026b44672a16f6a8d6587200a0\n"
    },
    {
      "commit": "dc6023bfefe994703fae3bec20f20fec3bca4b85",
      "tree": "9b769aeb0fd9c4120df15a27afd7e5e58bafed52",
      "parents": [
        "7afa6a59e5ff7ee97126fb1c3466f862b17f18d7"
      ],
      "author": {
        "name": "Jeff Boody",
        "email": "jboody@codeaurora.org",
        "time": "Thu Jul 19 14:19:12 2012 -0600"
      },
      "committer": {
        "name": "Jeff Boody",
        "email": "jboody@codeaurora.org",
        "time": "Thu Jul 19 14:50:09 2012 -0600"
      },
      "message": "base: genlock: handle error while creating lock/handle inode\n\nA lock/handle inode is required in order to successfully create a\nnew lock/handle. Failure to report the lock/handle inode error can\nresult in errors for subsequent function calls.\n\nChange-Id: I622af24e695f4781c4dbf46363931a7da09df677\nSigned-off-by: Jeff Boody \u003cjboody@codeaurora.org\u003e\n"
    },
    {
      "commit": "3d90eeae377192032aa58c1934582cc155a2498f",
      "tree": "41f6213b81139630027659229f015c5e7715fdac",
      "parents": [
        "21017faf87a93117ca7a14aa8f0dd2f315fdeb08"
      ],
      "author": {
        "name": "Mandeep Singh Baines",
        "email": "msb@chromium.org",
        "time": "Sun Jun 24 23:31:09 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Jul 16 09:04:08 2012 -0700"
      },
      "message": "PM / Sleep: Prevent waiting forever on asynchronous suspend after abort\n\ncommit 1f758b23177d588a71b96ad02990e715949bb82f upstream.\n\n__device_suspend() must always send a completion. Otherwise, parent\ndevices will wait forever.\n\nCommit 1e2ef05b, \"PM: Limit race conditions between runtime PM and\nsystem sleep (v2)\", introduced a regression by short-circuiting the\ncomplete_all() for certain error cases.\n\nThis patch fixes the bug by always signalling a completion.\n\nAddresses http://crosbug.com/31972\n\nTested by injecting an abort.\n\nSigned-off-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "55bb033f625acb7776cabadc9de7699669a8cdd6",
      "tree": "5acf977f21b55bc1e88d2a6d0fb6e86f5793980b",
      "parents": [
        "f1f63887812a871f4a37842008bab4bdb7560011"
      ],
      "author": {
        "name": "Marek Szyprowski",
        "email": "m.szyprowski@samsung.com",
        "time": "Thu Dec 29 13:09:51 2011 +0100"
      },
      "committer": {
        "name": "Laura Abbott",
        "email": "lauraa@codeaurora.org",
        "time": "Fri Jun 29 16:06:50 2012 -0700"
      },
      "message": "drivers: add Contiguous Memory Allocator\n\nThe Contiguous Memory Allocator is a set of helper functions for DMA\nmapping framework that improves allocations of contiguous memory chunks.\n\nCMA grabs memory on system boot, marks it with MIGRATE_CMA migrate type\nand gives back to the system. Kernel is allowed to allocate only movable\npages within CMA\u0027s managed memory so that it can be used for example for\npage cache when DMA mapping do not use it. On\ndma_alloc_from_contiguous() request such pages are migrated out of CMA\narea to free required contiguous block and fulfill the request. This\nallows to allocate large contiguous chunks of memory at any time\nassuming that there is enough free memory available in the system.\n\nThis code is heavily based on earlier works by Michal Nazarewicz.\n\nChange-Id: I8a04c58b0d39ee7343ac0b58b6dad9d57912c91d\n[lauraa: fixed Kconfig conflict]\nSigned-off-by: Marek Szyprowski \u003cm.szyprowski@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nSigned-off-by: Michal Nazarewicz \u003cmina86@mina86.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nTested-by: Rob Clark \u003crob.clark@linaro.org\u003e\nTested-by: Ohad Ben-Cohen \u003cohad@wizery.com\u003e\nTested-by: Benjamin Gaignard \u003cbenjamin.gaignard@linaro.org\u003e\nTested-by: Robert Nelson \u003crobertcnelson@gmail.com\u003e\nTested-by: Barry Song \u003cBaohua.Song@csr.com\u003e\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "507a9d3354b24e7cc7f22e9695339de6df317fc1",
      "tree": "a210432605dd4d7ec8ecf39604369c780819cd92",
      "parents": [
        "d6f534fc51eb5fc23d08dacceecd42a4b98747a6"
      ],
      "author": {
        "name": "Jeff Boody",
        "email": "jboody@codeaurora.org",
        "time": "Mon Jun 11 10:31:10 2012 -0600"
      },
      "committer": {
        "name": "Jeff Boody",
        "email": "jboody@codeaurora.org",
        "time": "Wed Jun 13 09:27:44 2012 -0600"
      },
      "message": "base: genlock: add magic to protect attach from non-genlock file\n\nIt is possible for user space to attempt to attach a valid fd that\ndoes not correspond to a genlock file. This change adds a magic to\nthe kernel private data that is used for validation.\n\nCRs-fixed: 359649\nChange-Id: Idb16056ba0f89b7d519d501f5b1ce6d5d930ed70\nSigned-off-by: Jeff Boody \u003cjboody@codeaurora.org\u003e\n"
    },
    {
      "commit": "d6f534fc51eb5fc23d08dacceecd42a4b98747a6",
      "tree": "5ce26b916462dd8678a25fd7e2174a2d7b39af8d",
      "parents": [
        "af9e5b75508a82724ab3dc565b3ecc9d5af176a8"
      ],
      "author": {
        "name": "Jeff Boody",
        "email": "jboody@codeaurora.org",
        "time": "Thu Jun 07 11:02:22 2012 -0600"
      },
      "committer": {
        "name": "Jeff Boody",
        "email": "jboody@codeaurora.org",
        "time": "Wed Jun 13 09:27:04 2012 -0600"
      },
      "message": "base: genlock: protect kref counting with spinlock\n\nA race condition exists where the attach may not kref_get\nbefore the kref_put finished. The genlock_file_lock was\noriginally added to protect against this case however it\nwas not protecting the kref.\n\nCRs-fixed: 359649\nChange-Id: Iab1fc847c2d3357ec1be79b7cc3e004643126dec\nSigned-off-by: Jeff Boody \u003cjboody@codeaurora.org\u003e\n"
    },
    {
      "commit": "f132c6cf77251e011e1dad0ec88c0b1fda16d5aa",
      "tree": "f04b469a3547a19b7bdbe110adc571eb71c93328",
      "parents": [
        "23016defd7db701a01dc49f972ad6b1bae9651c2",
        "3f6240f3e4e2608caf1a70d614ada658cbcbe7be"
      ],
      "author": {
        "name": "Steve Muckle",
        "email": "smuckle@codeaurora.org",
        "time": "Wed Jun 06 18:30:57 2012 -0700"
      },
      "committer": {
        "name": "Steve Muckle",
        "email": "smuckle@codeaurora.org",
        "time": "Wed Jun 06 18:45:28 2012 -0700"
      },
      "message": "Merge commit \u0027AU_LINUX_ANDROID_ICS.04.00.04.00.126\u0027 into msm-3.4\n\nAU_LINUX_ANDROID_ICS.04.00.04.00.126 from msm-3.0.\nFirst parent is from google/android-3.4.\n\n* commit \u0027AU_LINUX_ANDROID_ICS.04.00.04.00.126\u0027: (8712 commits)\n  PRNG: Device tree entry for qrng device.\n  vidc:1080p: Set video core timeout value for Thumbnail mode\n  msm: sps: improve the debugging support in SPS driver\n  board-8064 msm: Overlap secure and non secure video firmware heaps.\n  msm: clock: Add handoff ops for 7x30 and copper XO clocks\n  msm_fb: display: Wait for external vsync before DTV IOMMU unmap\n  msm: Fix ciruclar dependency in debug UART settings\n  msm: gdsc: Add GDSC regulator driver for msm-copper\n  defconfig: Enable Mobicore Driver.\n  mobicore: Add mobicore driver.\n  mobicore: rename variable to lower case.\n  mobicore: rename folder.\n  mobicore: add makefiles\n  mobicore: initial import of kernel driver\n  ASoC: msm: Add SLIMBUS_2_RX CPU DAI\n  board-8064-gpio: Update FUNC for EPM SPI CS\n  msm_fb: display: Remove chicken bit config during video playback\n  mmc: msm_sdcc: enable the sanitize capability\n  msm-fb: display: lm2 writeback support on mpq platfroms\n  msm_fb: display: Disable LVDS phy \u0026 pll during panel off\n  ...\n\nSigned-off-by: Steve Muckle \u003csmuckle@codeaurora.org\u003e\n"
    },
    {
      "commit": "49795fbf33dd948adcf5e82faecc560fceaf14bc",
      "tree": "2baa1fd7138c8a1872075f6a6cc991ad9f8c57be",
      "parents": [
        "4fb837a718d33bbaba19c0ccfbb3e23fc92d8ad3"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Wed May 16 13:14:43 2012 -0700"
      },
      "committer": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Wed May 30 13:12:40 2012 -0700"
      },
      "message": "sw_sync: export sw_sync API\n\nNeeded to let modules link against sw_sync.\n\nChange-Id: I71d3e52677ef21b6e1ecdb84f831491be1f4fbe6\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\n"
    },
    {
      "commit": "4fb837a718d33bbaba19c0ccfbb3e23fc92d8ad3",
      "tree": "92a70c03a62561d8e9dd8dd3b62e3df8f5ec2a4e",
      "parents": [
        "c80114fd8bfecfb60121d0a82c59610435604ce3"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Wed May 16 13:09:22 2012 -0700"
      },
      "committer": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Wed May 30 13:12:40 2012 -0700"
      },
      "message": "sync: export sync API symbols\n\nThis is needed to allow modules to link against the sync subsystem\n\nChange-Id: I15c1818de329f24e4113ef1d0923413b22fd0eff\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\n"
    },
    {
      "commit": "c80114fd8bfecfb60121d0a82c59610435604ce3",
      "tree": "c204bb472f04a6294634efb4fc8ef42e7d8a231b",
      "parents": [
        "dcefb2ee8d412a6fab43aabd4fb5668aab12ce04"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Tue May 15 16:23:26 2012 -0700"
      },
      "committer": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Wed May 30 13:12:40 2012 -0700"
      },
      "message": "sync: allow async waits to be canceled\n\nIn order to allow drivers to cleanly handled teardown we need to allow them\nto cancel pending async waits.  To do this cleanly, we move allocation of\nsync_fence_waiter to the driver calling sync_async_wait().\n\nChange-Id: Ifcd95648be6ec07026d67f810070a4310f099989\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\n"
    },
    {
      "commit": "d4e8b7193d87d80f3364d7924692988c974780aa",
      "tree": "04f54438fab0d64e5cfe23debbd622c9cfc34f4b",
      "parents": [
        "9ae7e01de1cf03c77054da44d135a7e85863fcb0"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Wed Apr 18 15:52:26 2012 +0200"
      },
      "committer": {
        "name": "Rebecca Schultz Zavin",
        "email": "rebecca@android.com",
        "time": "Tue May 22 14:01:06 2012 -0700"
      },
      "message": "dma-buf: mmap support\n\nCompared to Rob Clark\u0027s RFC I\u0027ve ditched the prepare/finish hooks\nand corresponding ioctls on the dma_buf file. The major reason for\nthat is that many people seem to be under the impression that this is\nalso for synchronization with outstanding asynchronous processsing.\nI\u0027m pretty massively opposed to this because:\n\n- It boils down reinventing a new rather general-purpose userspace\n  synchronization interface. If we look at things like futexes, this\n  is hard to get right.\n- Furthermore a lot of kernel code has to interact with this\n  synchronization primitive. This smells a look like the dri1 hw_lock,\n  a horror show I prefer not to reinvent.\n- Even more fun is that multiple different subsystems would interact\n  here, so we have plenty of opportunities to create funny deadlock\n  scenarios.\n\nI think synchronization is a wholesale different problem from data\nsharing and should be tackled as an orthogonal problem.\n\nNow we could demand that prepare/finish may only ensure cache\ncoherency (as Rob intended), but that runs up into the next problem:\nWe not only need mmap support to facilitate sw-only processing nodes\nin a pipeline (without jumping through hoops by importing the dma_buf\ninto some sw-access only importer), which allows for a nicer\nION-\u003edma-buf upgrade path for existing Android userspace. We also need\nmmap support for existing importing subsystems to support existing\nuserspace libraries. And a loot of these subsystems are expected to\nexport coherent userspace mappings.\n\nSo prepare/finish can only ever be optional and the exporter /needs/\nto support coherent mappings. Given that mmap access is always\nsomewhat fallback-y in nature I\u0027ve decided to drop this optimization,\ninstead of just making it optional. If we demonstrate a clear need for\nthis, supported by benchmark results, we can always add it in again\nlater as an optional extension.\n\nOther differences compared to Rob\u0027s RFC is the above mentioned support\nfor mapping a dma-buf through facilities provided by the importer.\nWhich results in mmap support no longer being optional.\n\nNote that this dma-buf mmap patch does _not_ support every possible\ninsanity an existing subsystem could pull of with mmap: Because it\ndoes not allow to intercept pagefaults and shoot down ptes importing\nsubsystems can\u0027t add some magic of their own at these points (e.g. to\nautomatically synchronize with outstanding rendering or set up some\nspecial resources). I\u0027ve done a cursory read through a few mmap\nimplementions of various subsytems and I\u0027m hopeful that we can avoid\nthis (and the complexity it\u0027d bring with it).\n\nAdditonally I\u0027ve extended the documentation a bit to explain the hows\nand whys of this mmap extension.\n\nIn case we ever want to add support for explicitly cache maneged\nuserspace mmap with a prepare/finish ioctl pair, we could specify that\nuserspace needs to mmap a different part of the dma_buf, e.g. the\nrange starting at dma_buf-\u003esize up to dma_buf-\u003esize*2. This works\nbecause the size of a dma_buf is invariant over it\u0027s lifetime. The\nexporter would obviously need to fall back to coherent mappings for\nboth ranges if a legacy clients maps the coherent range and the\narchitecture cannot suppor conflicting caching policies. Also, this\nwould obviously be optional and userspace needs to be able to fall\nback to coherent mappings.\n\nv2:\n- Spelling fixes from Rob Clark.\n- Compile fix for !DMA_BUF from Rob Clark.\n- Extend commit message to explain how explicitly cache managed mmap\n  support could be added later.\n- Extend the documentation with implementations notes for exporters\n  that need to manually fake coherency.\n\nChange-Id: Ia8f2ae5d8a1b1c87ed12ca1c89d7bf2067239ee4\nCc: Rob Clark \u003crob.clark@linaro.org\u003e\nCc: Rebecca Schultz Zavin \u003crebecca@android.com\u003e\nSigned-Off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\n"
    },
    {
      "commit": "a1eeacaf7a96729d6bedae031af5565b7a4e9487",
      "tree": "f732d5942e88b389d6eb58e8aca17f767764d91b",
      "parents": [
        "484101e5a816cb1e9022805d1714445c473e5b63"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Mon Mar 19 17:28:32 2012 -0700"
      },
      "committer": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Wed May 16 13:27:24 2012 -0700"
      },
      "message": "sync: add poll support\n\nChange-Id: I294e481bba92658e6dd26f157ddbf0e9ff4ce8a5\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\n"
    },
    {
      "commit": "484101e5a816cb1e9022805d1714445c473e5b63",
      "tree": "da14a3f29d3dc4cdfa4817bbb4d3c27285a399eb",
      "parents": [
        "3913bff501a81ff2719528f09830a1b88229ac21"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Thu Mar 15 17:46:07 2012 -0700"
      },
      "committer": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Wed May 16 13:27:24 2012 -0700"
      },
      "message": "sw_sync: add fill_driver_data support\n\nChange-Id: Ib3812d282db56362d82f5ccc9a12b7d2100ab93a\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\n"
    },
    {
      "commit": "3913bff501a81ff2719528f09830a1b88229ac21",
      "tree": "e33204ec9086135c84d71c6d8d86ec39cc9e780c",
      "parents": [
        "2c959d7b8d87672f1444126c50da5c373a0484af"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Thu Mar 15 17:45:50 2012 -0700"
      },
      "committer": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Wed May 16 13:27:23 2012 -0700"
      },
      "message": "sync: add ioctl to get fence data\n\nChange-Id: I71410aef7e03a52562f7cb15b993ac8441b1fa12\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\n"
    },
    {
      "commit": "2c959d7b8d87672f1444126c50da5c373a0484af",
      "tree": "7c885ea77c32bd4a7bdfe0ac10520fa602afb839",
      "parents": [
        "981c8a993d581ea3f2c071d1a2e631edc2a4c670"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Thu Mar 15 14:23:23 2012 -0700"
      },
      "committer": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Wed May 16 13:27:23 2012 -0700"
      },
      "message": "sw_sync: add debug support\n\nChange-Id: Ibcc5fa8cb36e283cdf0e3308064876722e2675fc\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\n"
    },
    {
      "commit": "981c8a993d581ea3f2c071d1a2e631edc2a4c670",
      "tree": "7c940c2dce2c70dca60e2d6f72ca09dfa5a5321b",
      "parents": [
        "ad433ba4d1f447792fd6ae75183bad91f702a3ef"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Wed Mar 14 19:49:15 2012 -0700"
      },
      "committer": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Wed May 16 13:27:23 2012 -0700"
      },
      "message": "sync: add debugfs support\n\nChange-Id: I8a7ea63e454fbeee1ecf17e6c3caff7c43b24734\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\n"
    },
    {
      "commit": "ad433ba4d1f447792fd6ae75183bad91f702a3ef",
      "tree": "b26b200deac364f8b245c10ec72a201278455a12",
      "parents": [
        "560b5462071cdaa4865c4c113ec295cdf2565385"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Thu Mar 15 14:59:33 2012 -0700"
      },
      "committer": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Wed May 16 13:27:23 2012 -0700"
      },
      "message": "sync: add timestamps to sync_pts\n\nChange-Id: I2ad855072b86873880769a09a3176e85aa1199d7\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\n"
    },
    {
      "commit": "560b5462071cdaa4865c4c113ec295cdf2565385",
      "tree": "f3e40d646a257cf7dd87ac589ca62bac63bd1e67",
      "parents": [
        "010accf8a0e643acd1f41ea7ae759714ccf8eda1"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Wed Apr 18 13:43:22 2012 -0700"
      },
      "committer": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Wed May 16 13:27:23 2012 -0700"
      },
      "message": "sw_sync: add cpu based sync driver\n\nChange-Id: I1042851f5e30f9fdc2f35bdad84123bcf108560f\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\n"
    },
    {
      "commit": "010accf8a0e643acd1f41ea7ae759714ccf8eda1",
      "tree": "a5d7424ecac8cf2f9e402fd44e0de374bb017c76",
      "parents": [
        "66981be398731073dc68d703327d2cf24bd9c6ab"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Tue Mar 13 15:34:34 2012 -0700"
      },
      "committer": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Wed May 16 13:27:22 2012 -0700"
      },
      "message": "sync: Add synchronization framework\n\nnot run through checkpatch yet.\n\nChange-Id: I209f9db2824e0313f467f11ab09e5f54f0a4a6b5\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\n"
    },
    {
      "commit": "ec0b571c19ac62ab0bb80d373a3d4922a48b4b75",
      "tree": "10c597f5227c969c3f2b909fbeb29725a0c5c6e8",
      "parents": [
        "7bb8b65407a519d3a90dd8cecdd1ccd10ee0c6cc",
        "36be50515fe2aef61533b516fa2576a2c7fe7664"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon May 14 16:41:02 2012 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon May 14 16:41:02 2012 -0700"
      },
      "message": "Merge commit \u0027v3.4-rc7\u0027 into android-3.4\n"
    },
    {
      "commit": "6560ffd1ccd688152393dc7c35dbdcc33140633b",
      "tree": "1b97199d8e97eedcb74904429dfc3793e2cfe557",
      "parents": [
        "d48b97b403d23f6df0b990cee652bdf9a52337a3"
      ],
      "author": {
        "name": "Laxman Dewangan",
        "email": "ldewangan@nvidia.com",
        "time": "Wed May 09 17:43:12 2012 +0530"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed May 09 15:44:11 2012 +0100"
      },
      "message": "regmap: fix possible memory corruption in regmap_bulk_read()\n\nThe function regmap_bulk_read() calls the regmap_read() for\neach register if set of register has volatile and cache is\nenabled. In this case, last few register read makes the memory\ncorruption if the register size is not the size of unsigned int.\nThe regam_read() takes argument as unsigned int for returning\nvalue and it update the value as\n\t*val \u003d map-\u003eformat.parse_val(map-\u003ework_buf);\nThis causes complete 4 bytes (size of unsigned int) to get written.\nNow if client pass the memory pointer for value which is equal to the\nrequired size of register count in regmap_bulk_read() then last few\nregister read actually update the memory beyond passed pointer size.\n\nAvoid this by using local variable for read and then do memcpy()\nfor actual byte copy to passed pointer based on register size.\n\nI allocated one pointer ptr and take first 16 bytes dump of that\npointer then call regmap_bulk_read() with pointer which is just\non top of this allocated pointer and register count of 128. Here\nregister size is 1 byte.\nThe memory trace of last 5 register read are as follows:\n\n[    5.438589] regmap_bulk_read after regamp_read() for register 122\n[    5.447421] 0xef993c20 0xef993c00 0x00000000 0x00000001\n[    5.467535] regmap_bulk_read after regamp_read() for register 123\n[    5.476374] 0xef993c20 0xef993c00 0x00000000 0x00000001\n[    5.496425] regmap_bulk_read after regamp_read() for register 124\n[    5.505260] 0xef993c20 0xef993c00 0x00000000 0x00000001\n[    5.525372] regmap_bulk_read after regamp_read() for register 125\n[    5.534205] 0xef993c00 0xef993c00 0x00000000 0x00000001\n[    5.554258] regmap_bulk_read after regamp_read() for register 126\n[    5.563100] 0xef990000 0xef993c00 0x00000000 0x00000001\n[    5.554258] regmap_bulk_read after regamp_read() for register 127\n[    5.587108] 0xef000000 0xef993c00 0x00000000 0x00000001\n\nHere it is observed that the memory content at first word started changing\non last 3 regmap_read() and so corruption happened.\n\nSigned-off-by: Laxman Dewangan \u003cldewangan@nvidia.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "6d9076fe46bcba71986a25cf357e71a4d83958c1",
      "tree": "053bebd945bed02d61c8b92aa3b02bf45d37d4a9",
      "parents": [
        "abe3c9c88f9cd1cbc5d3a3eec4bdbba6e3ce2107"
      ],
      "author": {
        "name": "Jeff Boody",
        "email": "jboody@codeaurora.org",
        "time": "Thu Apr 26 11:12:44 2012 -0600"
      },
      "committer": {
        "name": "Jeff Boody",
        "email": "jboody@codeaurora.org",
        "time": "Tue May 08 13:58:54 2012 -0600"
      },
      "message": "base: genlock: allow synchronization with a single gralloc handle\n\nIn order to support synchronization in a process with a single\ngralloc handle we require the ability to write lock a buffer\nwhile it is already read locked by the same handle. This change\nextends the concept of an exclusive write lock or recursive read\nlocks to a genlock handle (rather than the genlock lock).\nGenlock cannot provide deadlock protection because the same\nhandle can be used simultaneously by a producer and consumer.\nIn practice an error will still be generated when the timeout\nexpires.\n\nCRs-fixed: 356263\nChange-Id: I322e7fadc8b43287f53b211242b176d3de731db2\nSigned-off-by: Jeff Boody \u003cjboody@codeaurora.org\u003e\n"
    },
    {
      "commit": "09be5f323a6c1dc4ba4fcf2394c415aa8dd4fb09",
      "tree": "cd130c21bfd5e7eaf40b6ecfed1892479be823e7",
      "parents": [
        "48c02c90504956d17f522699eec142336f3960a7"
      ],
      "author": {
        "name": "KyongHo Cho",
        "email": "pullip.cho@samsung.com",
        "time": "Fri Dec 16 21:38:25 2011 +0900"
      },
      "committer": {
        "name": "Stepan Moskovchenko",
        "email": "stepanm@codeaurora.org",
        "time": "Thu May 03 17:52:24 2012 -0700"
      },
      "message": "iommu: Initialize domain-\u003ehandler in iommu_domain_alloc()\n\nSince it is not guaranteed that an iommu driver initializes in its\ndomain_init() function, it must be initialized with NULL to prevent\ncalling a function in an arbitrary location when iommu fault occurred.\n\nChange-Id: I1001bc6382cfe1e6cf8f311a822380f4151f8391\nSigned-off-by: KyongHo Cho \u003cpullip.cho@samsung.com\u003e\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n[stepanm@codeaurora.org: rebased to before the file moved]\nSigned-off-by: Stepan Moskovchenko \u003cstepanm@codeaurora.org\u003e\n"
    },
    {
      "commit": "48c02c90504956d17f522699eec142336f3960a7",
      "tree": "c442c889af78e94f7cbd0ea97e446248d8b761e4",
      "parents": [
        "a4d334f8137ca53f6fc3b48abf034f6a695a26f0"
      ],
      "author": {
        "name": "Ohad Ben-Cohen",
        "email": "ohad@wizery.com",
        "time": "Tue Sep 27 07:36:40 2011 -0400"
      },
      "committer": {
        "name": "Stepan Moskovchenko",
        "email": "stepanm@codeaurora.org",
        "time": "Thu May 03 17:52:18 2012 -0700"
      },
      "message": "iommu/core: let drivers know if an iommu fault handler isn\u0027t installed\n\nMake report_iommu_fault() return -ENOSYS whenever an iommu fault\nhandler isn\u0027t installed, so IOMMU drivers can then do their own\nplatform-specific default behavior if they wanted.\n\nFault handlers can still return -ENOSYS in case they want to elicit the\ndefault behavior of the IOMMU drivers.\n\nChange-Id: I4cb7d6566f9d0f4329c37e890fee6c113edeb981\nSigned-off-by: Ohad Ben-Cohen \u003cohad@wizery.com\u003e\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Stepan Moskovchenko \u003cstepanm@codeaurora.org\u003e\n"
    },
    {
      "commit": "a4d334f8137ca53f6fc3b48abf034f6a695a26f0",
      "tree": "1263db267a8ef9dda7d2e5ef07db779f6d214aa9",
      "parents": [
        "a1c6df3c52c09ed7c49e5c0d3d4f88f6f54c01db"
      ],
      "author": {
        "name": "Ohad Ben-Cohen",
        "email": "ohad@wizery.com",
        "time": "Mon Sep 26 09:11:46 2011 -0400"
      },
      "committer": {
        "name": "Stepan Moskovchenko",
        "email": "stepanm@codeaurora.org",
        "time": "Thu May 03 17:52:10 2012 -0700"
      },
      "message": "iommu/core: export iommu_set_fault_handler()\n\ncommit 4f3f8d9 \"iommu/core: Add fault reporting mechanism\" added\nthe public iommu_set_fault_handler() symbol but forgot to export it.\n\nFix that.\n\nChange-Id: Iabca2af05bd75fec899d668ee2338a15df8aa503\nSigned-off-by: Ohad Ben-Cohen \u003cohad@wizery.com\u003e\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Stepan Moskovchenko \u003cstepanm@codeaurora.org\u003e\n"
    },
    {
      "commit": "a1c6df3c52c09ed7c49e5c0d3d4f88f6f54c01db",
      "tree": "79145f63bd8d04512da69395a71fe5f4d267de31",
      "parents": [
        "e2528fb0836d5606ed8e5de52aba7ed7debf1ac8"
      ],
      "author": {
        "name": "Ohad Ben-Cohen",
        "email": "ohad@wizery.com",
        "time": "Tue Sep 13 15:25:23 2011 -0400"
      },
      "committer": {
        "name": "Stepan Moskovchenko",
        "email": "stepanm@codeaurora.org",
        "time": "Thu May 03 17:51:44 2012 -0700"
      },
      "message": "iommu/core: Add fault reporting mechanism\n\nAdd iommu fault report mechanism to the IOMMU API, so implementations\ncould report about mmu faults (translation errors, hardware errors,\netc..).\n\nFault reports can be used in several ways:\n- mere logging\n- reset the device that accessed the faulting address (may be necessary\n  in case the device is a remote processor for example)\n- implement dynamic PTE/TLB loading\n\nA dedicated iommu_set_fault_handler() API has been added to allow\nusers, who are interested to receive such reports, to provide\ntheir handler.\n\nChange-Id: Id049671b7a0df27476c3cad451c2505e9b260ab6\nSigned-off-by: Ohad Ben-Cohen \u003cohad@wizery.com\u003e\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Stepan Moskovchenko \u003cstepanm@codeaurora.org\u003e\n"
    },
    {
      "commit": "d41707f4211d9b6e40e4a972035d90d0db38a988",
      "tree": "71ae4679c14a6040be41367be0bd905321b7d690",
      "parents": [
        "565db913dde12d7f1d3b11f388b47cc63e1bb38e",
        "28976a80e961f491e51c1cb627311efc4981b69a"
      ],
      "author": {
        "name": "Linux Build Service Account",
        "email": "lnxbuild@localhost",
        "time": "Sat Apr 21 22:48:40 2012 -0700"
      },
      "committer": {
        "name": "QuIC Gerrit Code Review",
        "email": "code-review@localhost",
        "time": "Sat Apr 21 22:48:40 2012 -0700"
      },
      "message": "Merge \"DMM: Fix for movable bytes near end of address space\" into msm-3.0"
    },
    {
      "commit": "ab2965eefef95a2eecfd54c12b0eb243162862e9",
      "tree": "c947fdc158e144c2d060486b65d10ee67d254039",
      "parents": [
        "a0ec4361e4539e30cf1c5de7ddfd2dadcd8e1595",
        "e816b57a337ea3b755de72bec38c10c864f23015"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Apr 19 14:42:22 2012 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Apr 19 14:42:22 2012 -0700"
      },
      "message": "Merge commit \u0027v3.4-rc3\u0027 into android-3.4\n\nConflicts:\n\tdrivers/staging/android/lowmemorykiller.c\n\nChange-Id: Ia3ffcfc702e28c4fce0e91b363f4afd5f1c40306\n"
    },
    {
      "commit": "07f43dd2298d66ae907d8ab2b2b1fe07a6ab0522",
      "tree": "d054775c797050d67c6fb72e7b05c791c4e838a2",
      "parents": [
        "da04ab049d90160f687947338ae22849106d408b"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Tue Dec 06 23:24:52 2011 +0100"
      },
      "committer": {
        "name": "Jack Pham",
        "email": "jackp@codeaurora.org",
        "time": "Thu Apr 19 14:11:12 2012 -0700"
      },
      "message": "PM / Driver core: leave runtime PM enabled during system shutdown\n\nDisabling all runtime PM during system shutdown turns out not to be a\ngood idea, because some devices may need to be woken up from a\nlow-power state at that time.\n\nThe whole point of disabling runtime PM for system shutdown was to\nprevent untimely runtime-suspend method calls.  This patch (as1504)\naccomplishes the same result by incrementing the usage count for each\ndevice and waiting for ongoing runtime-PM callbacks to finish.  This\nis what we already do during system suspend and hibernation, which\nmakes sense since the shutdown method is pretty much a legacy analog\nof the pm-\u003epoweroff method.\n\nThis fixes a recent regression on some OMAP systems introduced by\ncommit af8db1508f2c9f3b6e633e2d2d906c6557c617f9 (PM / driver core:\ndisable device\u0027s runtime PM during shutdown).\n\nReported-and-tested-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nChange-Id: I08f65c2c656fbdf651b3da7391522a221d944944\nCRs-fixed: 352703\nSigned-off-by: Jack Pham \u003cjackp@codeaurora.org\u003e\n"
    },
    {
      "commit": "28976a80e961f491e51c1cb627311efc4981b69a",
      "tree": "be065d16c3a99c8666bc908d8806417c217a04de",
      "parents": [
        "2e9581fb01d6e7ae16d2e3d0547bb378d7f562a9"
      ],
      "author": {
        "name": "Hanumant Singh",
        "email": "hanumant@codeaurora.org",
        "time": "Wed Apr 18 14:14:21 2012 -0700"
      },
      "committer": {
        "name": "Hanumant Singh",
        "email": "hanumant@codeaurora.org",
        "time": "Wed Apr 18 14:14:21 2012 -0700"
      },
      "message": "DMM: Fix for movable bytes near end of address space\n\nTo prevent overflow near 4GB memory address, the rounding down of\nmemory addresses needs to be propagated to the memory hotplug logic.\nChecking if a given pfn is part of physical ram allows us to do this.\nAlso while walking through system ram, we need to take care of\noverflow at high memory address.\n\nChange-Id: Id962cf93906888783a807fe89f2be4ba91b2c5d6\nSigned-off-by: Hanumant Singh \u003chanumant@codeaurora.org\u003e\n"
    },
    {
      "commit": "d292ce796e304d57c940d3e76434963b05ff329b",
      "tree": "ab45a9762beaa48285c195c26063b6a37f4830b8",
      "parents": [
        "de86e6482897db0006151ae9154f181e75f5ab2c"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jul 06 10:51:58 2011 +0200"
      },
      "committer": {
        "name": "Jack Pham",
        "email": "jackp@codeaurora.org",
        "time": "Mon Apr 16 22:05:41 2012 -0700"
      },
      "message": "PM: Limit race conditions between runtime PM and system sleep (v2)\n\nOne of the roles of the PM core is to prevent different PM callbacks\nexecuted for the same device object from racing with each other.\nUnfortunately, after commit e8665002477f0278f84f898145b1f141ba26ee26\n(PM: Allow pm_runtime_suspend() to succeed during system suspend)\nruntime PM callbacks may be executed concurrently with system\nsuspend/resume callbacks for the same device.\n\nThe main reason for commit e8665002477f0278f84f898145b1f141ba26ee26\nwas that some subsystems and device drivers wanted to use runtime PM\nhelpers, pm_runtime_suspend() and pm_runtime_put_sync() in\nparticular, for carrying out the suspend of devices in their\n.suspend() callbacks.  However, as it\u0027s been determined recently,\nthere are multiple reasons not to do so, inlcuding:\n\n * The caller really doesn\u0027t control the runtime PM usage counters,\n   because user space can access them through sysfs and effectively\n   block runtime PM.  That means using pm_runtime_suspend() or\n   pm_runtime_get_sync() to suspend devices during system suspend\n   may or may not work.\n\n * If a driver calls pm_runtime_suspend() from its .suspend()\n   callback, it causes the subsystem\u0027s .runtime_suspend() callback to\n   be executed, which leads to the call sequence:\n\n   subsys-\u003esuspend(dev)\n      driver-\u003esuspend(dev)\n         pm_runtime_suspend(dev)\n            subsys-\u003eruntime_suspend(dev)\n\n   recursive from the subsystem\u0027s point of view.  For some subsystems\n   that may actually work (e.g. the platform bus type), but for some\n   it will fail in a rather spectacular fashion (e.g. PCI).  In each\n   case it means a layering violation.\n\n * Both the subsystem and the driver can provide .suspend_noirq()\n   callbacks for system suspend that can do whatever the\n   .runtime_suspend() callbacks do just fine, so it really isn\u0027t\n   necessary to call pm_runtime_suspend() during system suspend.\n\n * The runtime PM\u0027s handling of wakeup devices is usually different\n   from the system suspend\u0027s one, so .runtime_suspend() may simply be\n   inappropriate for system suspend.\n\n * System suspend is supposed to work even if CONFIG_PM_RUNTIME is\n   unset.\n\n * The runtime PM workqueue is frozen before system suspend, so if\n   whatever the driver is going to do during system suspend depends\n   on it, that simply won\u0027t work.\n\nStill, there is a good reason to allow pm_runtime_resume() to\nsucceed during system suspend and resume (for instance, some\nsubsystems and device drivers may legitimately use it to ensure that\ntheir devices are in full-power states before suspending them).\nMoreover, there is no reason to prevent runtime PM callbacks from\nbeing executed in parallel with the system suspend/resume .prepare()\nand .complete() callbacks and the code removed by commit\ne8665002477f0278f84f898145b1f141ba26ee26 went too far in this\nrespect.  On the other hand, runtime PM callbacks, including\n.runtime_resume(), must not be executed during system suspend\u0027s\n\"late\" stage of suspending devices and during system resume\u0027s \"early\"\ndevice resume stage.\n\nTaking all of the above into consideration, make the PM core\nacquire a runtime PM reference to every device and resume it if\nthere\u0027s a runtime PM resume request pending right before executing\nthe subsystem-level .suspend() callback for it.  Make the PM core\ndrop references to all devices right after executing the\nsubsystem-level .resume() callbacks for them.  Additionally,\nmake the PM core disable the runtime PM framework for all devices\nduring system suspend, after executing the subsystem-level .suspend()\ncallbacks for them, and enable the runtime PM framework for all\ndevices during system resume, right before executing the\nsubsystem-level .resume() callbacks for them.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Kevin Hilman \u003ckhilman@ti.com\u003e\n[jackp@codeaurora.org: resolved trivial merge conflicts]\nSigned-off-by: Jack Pham \u003cjackp@codeaurora.org\u003e\nChange-Id: I408fbfe1544457ca65fc8b04d3a116cd7098fdfa\n"
    },
    {
      "commit": "24e887ca2e73f5f540ba255af813f7c5b34ee00d",
      "tree": "518f1e1278d1848c0d68876f26bae6216ffb4820",
      "parents": [
        "3cd338619a4a9d78a7ba082b70467d0d35347cee"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Mon Mar 05 08:47:41 2012 -0700"
      },
      "committer": {
        "name": "Michael Bohan",
        "email": "mbohan@codeaurora.org",
        "time": "Mon Apr 09 16:20:30 2012 -0700"
      },
      "message": "drivercore: Add driver probe deferral mechanism\n\nAllow drivers to report at probe time that they cannot get all the resources\nrequired by the device, and should be retried at a later time.\n\nThis should completely solve the problem of getting devices\ninitialized in the right order.  Right now this is mostly handled by\nmucking about with initcall ordering which is a complete hack, and\ndoesn\u0027t even remotely handle the case where device drivers are in\nmodules.  This approach completely sidesteps the issues by allowing\ndriver registration to occur in any order, and any driver can request\nto be retried after a few more other drivers get probed.\n\nv4: - Integrate Manjunath\u0027s addition of a separate workqueue\n    - Change -EAGAIN to -EPROBE_DEFER for drivers to trigger deferral\n    - Update comment blocks to reflect how the code really works\nv3: - Hold off workqueue scheduling until late_initcall so that the bulk\n      of driver probes are complete before we start retrying deferred devices.\n    - Tested with simple use cases.  Still needs more testing though.\n      Using it to get rid of the gpio early_initcall madness, or to replace\n      the ASoC internal probe deferral code would be ideal.\nv2: - added locking so it should no longer be utterly broken in that regard\n    - remove device from deferred list at device_del time.\n    - Still completely untested with any real use case, but has been\n      boot tested.\n\nChange-Id: Iaf6bb62f70c2d82c6cccbe468bc5007b1989af93\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Dilan Lee \u003cdilee@nvidia.com\u003e\nCc: Manjunath GKondaiah \u003cmanjunath.gkondaiah@linaro.org\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Tony Lindgren \u003ctony@atomide.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nReviewed-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: David Daney \u003cdavid.daney@cavium.com\u003e\nReviewed-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nSigned-off-by: Michael Bohan \u003cmbohan@codeaurora.org\u003e\n"
    },
    {
      "commit": "3a4ffe930a2d2dad07604fe74d21b878decc6461",
      "tree": "d0374dd4c93c5efc3d46addb36b0ce38e94cc39e",
      "parents": [
        "33cb4f345687a27e3fece0a7fcf78ac2e7b0a7d6"
      ],
      "author": {
        "name": "Lee Jones",
        "email": "lee.jones@linaro.org",
        "time": "Sat Mar 17 09:17:49 2012 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Apr 09 14:54:22 2012 -0700"
      },
      "message": "drivers/base: fix compiler warning in SoC export driver - idr should be ida\n\nThis fixes:\n  note: expected ‘struct ida *’ but argument is of type ‘struct idr *’\n  warning: passing argument 1 of ‘ida_pre_get’ from incompatible pointer type\n\nReported-by: Arnd Bergman \u003carnd@arndb.de\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nSigned-off-by: Lee Jones \u003clee.jones@linaro.org\u003e\nSigned-off-by: Axel Lin \u003caxel.lin@gmail.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "33cb4f345687a27e3fece0a7fcf78ac2e7b0a7d6",
      "tree": "2f843a196f9745b1bbfbd11eda391013b559345d",
      "parents": [
        "0034102808e0dbbf3a2394b82b1bb40b5778de9e"
      ],
      "author": {
        "name": "Axel Lin",
        "email": "axel.lin@gmail.com",
        "time": "Tue Mar 20 16:32:39 2012 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Apr 09 14:54:22 2012 -0700"
      },
      "message": "drivers/base: Remove unneeded spin_lock_init call for soc_lock\n\nsoc_lock is already initialized by DEFINE_SPINLOCK.\n\nSigned-off-by: Axel Lin \u003caxel.lin@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "9109a22de417cce528f15ae2e51ebb3d826f1bf5",
      "tree": "31668612bbb2430986dfc38d2556506272275992",
      "parents": [
        "71b54d4483ea92b333613d376a95509668e36282"
      ],
      "author": {
        "name": "Benoit Goby",
        "email": "benoit@android.com",
        "time": "Thu Aug 13 09:40:42 2009 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 09 13:53:08 2012 -0700"
      },
      "message": "drivers: power: Add watchdog timer to catch drivers which lockup during suspend.\n\nRather than hard-lock the kernel, dump the suspend thread stack and\nBUG() when a driver takes too long to suspend.  The timeout is set\nto 12 seconds to be longer than the usbhid 10 second timeout.\n\nExclude from the watchdog the time spent waiting for children that\nare resumed asynchronously and time every device, whether or not they\nresumed synchronously.\n\nChange-Id: Ifd211c06b104860c2fee6eecfe0d61774aa4508a\nOriginal-author: San Mehat \u003csan@google.com\u003e\nSigned-off-by: Benoit Goby \u003cbenoit@android.com\u003e\n"
    },
    {
      "commit": "f4e52e7ffdea791c89494752b175b991090f0920",
      "tree": "5ba632b8127ebc1a71f52102ef59d44c41eeb67b",
      "parents": [
        "a3fac08085136fb8b56bbd290500ed03c94ee5d1",
        "c04c1b9ee8f30c7a3a25e20e406247003f634ebe"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 07 09:56:00 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 07 09:56:00 2012 -0700"
      },
      "message": "Merge tag \u0027regmap-3.4-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap\n\nPull two more small regmap fixes from Mark Brown:\n - Now we have users for it that aren\u0027t running Android it turns out\n   that regcache_sync_region() is much more useful to drivers if it\u0027s\n   exported for use by modules.  Who knew?\n - Make sure we don\u0027t divide by zero when doing debugfs dumps of\n   rbtrees, not visible up until now because everything was providing at\n   least some cache on startup.\n\n* tag \u0027regmap-3.4-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:\n  regmap: prevent division by zero in rbtree_show\n  regmap: Export regcache_sync_region()\n"
    },
    {
      "commit": "5d32c88f0b94061b3af2e3ade92422407282eb12",
      "tree": "2e1f81aa47b2cf59625c8fba17199617e33802e6",
      "parents": [
        "43f63c8711ce02226b7bbdafeba7b8031faf3fb4",
        "dac23b0d0513916498d40412818bd2c581b365f7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 05 15:30:34 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 05 15:30:34 2012 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (Andrew\u0027s patch-bomb)\n\nMerge batch of fixes from Andrew Morton:\n \"The simple_open() cleanup was held back while I wanted for laggards to\n  merge things.\n\n  I still need to send a few checkpoint/restore patches.  I\u0027ve been\n  wobbly about merging them because I\u0027m wobbly about the overall\n  prospects for success of the project.  But after speaking with Pavel\n  at the LSF conference, it sounds like they\u0027re further toward\n  completion than I feared - apparently davem is at the \"has stopped\n  complaining\" stage regarding the net changes.  So I need to go back\n  and re-review those patchs and their (lengthy) discussion.\"\n\n* emailed from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (16 patches)\n  memcg swap: use mem_cgroup_uncharge_swap fix\n  backlight: add driver for DA9052/53 PMIC v1\n  C6X: use set_current_blocked() and block_sigmask()\n  MAINTAINERS: add entry for sparse checker\n  MAINTAINERS: fix REMOTEPROC F: typo\n  alpha: use set_current_blocked() and block_sigmask()\n  simple_open: automatically convert to simple_open()\n  scripts/coccinelle/api/simple_open.cocci: semantic patch for simple_open()\n  libfs: add simple_open()\n  hugetlbfs: remove unregister_filesystem() when initializing module\n  drivers/rtc/rtc-88pm860x.c: fix rtc irq enable callback\n  fs/xattr.c:setxattr(): improve handling of allocation failures\n  fs/xattr.c:listxattr(): fall back to vmalloc() if kmalloc() failed\n  fs/xattr.c: suppress page allocation failure warnings from sys_listxattr()\n  sysrq: use SEND_SIG_FORCED instead of force_sig()\n  proc: fix mount -t proc -o AAA\n"
    },
    {
      "commit": "234e340582901211f40d8c732afc49f0630ecf05",
      "tree": "753076500dfd883b3db56d4f5410af31d8945623",
      "parents": [
        "9b3ae64be658a573b33d05a8dc73b08d3345fa44"
      ],
      "author": {
        "name": "Stephen Boyd",
        "email": "sboyd@codeaurora.org",
        "time": "Thu Apr 05 14:25:11 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 05 15:25:50 2012 -0700"
      },
      "message": "simple_open: automatically convert to simple_open()\n\nMany users of debugfs copy the implementation of default_open() when\nthey want to support a custom read/write function op.  This leads to a\nproliferation of the default_open() implementation across the entire\ntree.\n\nNow that the common implementation has been consolidated into libfs we\ncan replace all the users of this function with simple_open().\n\nThis replacement was done with the following semantic patch:\n\n\u003csmpl\u003e\n@ open @\nidentifier open_f !\u003d simple_open;\nidentifier i, f;\n@@\n-int open_f(struct inode *i, struct file *f)\n-{\n(\n-if (i-\u003ei_private)\n-f-\u003eprivate_data \u003d i-\u003ei_private;\n|\n-f-\u003eprivate_data \u003d i-\u003ei_private;\n)\n-return 0;\n-}\n\n@ has_open depends on open @\nidentifier fops;\nidentifier open.open_f;\n@@\nstruct file_operations fops \u003d {\n...\n-.open \u003d open_f,\n+.open \u003d simple_open,\n...\n};\n\u003c/smpl\u003e\n\n[akpm@linux-foundation.org: checkpatch fixes]\nSigned-off-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Julia Lawall \u003cJulia.Lawall@lip6.fr\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c04c1b9ee8f30c7a3a25e20e406247003f634ebe",
      "tree": "c8f1de34051bce402ee5be5d6dfadc4bc7e47ae1",
      "parents": [
        "e466de05194b666114713b753e2f4be1d4200140"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Wed Apr 04 15:48:33 2012 -0600"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Apr 04 23:22:15 2012 +0100"
      },
      "message": "regmap: prevent division by zero in rbtree_show\n\nIf there are no nodes in the cache, nodes will be 0, so calculating\n\"registers / nodes\" will cause division by zero.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "64ebe987311853ea857a244439de5b947a4b1b07",
      "tree": "b33ab6efd7f118e0f6ab5a6bcbd59ba31a313da5",
      "parents": [
        "a5149bf3fed59b94207809704b5d06fec337a771",
        "c4772d192c70b61d52262b0db76f7abd8aeb51c6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 04 14:26:40 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 04 14:26:40 2012 -0700"
      },
      "message": "Merge tag \u0027pm-for-3.4-part-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\nPull more power management updates from Rafael Wysocki:\n - Patch series that hopefully fixes races between the freezer and\n   request_firmware() and request_firmware_nowait() for good, with two\n   cleanups from Stephen Boyd on top.\n - Runtime PM fix from Alan Stern preventing tasks from getting stuck\n   indefinitely in the runtime PM wait queue.\n - Device PM QoS update from MyungJoo Ham introducing a new variant of\n   pm_qos_update_request() allowing the callers to specify a timeout.\n\n* tag \u0027pm-for-3.4-part-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:\n  PM / QoS: add pm_qos_update_request_timeout() API\n  firmware_class: Move request_firmware_nowait() to workqueues\n  firmware_class: Reorganize fw_create_instance()\n  PM / Sleep: Mitigate race between the freezer and request_firmware()\n  PM / Sleep: Move disabling of usermode helpers to the freezer\n  PM / Hibernate: Disable usermode helpers right before freezing tasks\n  firmware_class: Do not warn that system is not ready from async loads\n  firmware_class: Split _request_firmware() into three functions, v2\n  firmware_class: Rework usermodehelper check\n  PM / Runtime: don\u0027t forget to wake up waitqueue on failure\n"
    },
    {
      "commit": "e466de05194b666114713b753e2f4be1d4200140",
      "tree": "d744106bb25b94cdc2e819b06483efc5202a5a28",
      "parents": [
        "dd775ae2549217d3ae09363e3edb305d0fa19928"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Apr 03 13:08:53 2012 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Apr 03 13:08:53 2012 +0100"
      },
      "message": "regmap: Export regcache_sync_region()\n\nregcache_sync_region() isn\u0027t going to be useful to most drivers if we\ndon\u0027t export it since otherwise they can\u0027t use it when built modular.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "4b4e9e43fd210e0cd2a5d29357e7c000e13e08ae",
      "tree": "fe7d224017c0c6ce72751a16bf9f9b12037b248d",
      "parents": [
        "dd775ae2549217d3ae09363e3edb305d0fa19928"
      ],
      "author": {
        "name": "Lars-Peter Clausen",
        "email": "lars@metafoo.de",
        "time": "Fri Mar 23 11:04:57 2012 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sun Apr 01 11:47:13 2012 +0100"
      },
      "message": "regmap: rbtree: Fix register default look-up in sync\n\nThe code currently passes the register offset in the current block to\nregcache_lookup_reg. This works fine as long as there is only one block and with\nbase register of 0, but in all other cases it will look-up the default for a\nwrong register, which can cause unnecessary register writes. This patch fixes\nit by passing the actual register number to regcache_lookup_reg.\n\nSigned-off-by: Lars-Peter Clausen \u003clars@metafoo.de\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\n"
    },
    {
      "commit": "a76e99abc558aed633ba28ff61c5328116292bf3",
      "tree": "60f7677f0baafa00825accc1214839246b3e78dd",
      "parents": [
        "a54734678ff9cb97938b9f7648547174f3b118e4",
        "1d05f993784973189395051cc711fdd6dd5eb389"
      ],
      "author": {
        "name": "Rohit Vaswani",
        "email": "rvaswani@codeaurora.org",
        "time": "Fri Mar 30 00:09:34 2012 -0700"
      },
      "committer": {
        "name": "Rohit Vaswani",
        "email": "rvaswani@codeaurora.org",
        "time": "Fri Mar 30 00:09:34 2012 -0700"
      },
      "message": "Merge branch \u0027Linux 3.0.21\u0027 into msm-3.0\n\nMerge Upstream\u0027s stable 3.0.21 branch into msm-3.0\nThis consists 814 commits and some merge conflicts.\n\nThe merge conflicts are because of some local changes to\nmsm-3.0 as well as some conflicts between google\u0027s tree and\nthe upstream tree.\n\nConflicts:\n\tarch/arm/kernel/head.S\n\tdrivers/bluetooth/ath3k.c\n\tdrivers/bluetooth/btusb.c\n\tdrivers/mmc/core/core.c\n\tdrivers/tty/serial/serial_core.c\n\tdrivers/usb/host/ehci-hub.c\n\tdrivers/usb/serial/qcserial.c\n\tfs/namespace.c\n\tfs/proc/base.c\n\nChange-Id: I62e2edbe213f84915e27f8cd6e4f6ce23db22a21\nSigned-off-by: Rohit Vaswani \u003crvaswani@codeaurora.org\u003e\n"
    },
    {
      "commit": "ed0bb8ea059764c3fc882fb135473afd347335e9",
      "tree": "5274b8335afe85f76d1eb945eb03ffe4040737b4",
      "parents": [
        "47b816ff7d520509176154748713e7d66b3ad6ac",
        "3e0b2a1993c06e646d90d71e163d03869a211a4c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 15:02:41 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 15:02:41 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus-3.4\u0027 of git://git.linaro.org/people/sumitsemwal/linux-dma-buf\n\nPull dma-buf updates from Sumit Semwal:\n \"This includes the following key items:\n\n   - kernel cpu access support,\n   - flag-passing to dma_buf_fd,\n   - relevant Documentation updates, and\n   - some minor cleanups and fixes.\n\n  These changes are needed for the drm prime/dma-buf interface code that\n  Dave Airlie plans to submit in this merge window.\"\n\n* \u0027for-linus-3.4\u0027 of git://git.linaro.org/people/sumitsemwal/linux-dma-buf:\n  dma-buf: correct dummy function declarations.\n  dma-buf: document fd flags and O_CLOEXEC requirement\n  dma_buf: Add documentation for the new cpu access support\n  dma-buf: add support for kernel cpu access\n  dma-buf: don\u0027t hold the mutex around map/unmap calls\n  dma-buf: add get_dma_buf()\n  dma-buf: pass flags into dma_buf_fd.\n  dma-buf: add dma_data_direction to unmap dma_buf_op\n  dma-buf: Move code out of mutex-protected section in dma_buf_attach()\n  dma-buf: Return error instead of using a goto statement when possible\n  dma-buf: Remove unneeded sanity checks\n  dma-buf: Constify ops argument to dma_buf_export()\n"
    },
    {
      "commit": "a36cf844c543c6193445a7b1492d16e5a8cf376e",
      "tree": "7839e51c505a12662ada9affef4cc9da5277b192",
      "parents": [
        "dddb5549da6b15ea8b9ce9ee0859c8d1fa268b5b"
      ],
      "author": {
        "name": "Stephen Boyd",
        "email": "sboyd@codeaurora.org",
        "time": "Wed Mar 28 23:31:00 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Mar 28 23:31:00 2012 +0200"
      },
      "message": "firmware_class: Move request_firmware_nowait() to workqueues\n\nOddly enough a work_struct was already part of the firmware_work\nstructure but nobody was using it. Instead of creating a new\nkthread for each request_firmware_nowait() call just schedule the\nwork on the system workqueue. This should avoid some overhead\nin forking new threads when they\u0027re not strictly necessary.\n\nSigned-off-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "dddb5549da6b15ea8b9ce9ee0859c8d1fa268b5b",
      "tree": "ed085381d5934f8de96d0c63515a586507324466",
      "parents": [
        "247bc03742545fec2f79939a3b9f738392a0f7b4"
      ],
      "author": {
        "name": "Stephen Boyd",
        "email": "sboyd@codeaurora.org",
        "time": "Wed Mar 28 23:30:43 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Mar 28 23:30:43 2012 +0200"
      },
      "message": "firmware_class: Reorganize fw_create_instance()\n\nRecent patches to split up the three phases of request_firmware()\nlead to a casting away of const in fw_create_instance(). We can\navoid this cast by splitting up fw_create_instance() a bit.\n\nMake _request_firmware_setup() return a struct fw_priv and use\nthat struct instead of passing struct firmware to\n_request_firmware(). Move the uevent and device file creation\nbits to the loading phase and rename the function to\n_request_firmware_load() to better reflect its purpose.\n\nSigned-off-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "9b78c1da60b3c62ccdd1509f0902ad19ceaf776b",
      "tree": "1e662bb29f04c2b875207d907db917476ddce60b",
      "parents": [
        "811fa4004485dec8977176bf605a5b0508ee206c"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Mar 28 23:30:02 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Mar 28 23:30:02 2012 +0200"
      },
      "message": "firmware_class: Do not warn that system is not ready from async loads\n\nIf firmware is requested asynchronously, by calling\nrequest_firmware_nowait(), there is no reason to fail the request\n(and warn the user) when the system is (presumably temporarily)\nunready to handle it (because user space is not available yet or\nfrozen).  For this reason, introduce an alternative routine for\nread-locking umhelper_sem, usermodehelper_read_lock_wait(), that\nwill wait for usermodehelper_disabled to be unset (possibly with\na timeout) and make request_firmware_work_func() use it instead of\nusermodehelper_read_trylock().\n\nAccordingly, modify request_firmware() so that it uses\nusermodehelper_read_trylock() to acquire umhelper_sem and remove\nthe code related to that lock from _request_firmware().\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "811fa4004485dec8977176bf605a5b0508ee206c",
      "tree": "afa0924a75f217a27f7438e34758747413ba635a",
      "parents": [
        "fe2e39d8782d885755139304d8dba0b3e5bfa878"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Mar 28 23:29:55 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Mar 28 23:29:55 2012 +0200"
      },
      "message": "firmware_class: Split _request_firmware() into three functions, v2\n\nSplit _request_firmware() into three functions,\n_request_firmware_prepare() doing preparatory work that need not be\ndone under umhelper_sem, _request_firmware_cleanup() doing the\npost-error cleanup and _request_firmware() carrying out the remaining\noperations.\n\nThis change is requisite for moving the acquisition of umhelper_sem\nfrom _request_firmware() to the callers, which is going to be done\nsubsequently.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nReviewed-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "fe2e39d8782d885755139304d8dba0b3e5bfa878",
      "tree": "200fb998fe94b9ccd93d07c59656b8f5ab62c5d7",
      "parents": [
        "9a4768d849d28a79566aa37de19b9852d2da8ec4"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Mar 28 23:29:45 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Mar 28 23:29:45 2012 +0200"
      },
      "message": "firmware_class: Rework usermodehelper check\n\nInstead of two functions, read_lock_usermodehelper() and\nusermodehelper_is_disabled(), used in combination, introduce\nusermodehelper_read_trylock() that will only return with umhelper_sem\nheld if usermodehelper_disabled is unset (and will return -EAGAIN\notherwise) and make _request_firmware() use it.\n\nRename read_unlock_usermodehelper() to\nusermodehelper_read_unlock() to follow the naming convention of the\nnew function.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "f2791d733a2f06997b573d1a3cfde21e6f529826",
      "tree": "2af5d3beba35cb4b5a945f148e0a24bbda0ed86f",
      "parents": [
        "e22057c8599373e5caef0bc42bdb95d2a361ab0d"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Mon Mar 26 22:46:52 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Mar 26 22:46:52 2012 +0200"
      },
      "message": "PM / Runtime: don\u0027t forget to wake up waitqueue on failure\n\nThis patch (as1535) fixes a bug in the runtime PM core.  When a\nruntime suspend attempt completes, whether successfully or not, the\ndevice\u0027s power.wait_queue is supposed to be signalled.  But this\ndoesn\u0027t happen in the failure pathway of rpm_suspend() when another\nautosuspend attempt is rescheduled.  As a result, a task can get stuck\nindefinitely on the wait queue (I have seen this happen in testing).\n\nThe patch fixes the problem by moving the wake_up_all() call up near\nthe start of the failure code.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCC: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "fc13020e086bfedf2afb95c91c026d5af1f80107",
      "tree": "a06be5c3eff6865a42046b51270e4d60e30609f4",
      "parents": [
        "6b607e3a658fee490bdabfdeb739a3eb498b1bff"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Tue Mar 20 00:02:37 2012 +0100"
      },
      "committer": {
        "name": "Sumit Semwal",
        "email": "sumit.semwal@ti.com",
        "time": "Mon Mar 26 11:33:02 2012 +0530"
      },
      "message": "dma-buf: add support for kernel cpu access\n\nBig differences to other contenders in the field (like ion) is\nthat this also supports highmem, so we have to split up the cpu\naccess from the kernel side into a prepare and a kmap step.\n\nPrepare is allowed to fail and should do everything required so that\nthe kmap calls can succeed (like swapin/backing storage allocation,\nflushing, ...).\n\nMore in-depth explanations will follow in the follow-up documentation\npatch.\n\nChanges in v2:\n\n- Clear up begin_cpu_access confusion noticed by Sumit Semwal.\n- Don\u0027t automatically fallback from the _atomic variants to the\n  non-atomic variants. The _atomic callbacks are not allowed to\n  sleep, so we want exporters to make this decision explicit. The\n  function signatures are explicit, so simpler exporters can still\n  use the same function for both.\n- Make the unmap functions optional. Simpler exporters with permanent\n  mappings don\u0027t need to do anything at unmap time.\n\nChanges in v3:\n\n- Adjust the WARN_ON checks for the new -\u003eops functions as suggested\n  by Rob Clark and Sumit Semwal.\n- Rebased on top of latest dma-buf-next git.\n\nChanges in v4:\n\n- Fixup a missing - in a return -EINVAL; statement.\n\nSigned-Off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Rob Clark \u003crob@ti.com\u003e\nSigned-off-by: Sumit Semwal \u003csumit.semwal@linaro.org\u003e\n"
    },
    {
      "commit": "6b607e3a658fee490bdabfdeb739a3eb498b1bff",
      "tree": "a10ad6f713586f9dc7584fe54110d1c44f87b1d5",
      "parents": [
        "f9a24d1ac9cb82baf5ec5efdb6580a9ce0bd5bfc"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Mon Mar 19 00:34:25 2012 +0100"
      },
      "committer": {
        "name": "Sumit Semwal",
        "email": "sumit.semwal@ti.com",
        "time": "Mon Mar 26 11:32:50 2012 +0530"
      },
      "message": "dma-buf: don\u0027t hold the mutex around map/unmap calls\n\nThe mutex protects the attachment list and hence needs to be held\naround the callbakc to the exporters (optional) attach/detach\nfunctions.\n\nHolding the mutex around the map/unmap calls doesn\u0027t protect any\ndma_buf state. Exporters need to properly protect any of their own\nstate anyway (to protect against calls from their own interfaces).\nSo this only makes the locking messier (and lockdep easier to anger).\n\nTherefore let\u0027s just drop this.\n\nv2: Rebased on top of latest dma-buf-next git.\n\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nReviewed-by: Rob Clark \u003crob.clark@linaro.org\u003e\nSigned-off-by: Sumit Semwal \u003csumit.semwal@linaro.org\u003e\n"
    },
    {
      "commit": "55c1c4ca23d0f2736ef7c219d0fb005323ff8ee0",
      "tree": "52c2ae868121e09df3d77fc998f233549cf8ae34",
      "parents": [
        "33ea2dcb39ba50b0b69d1b1dc24702f084b46411"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Mar 16 10:34:02 2012 +0000"
      },
      "committer": {
        "name": "Sumit Semwal",
        "email": "sumit.semwal@ti.com",
        "time": "Mon Mar 26 11:32:26 2012 +0530"
      },
      "message": "dma-buf: pass flags into dma_buf_fd.\n\nWe need to pass the flags into dma_buf_fd at this point,\nso the flags end up doing the right thing for O_CLOEXEC.\n\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\nSigned-off-by: Rob Clark \u003crob@ti.com\u003e\nSigned-off-by: Sumit Semwal \u003csumit.semwal@linaro.org\u003e\n"
    },
    {
      "commit": "33ea2dcb39ba50b0b69d1b1dc24702f084b46411",
      "tree": "ec1e1b0c223e09861341f82d2aa0b13ec841be95",
      "parents": [
        "2ed9201bdd9a8e462d768a838fb2bc944c6887a4"
      ],
      "author": {
        "name": "Sumit Semwal",
        "email": "sumit.semwal@ti.com",
        "time": "Fri Jan 27 15:09:27 2012 +0530"
      },
      "committer": {
        "name": "Sumit Semwal",
        "email": "sumit.semwal@ti.com",
        "time": "Mon Mar 26 11:31:58 2012 +0530"
      },
      "message": "dma-buf: add dma_data_direction to unmap dma_buf_op\n\nSome exporters may use DMA map/unmap APIs in dma-buf ops, which require\nenum dma_data_direction for both map and unmap operations.\n\nThus, the unmap dma_buf_op also needs to have enum dma_data_direction as\na parameter.\n\nReported-by: Tomasz Stanislawski \u003ct.stanislaws@samsung.com\u003e\nSigned-off-by: Sumit Semwal \u003csumit.semwal@ti.com\u003e\nReviewed-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Sumit Semwal \u003csumit.semwal@linaro.org\u003e\n"
    }
  ],
  "next": "250f6715a4112d6686670c5a62ceb9305da94616"
}
