)]}'
{
  "log": [
    {
      "commit": "766ce4e5a952510f9f27511cbfecc884bf5147cd",
      "tree": "93ad1970e254fc3b1fb0650a4dc449d86ad5114e",
      "parents": [
        "3bc527393379fcd740cc66c700da808abdbf5a5d"
      ],
      "author": {
        "name": "Ivan Grinko",
        "email": "iivanich@gmail.com",
        "time": "Thu Apr 28 22:06:41 2016 +0300"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Tue May 17 08:03:16 2016 -0400"
      },
      "message": "Linux 3.4.112\n\nhttps://cdn.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.4.112\n\nChange-Id: Ic146bc84c10ebcfe256eb6bffa8ffef44c9a1d38\n"
    },
    {
      "commit": "9cc712efc708bf2d25b6a6c013c66c42f2cfccd0",
      "tree": "f4b7b9d2354b77f6a63eacded1c5b32282c18abc",
      "parents": [
        "64c363146fe8b4b26285d36fad0fc01b9c8c1285"
      ],
      "author": {
        "name": "José Adolfo Galdámez",
        "email": "josegalre@pac-rom.com",
        "time": "Wed Oct 21 21:52:13 2015 -0600"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Wed Feb 10 20:04:59 2016 -0500"
      },
      "message": "Merge tag \u0027v3.4.110\u0027 into mm-6.0\n\nChange-Id: I0afc69bce474139d1b70e062d72c0b8054529833\nSigned-off-by: José Adolfo Galdámez \u003cjosegalre@pac-rom.com\u003e\n"
    },
    {
      "commit": "b487362d57da9517175e207e9576b3288becdc99",
      "tree": "a452fb41f967e730ec70cfc64e3b4c1c905362f1",
      "parents": [
        "3d44f1b0e049f1cb2c2fd85d6edd88e469b79be1"
      ],
      "author": {
        "name": "Guenter Roeck",
        "email": "linux@roeck-us.net",
        "time": "Sun Jul 14 16:05:57 2013 -0700"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Wed Feb 10 20:00:52 2016 -0500"
      },
      "message": "driver core: Introduce device_create_groups\n\ncommit 39ef311204941ddd01ea2950d6220c8ccc710d15 upstream.\n\ndevice_create_groups lets callers create devices as well as associated\nsysfs attributes with a single call. This avoids race conditions seen\nif sysfs attributes on new devices are created later.\n\n[fixed up comment block placement and add checks for printk buffer\nformats - gregkh]\n\nSigned-off-by: Guenter Roeck \u003clinux@roeck-us.net\u003e\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n[lizf: Backported to 3.4: adjust context]\nSigned-off-by: Zefan Li \u003clizefan@huawei.com\u003e\n"
    },
    {
      "commit": "a6a40a812abb83f4fc399c000fd53aaa41936f10",
      "tree": "08c100432c083c7b67d4fdffdcdaaf9e83658e50",
      "parents": [
        "f02f015f9e7fa99efcf576a4d8eec9d662ec4210"
      ],
      "author": {
        "name": "Alex Williamson",
        "email": "alex.williamson@redhat.com",
        "time": "Fri Oct 31 11:13:07 2014 -0600"
      },
      "committer": {
        "name": "William Bellavance",
        "email": "flintman@flintmancomputers.com",
        "time": "Wed Feb 10 19:59:47 2016 -0500"
      },
      "message": "driver core: Fix unbalanced device reference in drivers_probe\n\ncommit bb34cb6bbd287b57e955bc5cfd42fcde6aaca279 upstream.\n\nbus_find_device_by_name() acquires a device reference which is never\nreleased.  This results in an object leak, which on older kernels\nresults in failure to release all resources of PCI devices.  libvirt\nuses drivers_probe to re-attach devices to the host after assignment\nand is therefore a common trigger for this leak.\n\nExample:\n\n# cd /sys/bus/pci/\n# dmesg -C\n# echo 1 \u003e devices/0000\\:01\\:00.0/sriov_numvfs\n# echo 0 \u003e devices/0000\\:01\\:00.0/sriov_numvfs\n# dmesg | grep 01:10\n pci 0000:01:10.0: [8086:10ca] type 00 class 0x020000\n kobject: \u00270000:01:10.0\u0027 (ffff8801d79cd0a8): kobject_add_internal: parent: \u00270000:00:01.0\u0027, set: \u0027devices\u0027\n kobject: \u00270000:01:10.0\u0027 (ffff8801d79cd0a8): kobject_uevent_env\n kobject: \u00270000:01:10.0\u0027 (ffff8801d79cd0a8): fill_kobj_path: path \u003d \u0027/devices/pci0000:00/0000:00:01.0/0000:01:10.0\u0027\n kobject: \u00270000:01:10.0\u0027 (ffff8801d79cd0a8): kobject_uevent_env\n kobject: \u00270000:01:10.0\u0027 (ffff8801d79cd0a8): fill_kobj_path: path \u003d \u0027/devices/pci0000:00/0000:00:01.0/0000:01:10.0\u0027\n kobject: \u00270000:01:10.0\u0027 (ffff8801d79cd0a8): kobject_uevent_env\n kobject: \u00270000:01:10.0\u0027 (ffff8801d79cd0a8): fill_kobj_path: path \u003d \u0027/devices/pci0000:00/0000:00:01.0/0000:01:10.0\u0027\n kobject: \u00270000:01:10.0\u0027 (ffff8801d79cd0a8): kobject_cleanup, parent           (null)\n kobject: \u00270000:01:10.0\u0027 (ffff8801d79cd0a8): calling ktype release\n kobject: \u00270000:01:10.0\u0027: free name\n\n[kobject freed as expected]\n\n# dmesg -C\n# echo 1 \u003e devices/0000\\:01\\:00.0/sriov_numvfs\n# echo 0000:01:10.0 \u003e drivers_probe\n# echo 0 \u003e devices/0000\\:01\\:00.0/sriov_numvfs\n# dmesg | grep 01:10\n pci 0000:01:10.0: [8086:10ca] type 00 class 0x020000\n kobject: \u00270000:01:10.0\u0027 (ffff8801d79ce0a8): kobject_add_internal: parent: \u00270000:00:01.0\u0027, set: \u0027devices\u0027\n kobject: \u00270000:01:10.0\u0027 (ffff8801d79ce0a8): kobject_uevent_env\n kobject: \u00270000:01:10.0\u0027 (ffff8801d79ce0a8): fill_kobj_path: path \u003d \u0027/devices/pci0000:00/0000:00:01.0/0000:01:10.0\u0027\n kobject: \u00270000:01:10.0\u0027 (ffff8801d79ce0a8): kobject_uevent_env\n kobject: \u00270000:01:10.0\u0027 (ffff8801d79ce0a8): fill_kobj_path: path \u003d \u0027/devices/pci0000:00/0000:00:01.0/0000:01:10.0\u0027\n kobject: \u00270000:01:10.0\u0027 (ffff8801d79ce0a8): kobject_uevent_env\n kobject: \u00270000:01:10.0\u0027 (ffff8801d79ce0a8): fill_kobj_path: path \u003d \u0027/devices/pci0000:00/0000:00:01.0/0000:01:10.0\u0027\n\n[no free]\n\nSigned-off-by: Alex Williamson \u003calex.williamson@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nSigned-off-by: Zefan Li \u003clizefan@huawei.com\u003e\n"
    },
    {
      "commit": "7adf978b5056c04103ab8969d46d1dfcaf75a9b6",
      "tree": "2bc453f575d9a9afffd54dc33c192c1d05b811c5",
      "parents": [
        "e2748bd474bbf3dd82411f3894a3e3cc2cc6f540"
      ],
      "author": {
        "name": "Yijing Wang",
        "email": "wangyijing@huawei.com",
        "time": "Fri Nov 07 12:05:49 2014 +0800"
      },
      "committer": {
        "name": "flintman",
        "email": "flintman@flintmancomputers.com",
        "time": "Mon Apr 27 08:02:43 2015 -0400"
      },
      "message": "sysfs: driver core: Fix glue dir race condition by gdp_mutex\n\ncommit e4a60d139060975eb956717e4f63ae348d4d8cc5 upstream.\n\nThere is a race condition when removing glue directory.\nIt can be reproduced in following test:\n\npath 1: Add first child device\ndevice_add()\n    get_device_parent()\n            /*find parent from glue_dirs.list*/\n            list_for_each_entry(k, \u0026dev-\u003eclass-\u003ep-\u003eglue_dirs.list, entry)\n                    if (k-\u003eparent \u003d\u003d parent_kobj) {\n                            kobj \u003d kobject_get(k);\n                            break;\n                    }\n            ....\n            class_dir_create_and_add()\n\npath2: Remove last child device under glue dir\ndevice_del()\n    cleanup_device_parent()\n            cleanup_glue_dir()\n                    kobject_put(glue_dir);\n\nIf path2 has been called cleanup_glue_dir(), but not\ncall kobject_put(glue_dir), the glue dir is still\nin parent\u0027s kset list. Meanwhile, path1 find the glue\ndir from the glue_dirs.list. Path2 may release glue dir\nbefore path1 call kobject_get(). So kernel will report\nthe warning and bug_on.\n\nThis is a \"classic\" problem we have of a kref in a list\nthat can be found while the last instance could be removed\nat the same time.\n\nThis patch reuse gdp_mutex to fix this race condition.\n\nThe following calltrace is captured in kernel 3.4, but\nthe latest kernel still has this bug.\n\n-----------------------------------------------------\n\u003c4\u003e[ 3965.441471] WARNING: at ...include/linux/kref.h:41 kobject_get+0x33/0x40()\n\u003c4\u003e[ 3965.441474] Hardware name: Romley\n\u003c4\u003e[ 3965.441475] Modules linked in: isd_iop(O) isd_xda(O)...\n...\n\u003c4\u003e[ 3965.441605] Call Trace:\n\u003c4\u003e[ 3965.441611]  [\u003cffffffff8103717a\u003e] warn_slowpath_common+0x7a/0xb0\n\u003c4\u003e[ 3965.441615]  [\u003cffffffff810371c5\u003e] warn_slowpath_null+0x15/0x20\n\u003c4\u003e[ 3965.441618]  [\u003cffffffff81215963\u003e] kobject_get+0x33/0x40\n\u003c4\u003e[ 3965.441624]  [\u003cffffffff812d1e45\u003e] get_device_parent.isra.11+0x135/0x1f0\n\u003c4\u003e[ 3965.441627]  [\u003cffffffff812d22d4\u003e] device_add+0xd4/0x6d0\n\u003c4\u003e[ 3965.441631]  [\u003cffffffff812d0dbc\u003e] ? dev_set_name+0x3c/0x40\n....\n\u003c2\u003e[ 3965.441912] kernel BUG at ..../fs/sysfs/group.c:65!\n\u003c4\u003e[ 3965.441915] invalid opcode: 0000 [#1] SMP\n...\n\u003c4\u003e[ 3965.686743]  [\u003cffffffff811a677e\u003e] sysfs_create_group+0xe/0x10\n\u003c4\u003e[ 3965.686748]  [\u003cffffffff810cfb04\u003e] blk_trace_init_sysfs+0x14/0x20\n\u003c4\u003e[ 3965.686753]  [\u003cffffffff811fcabb\u003e] blk_register_queue+0x3b/0x120\n\u003c4\u003e[ 3965.686756]  [\u003cffffffff812030bc\u003e] add_disk+0x1cc/0x490\n....\n-------------------------------------------------------\n\nSigned-off-by: Yijing Wang \u003cwangyijing@huawei.com\u003e\nSigned-off-by: Weng Meiling \u003cwengmeiling.weng@huawei.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nSigned-off-by: Zefan Li \u003clizefan@huawei.com\u003e\n"
    },
    {
      "commit": "6f5f104d150e658aac396d4f7b96f00bd3676eac",
      "tree": "211c7a5042f294d1f115537db96f52d3cee4f6e9",
      "parents": [
        "7c10d4b4c4ba1947eea6da41059fdf63b85d5001"
      ],
      "author": {
        "name": "Xiubo Li",
        "email": "Li.Xiubo@freescale.com",
        "time": "Sun Sep 28 17:09:54 2014 +0800"
      },
      "committer": {
        "name": "flintman",
        "email": "flintman@flintmancomputers.com",
        "time": "Mon Apr 27 08:01:00 2015 -0400"
      },
      "message": "regmap: fix possible ZERO_SIZE_PTR pointer dereferencing error.\n\ncommit d6b41cb06044a7d895db82bdd54f6e4219970510 upstream.\n\nSince we cannot make sure the \u0027val_count\u0027 will always be none zero\nhere, and then if it equals to zero, the kmemdup() will return\nZERO_SIZE_PTR, which equals to ((void *)16).\n\nSo this patch fix this with just doing the zero check before calling\nkmemdup().\n\nSigned-off-by: Xiubo Li \u003cLi.Xiubo@freescale.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@kernel.org\u003e\n[lizf: Backported to 3.4: release mutex before returning EINVAL]\nSigned-off-by: Zefan Li \u003clizefan@huawei.com\u003e\n"
    },
    {
      "commit": "7c10d4b4c4ba1947eea6da41059fdf63b85d5001",
      "tree": "950a71c582615590bad3ecbc4cfd96d699494929",
      "parents": [
        "a44cc723f3868436769d39a6618d1bee4e659b6b"
      ],
      "author": {
        "name": "Xiubo Li",
        "email": "Li.Xiubo@freescale.com",
        "time": "Sun Sep 28 11:35:25 2014 +0800"
      },
      "committer": {
        "name": "flintman",
        "email": "flintman@flintmancomputers.com",
        "time": "Mon Apr 27 08:01:00 2015 -0400"
      },
      "message": "regmap: debugfs: fix possbile NULL pointer dereference\n\ncommit 2c98e0c1cc6b8e86f1978286c3d4e0769ee9d733 upstream.\n\nIf \u0027map-\u003edev\u0027 is NULL and there will lead dev_name() to be NULL pointer\ndereference. So before dev_name(), we need to have check of the map-\u003edev\npionter.\n\nWe also should make sure that the \u0027name\u0027 pointer shouldn\u0027t be NULL for\ndebugfs_create_dir(). So here using one default \"dummy\" debugfs name when\nthe \u0027name\u0027 pointer and \u0027map-\u003edev\u0027 are both NULL.\n\nSigned-off-by: Xiubo Li \u003cLi.Xiubo@freescale.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@kernel.org\u003e\n[lizf: Backported to 3.4: dev_name() is passed to debugfs_create_dir() in 3.4]\nSigned-off-by: Zefan Li \u003clizefan@huawei.com\u003e\n"
    },
    {
      "commit": "ffd0ea5d2b4cf51608b3b6f6311acc5a6865fa6f",
      "tree": "9df5ab831efd98eb1d3160b14de4d5413375584f",
      "parents": [
        "6ac7b4608c8408c118da59cd7605d5b5f2869deb"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "keescook@chromium.org",
        "time": "Thu Sep 18 11:25:37 2014 -0700"
      },
      "committer": {
        "name": "flintman",
        "email": "flintman@flintmancomputers.com",
        "time": "Mon Apr 27 08:00:47 2015 -0400"
      },
      "message": "firmware_class: make sure fw requests contain a name\n\ncommit 471b095dfe0d693a8d624cbc716d1ee4d74eb437 upstream.\n\nAn empty firmware request name will trigger warnings when building\ndevice names. Make sure this is caught earlier and rejected.\n\nThe warning was visible via the test_firmware.ko module interface:\n\necho -ne \"\\x00\" \u003e /sys/devices/virtual/misc/test_firmware/trigger_request\n\nReported-by: Sasha Levin \u003csasha.levin@oracle.com\u003e\nSigned-off-by: Kees Cook \u003ckeescook@chromium.org\u003e\nTested-by: Sasha Levin \u003csasha.levin@oracle.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n[lizf: Backported to 3.4: adjust context]\nSigned-off-by: Zefan Li \u003clizefan@huawei.com\u003e\n"
    },
    {
      "commit": "1097d78180e1a2916c2bcdb15cb90ba131af9cd8",
      "tree": "5910f8fc0dcb85c71011ccccee18895769699390",
      "parents": [
        "3ded4adc97887ddde3c1855f29f062e015d19425",
        "7fd7a446b1c2b96252e4389746e5419eae04faef"
      ],
      "author": {
        "name": "Paul",
        "email": "javelinanddart@gmail.com",
        "time": "Sun Jan 11 17:15:40 2015 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Sun Jan 11 17:20:45 2015 -0800"
      },
      "message": "Merge tag \u0027v3.4.105\u0027 into cm-12.0\n\nThis is the 3.4.105 stable release\n\nConflicts:\n\tarch/arm/mm/proc-v7.S\n\tdrivers/bluetooth/hci_ldisc.c\n\tdrivers/media/dvb/dvb-core/dmxdev.c\n\tdrivers/usb/core/driver.c\n\tdrivers/usb/dwc3/core.c\n\tdrivers/usb/host/xhci-hub.c\n\tdrivers/usb/host/xhci.c\n\tdrivers/usb/serial/qcserial.c\n\tdrivers/usb/serial/usb_wwan.c\n\tkernel/events/core.c\n\tkernel/time/tick-sched.ck\n\tkernel/futex.c\n\tmm/memory_hotplug.c\n\tmm/vmscan.c\n\tnet/bluetooth/hci_conn.c\n\tnet/bluetooth/hci_event.c\n\tnet/bluetooth/l2cap_core.c\n\tnet/ipv4/ping.c\n\tnet/wireless/nl80211.c\n\tsound/soc/soc-core.c\n\nChange-Id: Id09da84afb427ba1a32ff26e74f2bb86458d4a2e\n"
    },
    {
      "commit": "219fb6410b9e4ba3a3a28c12c73579eef921cb31",
      "tree": "17b07ded15604eb74b9c2c1153478769d4dcdee0",
      "parents": [
        "f999b1962a34f97cec52c3adff81d79890697a7f"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@linaro.org",
        "time": "Tue Aug 26 12:12:17 2014 +0100"
      },
      "committer": {
        "name": "Zefan Li",
        "email": "lizefan@huawei.com",
        "time": "Mon Dec 01 18:02:20 2014 +0800"
      },
      "message": "regmap: Fix handling of volatile registers for format_write() chips\n\ncommit 5844a8b9d98ec11ce1d77610daacf3f0a0e14715 upstream.\n\nA previous over-zealous factorisation of code means that we only treat\nregisters as volatile if they are readable. For most devices this is fine\nsince normally most registers can be read and volatility implies\nreadability but for format_write() devices where there is no readback from\nthe hardware and we use volatility to mean simply uncacheability this means\nthat we end up treating all registers as cacheble.\n\nA bigger refactoring of the code to clarify this is in order but as a fix\nmake a minimal change and only check readability when checking volatility\nif there is no format_write() operation defined for the device.\n\nSigned-off-by: Mark Brown \u003cbroonie@linaro.org\u003e\nTested-by: Lars-Peter Clausen \u003clars@metafoo.de\u003e\nSigned-off-by: Zefan Li \u003clizefan@huawei.com\u003e\n"
    },
    {
      "commit": "9dbdf25ec58ee67beee56e9bcc2f193ee29cc7b3",
      "tree": "b28d3468991709c77eea213b95d8e1e1fe4a4816",
      "parents": [
        "786f95ca604ce585d6feee71ab653b04d4bb9a50"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@linaro.org",
        "time": "Tue Apr 29 12:05:22 2014 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sat Jun 07 16:02:01 2014 -0700"
      },
      "message": "drivercore: deferral race condition fix\n\ncommit 58b116bce13612e5aa6fcd49ecbd4cf8bb59e835 upstream.\n\nWhen the kernel is built with CONFIG_PREEMPT it is possible to reach a state\nwhen all modules loaded but some driver still stuck in the deferred list\nand there is a need for external event to kick the deferred queue to probe\nthese drivers.\n\nThe issue has been observed on embedded systems with CONFIG_PREEMPT enabled,\naudio support built as modules and using nfsroot for root filesystem.\n\nThe following log fragment shows such sequence when all audio modules\nwere loaded but the sound card is not present since the machine driver has\nfailed to probe due to missing dependency during it\u0027s probe.\nThe board is am335x-evmsk (McASP\u003c-\u003etlv320aic3106 codec) with davinci-evm\nmachine driver:\n\n...\n[   12.615118] davinci-mcasp 4803c000.mcasp: davinci_mcasp_probe: ENTER\n[   12.719969] davinci_evm sound.3: davinci_evm_probe: ENTER\n[   12.725753] davinci_evm sound.3: davinci_evm_probe: snd_soc_register_card\n[   12.753846] davinci-mcasp 4803c000.mcasp: davinci_mcasp_probe: snd_soc_register_component\n[   12.922051] davinci-mcasp 4803c000.mcasp: davinci_mcasp_probe: snd_soc_register_component DONE\n[   12.950839] davinci_evm sound.3: ASoC: platform (null) not registered\n[   12.957898] davinci_evm sound.3: davinci_evm_probe: snd_soc_register_card DONE (-517)\n[   13.099026] davinci-mcasp 4803c000.mcasp: Kicking the deferred list\n[   13.177838] davinci-mcasp 4803c000.mcasp: really_probe: probe_count \u003d 2\n[   13.194130] davinci_evm sound.3: snd_soc_register_card failed (-517)\n[   13.346755] davinci_mcasp_driver_init: LEAVE\n[   13.377446] platform sound.3: Driver davinci_evm requests probe deferral\n[   13.592527] platform sound.3: really_probe: probe_count \u003d 0\n\nIn the log the machine driver enters it\u0027s probe at 12.719969 (this point it\nhas been removed from the deferred lists). McASP driver already executing\nit\u0027s probing (since 12.615118).\nThe machine driver tries to construct the sound card (12.950839) but did\nnot found one of the components so it fails. After this McASP driver\nregisters all the ASoC components (the machine driver still in it\u0027s probe\nfunction after it failed to construct the card) and the deferred work is\nprepared at 13.099026 (note that this time the machine driver is not in the\nlists so it is not going to be handled when the work is executing).\nLastly the machine driver exit from it\u0027s probe and the core places it to\nthe deferred list but there will be no other driver going to load and the\ndeferred queue is not going to be kicked again - till we have external event\nlike connecting USB stick, etc.\n\nThe proposed solution is to try the deferred queue once more when the last\ndriver is asking for deferring and we had drivers loaded while this last\ndriver was probing.\n\nThis way we can avoid drivers stuck in the deferred queue.\n\nSigned-off-by: Grant Likely \u003cgrant.likely@linaro.org\u003e\nReviewed-by: Peter Ujfalusi \u003cpeter.ujfalusi@ti.com\u003e\nTested-by: Peter Ujfalusi \u003cpeter.ujfalusi@ti.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nCc: Mark Brown \u003cbroonie@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "c523abc466c9b7c693e4a528ca2f54c6e931b6a6",
      "tree": "c82c97f255a7e2411d85472ae0abb991599193da",
      "parents": [
        "7f81e91dcddec69dc0124e0753e2ba6c1ae3b6b9",
        "9f48c5a49a9f69c98c3ead6bf820072df3f14732"
      ],
      "author": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Mar 07 11:49:08 2014 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Mar 07 11:49:08 2014 -0800"
      },
      "message": "Merge remote-tracking branch \u0027codeaurora/kk_2.7_rb1.30\u0027 into cm-11.0\n\nConflicts:\n\tarch/arm/mach-msm/acpuclock-krait.c\n\tdrivers/media/video/msm/actuators/msm_actuator.c\n\tdrivers/media/video/msm/flash.c\n\tdrivers/media/video/msm/msm_camera.c\n\tdrivers/media/video/msm/server/msm_cam_server.c\n\tdrivers/media/video/msm/vfe/msm_vfe32.c\n\tdrivers/uio/uio.c\n\tdrivers/video/au1100fb.c\n\tdrivers/video/au1200fb.c\n\tinclude/media/msm_isp.h\n\tinclude/media/radio-iris.h\n\tnet/ipv4/ping.c\n\nChange-Id: Ic027f55c9667ecccaa35ee4a96ad77dbb1e8708f\n"
    },
    {
      "commit": "4e12d515ff158a3f985d953d434623814cbf26c5",
      "tree": "e123d786ae05d229251b32a80fced65e7964e9a7",
      "parents": [
        "0790dc01cc9180b1b3c2b701ab2d3e001323bbfb"
      ],
      "author": {
        "name": "Alistair Strachan",
        "email": "alistair.strachan@imgtec.com",
        "time": "Wed Apr 10 16:35:14 2013 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:24 2014 -0800"
      },
      "message": "sync: Fix a race condition between release_obj and print_obj\n\nBefore this change, a timeline would only be removed from the timeline\nlist *after* the sync driver had its release_obj() called. However, the\ndriver\u0027s release_obj() may free resources needed by print_obj().\n\nAlthough the timeline list is locked when print_obj() is called, it is\nnot locked when release_obj() is called. If one CPU was in print_obj()\nwhen another was in release_obj(), the print_obj() may make unsafe\naccesses.\n\nIt is not actually necessary to hold the timeline list lock when calling\nrelease_obj() if the call is made after the timeline is unlinked from\nthe list, since there is no possibility another thread could be in --\nor enter -- print_obj() for that timeline.\n\nThis change moves the release_obj() call to after the timeline is\nunlinked, preventing the above race from occurring.\n\nSigned-off-by: Alistair Strachan \u003calistair.strachan@imgtec.com\u003e\n"
    },
    {
      "commit": "069398a80c823aa99fa8861bb64289fa268f73fc",
      "tree": "3e7d7c1edce6ecd0d68220b1fb3e907e053b922d",
      "parents": [
        "9992089db7d070adf6950517cbbf21e7e75e954e"
      ],
      "author": {
        "name": "Liam Mark",
        "email": "lmark@codeaurora.org",
        "time": "Wed Jan 16 10:14:40 2013 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:21 2014 -0800"
      },
      "message": "ion: tracing: add ftrace events for ion allocations\n\nAdd ftrace events for ion allocations to make it easier to profile\ntheir performance.\n\nChange-Id: I9f32e076cd50d7d3a145353dfcef74f0f6cdf8a0\nSigned-off-by: Liam Mark \u003clmark@codeaurora.org\u003e\n"
    },
    {
      "commit": "c4967e9f8de6c78b39b1f1268c3c9b47e36de6a6",
      "tree": "145ac537a559255d383096f871b33ce17f74a9e4",
      "parents": [
        "09b3d7972025ff9e654b8cce3453b5d9f205cbf8"
      ],
      "author": {
        "name": "Sagar Dharia",
        "email": "sdharia@codeaurora.org",
        "time": "Fri Jun 07 13:11:54 2013 -0600"
      },
      "committer": {
        "name": "Swetha Chikkaboraiah",
        "email": "schikk@codeaurora.org",
        "time": "Wed Dec 18 14:55:02 2013 +0530"
      },
      "message": "driver core: fix possible missing of device probe\n\nInside bus_add_driver(), one device might be added(device_add()) into\nthe bus or probed which is triggered by deferred probe\njust after completing of driver_attach() and before\n\u0027klist_add_tail(\u0026priv-\u003eknode_bus, \u0026bus-\u003ep-\u003eklist_drivers)\u0027,\nso the device won\u0027t be probed by this driver.\n\nThis patch moves the below line\n\n\t\u0027klist_add_tail(\u0026priv-\u003eknode_bus, \u0026bus-\u003ep-\u003eklist_drivers)\u0027\n\nbefore driver_attach() inside bus_add_driver() to fix the\nproblem.\n\nCRs-Fixed: 588802\nChange-Id: I9250b399d57a89870d1df220b97fdca275e2e1a9\nSigned-off-by: Ming Lei \u003cming.lei@canonical.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nGit-commit: 190888ac01d059e38ffe77a2291d44cafa9016fb\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nSigned-off-by: Sagar Dharia \u003csdharia@codeaurora.org\u003e\nSigned-off-by: Swetha Chikkaboraiah \u003cschikk@codeaurora.org\u003e\n"
    },
    {
      "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"
    }
  ],
  "next": "64ebe987311853ea857a244439de5b947a4b1b07"
}
