)]}'
{
  "log": [
    {
      "commit": "b2d3298e0916fa059712691c85a0e97becc4ab9f",
      "tree": "c7d5ea46a9dbf9cebdb122df4aaf0beda6e7621e",
      "parents": [
        "1a0bdadb4e36abac63b0a9787f372aac30c11a9e",
        "a7f4255f906f60f72e00aad2fb000939449ff32e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 09 14:34:20 2012 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 09 14:34:20 2012 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n"
    },
    {
      "commit": "34efc283a56adaef5756ac93065f46608674ea7d",
      "tree": "7453649cfcc93d384f1761b9f563733aa9043cb9",
      "parents": [
        "79421b4eaef12f0ce392ed5229aff6401ed4196c"
      ],
      "author": {
        "name": "Sjur Brændeland",
        "email": "sjur.brandeland@stericsson.com",
        "time": "Sun Mar 04 08:38:58 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 06 16:27:45 2012 -0500"
      },
      "message": "caif-hsi: Set default MTU to 4096\n\nDefault MTU for CAIF HSI was wrongly set to 15 * 4092 bytes.\nThe patch sets default MTU size to 4096.\n\nSigned-off-by: Sjur Brændeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "332ad43f19848ed653a5e44afa8e2f4a7d34ed44",
      "tree": "6085d8765b9fd53bd9c3734b540325027ebb2076",
      "parents": [
        "576f3cc7fb94a22df2ced8dcba7d48ff42f8e745"
      ],
      "author": {
        "name": "sjur.brandeland@stericsson.com",
        "email": "sjur.brandeland@stericsson.com",
        "time": "Fri Feb 03 04:36:21 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Feb 04 16:06:28 2012 -0500"
      },
      "message": "caif-hsi: Add RX flip buffer\n\nImplement RX flip buffer in the cfhsi_rx_done function,\npiggy-backed frames is also supported.\nThis gives a significant performance gain for CAIF over HSI.\n\nSigned-off-by: Sjur Brændeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eb93992207dadb946a3b5cf4544957dc924a6f58",
      "tree": "8d840ea0e0e5eb3cf6207a2608d434475a9076b4",
      "parents": [
        "3db1cd5c05f35fb43eb134df6f321de4e63141f2"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Dec 19 14:08:01 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 19 22:27:29 2011 -0500"
      },
      "message": "module_param: make bool parameters really bool (net \u0026 drivers/net)\n\nmodule_param(bool) used to counter-intuitively take an int.  In\nfddd5201 (mid-2009) we allowed bool or int/unsigned int using a messy\ntrick.\n\nIt\u0027s time to remove the int/unsigned int option.  For this version\nit\u0027ll simply give a warning, but it\u0027ll break next kernel version.\n\n(Thanks to Joe Perches for suggesting coccinelle for 0/1 -\u003e true/false).\n\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: netdev@vger.kernel.org\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f84ea779c25dabc90956f1c329e5e5c501ea96cc",
      "tree": "8a66cb38fb4f7d04bf5a1c3405c73802eaac0614",
      "parents": [
        "095d2a71e51bd2a3e476232156e8d9c2dbc0596d"
      ],
      "author": {
        "name": "Roar Førde",
        "email": "roar.forde@stericsson.com",
        "time": "Tue Dec 06 12:15:44 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 06 17:21:47 2011 -0500"
      },
      "message": "caif: Replace BUG_ON with WARN_ON.\n\nBUG_ON is too strict in a number of circumstances,\nuse WARN_ON instead. Protocol errors should not halt the system.\n\nSigned-off-by: Sjur Brændeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "095d2a71e51bd2a3e476232156e8d9c2dbc0596d",
      "tree": "beb274f3b78134dad1badf29c0607baece3ce9e4",
      "parents": [
        "005b0b076ff68a10cc7ca8d3ba32def3ae95ad96"
      ],
      "author": {
        "name": "sjur.brandeland@stericsson.com",
        "email": "sjur.brandeland@stericsson.com",
        "time": "Tue Dec 06 12:15:43 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 06 17:21:47 2011 -0500"
      },
      "message": "caif-shm: Bugfixes for caif_shmcore.c\n\nVarious bugfixes for caif_shmcore.c:\n- fix deadlocks due to improper usage of spin-lock\n- add missing spin-lock init\n- don\u0027t call dev_kfree_skb() with irqs disabled,\n  use dev_kfree_skb_irq() instead.\n- fix potential skb null pointer de-reference.\n\nSquashed original patches from:\nRabin Vincent \u003crabin.vincent@stericsson.com\u003e\nDurga Prasada Rao BATHINA \u003cdurgaprasadarao.b@stericcson.com\u003e\nArun Murthy \u003carun.murthy@stericsson.com\u003e\nBibek Basu \u003cbibek.basu@stericsson.com\u003e\n\nSigned-off-by: Sjur Brændeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1e226773c7e79051aa8a48258fe6ae61d20332bf",
      "tree": "290c087b84bcb65832c46a70b860df497193d05f",
      "parents": [
        "87a115783eca7a424eef599d6f10a499f85f59c8"
      ],
      "author": {
        "name": "Christian Auby",
        "email": "christian.auby@stericsson.com",
        "time": "Tue Dec 06 12:15:41 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 06 17:21:46 2011 -0500"
      },
      "message": "caif-hsi: Remove wake line modification when flushing FIFO\n\nRaising wake before flushing FIFO and lowering it after caused a\nspike on AC wake that were sometimes detected and acted upon by the\nmodem. Fixed this by remove wake line modification when flushing FIFO.\n\nSigned-off-by: Sjur Brændeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d5f43c1ea4260807a894150b680fa0a0dd386259",
      "tree": "c777acc31527351630775b1a3f4b5c33322ecb84",
      "parents": [
        "9e998a7550b41b303c5aa5351e66ccd56f2e4c50"
      ],
      "author": {
        "name": "Erwan Bracq",
        "email": "erwan.bracq@stericsson.com",
        "time": "Tue Dec 06 07:25:05 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 06 13:34:12 2011 -0500"
      },
      "message": "caif-spi: Bugfix for dump upon device removal\n\nFix dump upon device removal, by moving deinitialization from\nplatform-device-remove to network-interface-uninit.\n\nSigned-off-by: Sjur Brændeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5ea2ef5f8b006ff9e970327e7fea78f1f5841c44",
      "tree": "10c191239f3e98128f34cc7e85af8faa2909bb93",
      "parents": [
        "5bbed92d3d8dab1f28945eec9fb15b6f50bf8669"
      ],
      "author": {
        "name": "Daniel Martensson",
        "email": "daniel.martensson@stericsson.com",
        "time": "Thu Oct 13 11:29:29 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 19 03:25:43 2011 -0400"
      },
      "message": "caif-hsi: Added recovery check of CA wake status.\n\nAdded recovery check of CA wake status in case of wake up timeout.\nAdded check of CA wake status in case of wake down timeout.\n\nSigned-off-by: Sjur Brændeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5bbed92d3d8dab1f28945eec9fb15b6f50bf8669",
      "tree": "158b09ec74eb3d4c7fa8e46de0576bad21f4d94c",
      "parents": [
        "28bd2049428202cb3bc982536ed3de3c69ae120a"
      ],
      "author": {
        "name": "Daniel Martensson",
        "email": "daniel.martensson@stericsson.com",
        "time": "Thu Oct 13 11:29:28 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 19 03:25:42 2011 -0400"
      },
      "message": "caif-hsi: Added sanity check for length of CAIF frames\n\nAdded sanity check for length of CAIF frames, and tear down of\nCAIF link-layer device upon protocol error.\n\nSigned-off-by: Sjur Brændeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "28bd2049428202cb3bc982536ed3de3c69ae120a",
      "tree": "6e1ce1e4e35c8e7fa448c7e8cb3549393a3d6239",
      "parents": [
        "ca63f8c7512acbd1171bbabefc7a7765ce117939"
      ],
      "author": {
        "name": "Dmitry Tarnyagin",
        "email": "dmitry.tarnyagin@stericsson.com",
        "time": "Thu Oct 13 11:29:27 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 19 03:25:42 2011 -0400"
      },
      "message": "caif-hsi: Make inactivity timeout configurable.\n\nCAIF HSI uses a timer for inactivity. Upon timeout HSI-wake signaling\nis initiated to allow power-down of the HSI block.\n\nSigned-off-by: Sjur Brændeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ca63f8c7512acbd1171bbabefc7a7765ce117939",
      "tree": "68580a6c006818c9a415da560da53201026b3be8",
      "parents": [
        "687b13e98addc99644002703944ec89e94287cb6"
      ],
      "author": {
        "name": "Daniel Martensson",
        "email": "daniel.martensson@stericsson.com",
        "time": "Thu Oct 13 11:29:26 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 19 03:25:41 2011 -0400"
      },
      "message": "caif-hsi: HSI-Platform device register and unregisters itself\n\nPlatform device is no longer removed from caif_hsi at shutdown.\nThe HSI-platform device must do it\u0027s own registration and unregistration.\n\nSigned-off-by: Sjur Brændeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "687b13e98addc99644002703944ec89e94287cb6",
      "tree": "79ef989f2c8bc701edd31969751577ad81852193",
      "parents": [
        "73033c987a8bd0b080509063bb7c130b8941ad73"
      ],
      "author": {
        "name": "Daniel Martensson",
        "email": "daniel.martensson@stericsson.com",
        "time": "Thu Oct 13 11:29:25 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 19 03:25:41 2011 -0400"
      },
      "message": "caif-hsi: Making read and writes asynchronous.\n\nSome platforms do not allow to put HSI block into low-power\nmode when FIFO is not empty. The patch flushes (by reading)\nFIFO at wake down sequence. Asynchronous read and write is\nimplemented for that. As a side effect this will also greatly\nimprove performance.\n\nSigned-off-by: Sjur Brændeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "73033c987a8bd0b080509063bb7c130b8941ad73",
      "tree": "3fc3b0f7160c9f9659eed18721b6770468def367",
      "parents": [
        "fe47f1250805438fa06580c9ce6d37bc4bc595d2"
      ],
      "author": {
        "name": "Dmitry Tarnyagin",
        "email": "dmitry.tarnyagin@stericsson.com",
        "time": "Thu Oct 13 11:29:24 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 19 03:25:41 2011 -0400"
      },
      "message": "caif-hsi: Fix for wakeup condition problem\n\nUnder stressed conditions a race could happen when del_timer_sync() was called\nfrom softirq context at the same time when mod_timer_pending() for the same\ntimer was called from the workqueue. This leaded to a state mismatch in the\nCAIF HSI driver and following unexpected link wakeup procedure.\n\nThe fix puts del_timer_sync() and mod_timer_pending() calls under a spin lock\nto protect against the race condition.\n\nSigned-off-by: Sjur Brændeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fe47f1250805438fa06580c9ce6d37bc4bc595d2",
      "tree": "1e5b35b1e1c6fedad2c9d2eb3ec51b0e10941866",
      "parents": [
        "94230febe47f82331f9493c4fd61085e2a6bf756"
      ],
      "author": {
        "name": "Dmitry Tarnyagin",
        "email": "dmitry.tarnyagin@stericsson.com",
        "time": "Thu Oct 13 11:29:23 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 19 03:25:41 2011 -0400"
      },
      "message": "caif-hsi: Fixing a race condition in the caif_hsi code\n\ncfhsi-\u003etx_state was not protected by a spin lock. TX soft-irq could interrupt\ncfhsi_tx_done_work work leading to inconsistent state of the driver.\n\nSigned-off-by: Sjur Brændeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "94230febe47f82331f9493c4fd61085e2a6bf756",
      "tree": "37ab797d0347f7421cedb0fd8dd75af60de6bdf4",
      "parents": [
        "9e903e085262ffbf1fc44a17ac06058aca03524a"
      ],
      "author": {
        "name": "sjur.brandeland@stericsson.com",
        "email": "sjur.brandeland@stericsson.com",
        "time": "Thu Oct 13 11:29:22 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 19 03:25:40 2011 -0400"
      },
      "message": "caif-hsi: HSI Fix uninitialized data in HSI header\n\nCAIF HSI header may be uninitialized and cause last message to\nbe repeated if transmit size is ~86 bytes long.\n\nSigned-off-by: Sjur Brændeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7ac2ed0ceeafa130f85aa947b271b571c68b9e75",
      "tree": "7f08a891990d46c84b0dd6b665fc0a70451fb6b2",
      "parents": [
        "343e43c02850a3abcd22bd144e5bdbc92fdd273c"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Thu Aug 25 13:22:24 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 28 17:16:13 2011 -0400"
      },
      "message": "caif: Remove OOM messages, use kzalloc\n\nRemove per site OOM messages because they duplicate\nthe generic mm subsystem OOM message.\n\nUse kzalloc instead of kmalloc/memset\nwhen next to the OOM message removals.\n\nReduces object size (allyesconfig ~2%)\n\n$ size -t drivers/net/caif/built-in.o.old net/caif/built-in.o.old\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n  32297\t    700\t   8224\t  41221\t   a105\tdrivers/net/caif/built-in.o.old\n  72159\t   1317\t  20552\t  94028\t  16f4c\tnet/caif/built-in.o.old\n 104456\t   2017\t  28776\t 135249\t  21051\t(TOTALS)\n$ size -t drivers/net/caif/built-in.o.new net/caif/built-in.o.new\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n  31975\t    700\t   8184\t  40859\t   9f9b\tdrivers/net/caif/built-in.o.new\n  70748\t   1317\t  20152\t  92217\t  16839\tnet/caif/built-in.o.new\n 102723\t   2017\t  28336\t 133076\t  207d4\t(TOTALS)\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fa917ff739eace9e1e1c214bd067a7a0f7bc264b",
      "tree": "6581358140d209c8af2abdea4355ac3343489745",
      "parents": [
        "aec27311c23a8ce8eaf490762249d3ed74be83b6"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Thu Jul 07 00:26:31 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 07 00:26:31 2011 -0700"
      },
      "message": "net: fix warning of versioncheck\n\nnet-next-2.6/drivers/net/bnx2x/bnx2x_sp.c: 19 linux/version.h not needed.\nnet-next-2.6/drivers/net/caif/caif_hsi.c: 9 linux/version.h not needed.\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "864834f935b5311004ebbf0c485dbfd10aa9a546",
      "tree": "b8bd9875ca950494e19eaeaf5d6e278ae92362cf",
      "parents": [
        "84cac3989a0fa009fff63c315759006560c91c13"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed Jun 29 05:52:03 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 29 05:52:03 2011 -0700"
      },
      "message": "caif: Fix recieve/receive typo\n\nJust spelling fixes.\n\nActually, a twofer with vaiables/variables as well.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "95cb3656c09fcf6577138337216c27744ebc91e2",
      "tree": "fbcd06dcad2f7b8daeecc649e4b34079ef16adf2",
      "parents": [
        "22c8c9343258feda9ea9ebb9e5f8cbb727b69454"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Fri Jun 24 02:40:08 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 24 02:40:08 2011 -0700"
      },
      "message": "net: Remove unneeded version.h includes from drivers/net/\n\nIt was pointed out by \u0027make versioncheck\u0027 that some includes of\nlinux/version.h are not needed in drivers/net/.\nThis patch removes them.\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "43d620c82985b19008d87a437b4cf83f356264f7",
      "tree": "8ea6d9d1ab5d36e7bc130b5189997e12edb01fb6",
      "parents": [
        "dadbe85ac47f180fa1e3ef93b276ab7938b1a98b"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Thu Jun 16 19:08:06 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 15:48:29 2011 -0700"
      },
      "message": "drivers/net: Remove casts of void *\n\nUnnecessary casts of void * clutter the code.\n\nThese are the remainder casts after several specific\npatches to remove netdev_priv and dev_priv.\n\nDone via coccinelle script (and a little editing):\n\n$ cat cast_void_pointer.cocci\n@@\ntype T;\nT *pt;\nvoid *pv;\n@@\n\n- pt \u003d (T *)pv;\n+ pt \u003d pv;\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nAcked-by: Sjur Brændeland \u003csjur.brandeland@stericsson.com\u003e\nAcked-By: Chris Snook \u003cchris.snook@gmail.com\u003e\nAcked-by: Jon Mason \u003cjdmason@kudzu.us\u003e\nAcked-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nAcked-by: David Dillow \u003cdave@thedillows.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a6b7a407865aab9f849dd99a71072b7cd1175116",
      "tree": "42995f2e25b777e8930b5ac180599f8d4e655df6",
      "parents": [
        "aedfebbaa7a4883dc568d8d32b7b32a0f9833f41"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Jun 06 10:43:46 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 06 22:55:11 2011 -0700"
      },
      "message": "net: remove interrupt.h inclusion from netdevice.h\n\n* remove interrupt.g inclusion from netdevice.h -- not needed\n* fixup fallout, add interrupt.h and hardirq.h back where needed.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e990b37b906b6137d353ef2a918e15e5763d70ec",
      "tree": "e802458ee43d4b0a2b6d39eb25929858ceb7fd61",
      "parents": [
        "34624d6631b6b3a1df16407a847286bb6233a96b",
        "23c79d31a3dd2602ee1a5ff31303b2d7a2d3c159"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 04 13:38:31 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 04 13:38:31 2011 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "55db4c64eddf37e31279ec15fe90314713bc9cfa",
      "tree": "4bd186333049c5fcc1eacdff0efc82ac8b80ff5e",
      "parents": [
        "1fa7b6a29c61358cc2ca6f64cef4aa0e1a7ca74c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 04 06:33:24 2011 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 04 06:33:24 2011 +0900"
      },
      "message": "Revert \"tty: make receive_buf() return the amout of bytes received\"\n\nThis reverts commit b1c43f82c5aa265442f82dba31ce985ebb7aa71c.\n\nIt was broken in so many ways, and results in random odd pty issues.\n\nIt re-introduced the buggy schedule_work() in flush_to_ldisc() that can\ncause endless work-loops (see commit a5660b41af6a: \"tty: fix endless\nwork loop when the buffer fills up\").\n\nIt also used an \"unsigned int\" return value fo the -\u003ereceive_buf()\nfunction, but then made multiple functions return a negative error code,\nand didn\u0027t actually check for the error in the caller.\n\nAnd it didn\u0027t actually work at all.  BenH bisected down odd tty behavior\nto it:\n  \"It looks like the patch is causing some major malfunctions of the X\n   server for me, possibly related to PTYs.  For example, cat\u0027ing a\n   large file in a gnome terminal hangs the kernel for -minutes- in a\n   loop of what looks like flush_to_ldisc/workqueue code, (some ftrace\n   data in the quoted bits further down).\n\n   ...\n\n   Some more data: It -looks- like what happens is that the\n   flush_to_ldisc work queue entry constantly re-queues itself (because\n   the PTY is full ?) and the workqueue thread will basically loop\n   forver calling it without ever scheduling, thus starving the consumer\n   process that could have emptied the PTY.\"\n\nwhich is pretty much exactly the problem we fixed in a5660b41af6a.\n\nMilton Miller pointed out the \u0027unsigned int\u0027 issue.\n\nReported-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nReported-by: Milton Miller \u003cmiltonm@bga.com\u003e\nCc: Stefan Bigler \u003cstefan.bigler@keymile.com\u003e\nCc: Toby Gray \u003ctoby.gray@realvnc.com\u003e\nCc: Felipe Balbi \u003cbalbi@ti.com\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "40d69043fce579378eb185d31445b6ff66abbd93",
      "tree": "c655f9c063874693f0ad3c1265551466c13a07de",
      "parents": [
        "a198c142aacf82acad29e1752191bda8b451a0c7"
      ],
      "author": {
        "name": "Dmitry.Tarnyagin",
        "email": "Dmitry.Tarnyagin@stericsson.com",
        "time": "Wed Jun 01 03:29:18 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 01 21:15:38 2011 -0700"
      },
      "message": "caif: Add CAIF HSI Link layer driver\n\nThis patch introduces the CAIF HSI Protocol Driver for the\nCAIF Link Layer.\n\nThis driver implements a platform driver to accommodate for a\nplatform specific HSI devices. A general platform driver is not\npossible as there are no HSI side Kernel API defined.\n\nSigned-off-by: Sjur Brændeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b1c43f82c5aa265442f82dba31ce985ebb7aa71c",
      "tree": "8b344d8d5355b30e8deff901180edc708a653227",
      "parents": [
        "e9a470f445271eb157ee860a93b062324402fc3a"
      ],
      "author": {
        "name": "Felipe Balbi",
        "email": "balbi@ti.com",
        "time": "Mon Mar 21 12:25:08 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 22 17:31:53 2011 -0700"
      },
      "message": "tty: make receive_buf() return the amout of bytes received\n\nit makes it simpler to keep track of the amount of\nbytes received and simplifies how flush_to_ldisc counts\nthe remaining bytes. It also fixes a bug of lost bytes\non n_tty when flushing too many bytes via the USB\nserial gadget driver.\n\nTested-by: Stefan Bigler \u003cstefan.bigler@keymile.com\u003e\nTested-by: Toby Gray \u003ctoby.gray@realvnc.com\u003e\nSigned-off-by: Felipe Balbi \u003cbalbi@ti.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "5a8b7cdc7424d63467cff1d20461acf48ffcb72f",
      "tree": "c960cba07cad2265476007c6feac315970090bb5",
      "parents": [
        "8ac727c1e65ba98fc2d82bb28288312cc3b7473b"
      ],
      "author": {
        "name": "matt mooney",
        "email": "mfm@muteddisk.com",
        "time": "Fri Jan 14 06:12:45 2011 -0800"
      },
      "committer": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Thu Mar 17 14:05:35 2011 +0100"
      },
      "message": "net: change to new flag variable\n\nReplace EXTRA_CFLAGS with ccflags-y.\n\nSigned-off-by: matt mooney \u003cmfm@muteddisk.com\u003e\nAcked-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nAcked-by: Sjur Braendeland \u003csjur.brandeland@stericsson.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: Michal Marek \u003cmmarek@suse.cz\u003e\n"
    },
    {
      "commit": "cde9efef401563943d5a58eb9b7274bfdc08ca9b",
      "tree": "858a436055612db6282dc63db0fe3ba41147056a",
      "parents": [
        "50401d77ee4904673042dd737eed436067cc23f5",
        "60ebe1568fd15b7ffa101acc645069e27d546ed6"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Mon Jan 03 10:31:54 2011 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Mon Jan 03 10:31:58 2011 +0000"
      },
      "message": "Merge branch \u0027ux500-core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson into devel-stable\n"
    },
    {
      "commit": "11c8ea81cc639c2ea56f94a9cdaa6242ff13a3af",
      "tree": "f9971982565a83bb3e9dd1bb69ff7b0e3a06c3f1",
      "parents": [
        "763eef8b5b64dbbfc0f6273af9a57024069785a9"
      ],
      "author": {
        "name": "Linus Walleij",
        "email": "linus.walleij@stericsson.com",
        "time": "Fri Dec 17 21:16:23 2010 +0100"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@stericsson.com",
        "time": "Wed Dec 22 09:26:49 2010 +0100"
      },
      "message": "ux500: rename modem IRQ and MBOX files\n\nSuffix the U5500 modem IRQ and MBOX files with *-db5500* so that\nwe clearly know the SoC they belong to, in line with the rest of\nthe files in mach-ux500.\n\nCc: Stefan Nilsson \u003cstefan.xk.nilsson@stericsson.com\u003e\nCc: Martin Persson \u003cmartin.persson@stericsson.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\n"
    },
    {
      "commit": "e83293233faf6e49870e7bfdcddf5374cb463d54",
      "tree": "54573fbe99dde63fbf2e3e9ceebf5d730b899537",
      "parents": [
        "4f58605e6b7ae30a0d048af6a868582768e6754c"
      ],
      "author": {
        "name": "Kim Lilliestierna XX",
        "email": "kim.xx.lilliestierna@stericsson.com",
        "time": "Tue Nov 30 09:11:22 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 08 08:35:29 2010 -0800"
      },
      "message": "CAIF: Fix U5500 compile error for shared memory driver\n\nRearrange pr_fmt so it compiles.\n\nSigned-off-by: Sjur Braendeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8ea91226eccf6c8ab9c55054b24c21021d4d9d19",
      "tree": "70fd9d9479d09c1dcf7d97264ebc03fd66e9cc11",
      "parents": [
        "7d8e76bf9ac3604897f0ce12e8bf09b68c2a2c89"
      ],
      "author": {
        "name": "Vasiliy Kulikov",
        "email": "segoon@openwall.com",
        "time": "Thu Nov 18 10:35:58 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 18 10:35:58 2010 -0800"
      },
      "message": "net: caif: spi: fix potential NULL dereference\n\nalloc_netdev() is not checked here for NULL return value.  dev is\ncheck instead.  It might lead to NULL dereference of ndev.\n\nSigned-off-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2c24a5d1b4f48900f3ed1b1ad70c51f1983df822",
      "tree": "c40f3756a0b64af118e64dd8f345c6e6649e66a8",
      "parents": [
        "f2527ec436fd675f08a8e7434f6e940688cb96d0"
      ],
      "author": {
        "name": "Sjur Brændeland",
        "email": "sjur.brandeland@stericsson.com",
        "time": "Mon Nov 01 11:52:48 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 03 18:50:03 2010 -0700"
      },
      "message": "caif: SPI-driver bugfix - incorrect padding.\n\nSigned-off-by: Sjur Braendeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1933f0c09438ed8ccfee2281b814d9b26cef336c",
      "tree": "b059ba9d441f5e352807e7a477405bce13d0bd63",
      "parents": [
        "e57731f4dda7a5d0c82ec3cc9ba91691b826b76e"
      ],
      "author": {
        "name": "Amarnath Revanna",
        "email": "amarnath.bangalore.revanna@stericsson.com",
        "time": "Wed Oct 27 08:34:42 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 27 12:29:53 2010 -0700"
      },
      "message": "caif-u5500: Build config for CAIF shared mem driver\n\nSigned-off-by: Sjur Braendeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e57731f4dda7a5d0c82ec3cc9ba91691b826b76e",
      "tree": "66bd9ce2cf968ad24b3246611fd197513937a7ed",
      "parents": [
        "dfae55d6a5873718fe0d996fc929519073a85ff7"
      ],
      "author": {
        "name": "Amarnath Revanna",
        "email": "amarnath.bangalore.revanna@stericsson.com",
        "time": "Wed Oct 27 08:34:41 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 27 12:29:52 2010 -0700"
      },
      "message": "caif-u5500: CAIF shared memory mailbox interface\n\nSigned-off-by: Sjur Braendeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dfae55d6a5873718fe0d996fc929519073a85ff7",
      "tree": "3ce631876e11a25c7b35245a977a005424adb74c",
      "parents": [
        "a10c02036f82b1fa30d69a62f7c7d9a927e8adbc"
      ],
      "author": {
        "name": "sjur.brandeland@stericsson.com",
        "email": "sjur.brandeland@stericsson.com",
        "time": "Wed Oct 27 08:34:40 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 27 12:29:52 2010 -0700"
      },
      "message": "caif-u5500: CAIF shared memory transport protocol\n\nSigned-off-by: Sjur Braendeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6038f373a3dc1f1c26496e60b6c40b164716f07e",
      "tree": "a0d3bbd026eea41b9fc36b8c722cbaf56cd9f825",
      "parents": [
        "1ec5584e3edf9c4bf2c88c846534d19cf986ba11"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sun Aug 15 18:52:59 2010 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Oct 15 15:53:27 2010 +0200"
      },
      "message": "llseek: automatically add .llseek fop\n\nAll file_operations should get a .llseek operation so we can make\nnonseekable_open the default for future file operations without a\n.llseek pointer.\n\nThe three cases that we can automatically detect are no_llseek, seq_lseek\nand default_llseek. For cases where we can we can automatically prove that\nthe file offset is always ignored, we use noop_llseek, which maintains\nthe current behavior of not returning an error from a seek.\n\nNew drivers should normally not use noop_llseek but instead use no_llseek\nand call nonseekable_open at open time.  Existing drivers can be converted\nto do the same when the maintainer knows for certain that no user code\nrelies on calling seek on the device file.\n\nThe generated code is often incorrectly indented and right now contains\ncomments that clarify for each added line why a specific variant was\nchosen. In the version that gets submitted upstream, the comments will\nbe gone and I will manually fix the indentation, because there does not\nseem to be a way to do that using coccinelle.\n\nSome amount of new code is currently sitting in linux-next that should get\nthe same modifications, which I will do at the end of the merge window.\n\nMany thanks to Julia Lawall for helping me learn to write a semantic\npatch that does all this.\n\n\u003d\u003d\u003d\u003d\u003d begin semantic patch \u003d\u003d\u003d\u003d\u003d\n// This adds an llseek\u003d method to all file operations,\n// as a preparation for making no_llseek the default.\n//\n// The rules are\n// - use no_llseek explicitly if we do nonseekable_open\n// - use seq_lseek for sequential files\n// - use default_llseek if we know we access f_pos\n// - use noop_llseek if we know we don\u0027t access f_pos,\n//   but we still want to allow users to call lseek\n//\n@ open1 exists @\nidentifier nested_open;\n@@\nnested_open(...)\n{\n\u003c+...\nnonseekable_open(...)\n...+\u003e\n}\n\n@ open exists@\nidentifier open_f;\nidentifier i, f;\nidentifier open1.nested_open;\n@@\nint open_f(struct inode *i, struct file *f)\n{\n\u003c+...\n(\nnonseekable_open(...)\n|\nnested_open(...)\n)\n...+\u003e\n}\n\n@ read disable optional_qualifier exists @\nidentifier read_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\nexpression E;\nidentifier func;\n@@\nssize_t read_f(struct file *f, char *p, size_t s, loff_t *off)\n{\n\u003c+...\n(\n   *off \u003d E\n|\n   *off +\u003d E\n|\n   func(..., off, ...)\n|\n   E \u003d *off\n)\n...+\u003e\n}\n\n@ read_no_fpos disable optional_qualifier exists @\nidentifier read_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\n@@\nssize_t read_f(struct file *f, char *p, size_t s, loff_t *off)\n{\n... when !\u003d off\n}\n\n@ write @\nidentifier write_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\nexpression E;\nidentifier func;\n@@\nssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off)\n{\n\u003c+...\n(\n  *off \u003d E\n|\n  *off +\u003d E\n|\n  func(..., off, ...)\n|\n  E \u003d *off\n)\n...+\u003e\n}\n\n@ write_no_fpos @\nidentifier write_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\n@@\nssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off)\n{\n... when !\u003d off\n}\n\n@ fops0 @\nidentifier fops;\n@@\nstruct file_operations fops \u003d {\n ...\n};\n\n@ has_llseek depends on fops0 @\nidentifier fops0.fops;\nidentifier llseek_f;\n@@\nstruct file_operations fops \u003d {\n...\n .llseek \u003d llseek_f,\n...\n};\n\n@ has_read depends on fops0 @\nidentifier fops0.fops;\nidentifier read_f;\n@@\nstruct file_operations fops \u003d {\n...\n .read \u003d read_f,\n...\n};\n\n@ has_write depends on fops0 @\nidentifier fops0.fops;\nidentifier write_f;\n@@\nstruct file_operations fops \u003d {\n...\n .write \u003d write_f,\n...\n};\n\n@ has_open depends on fops0 @\nidentifier fops0.fops;\nidentifier open_f;\n@@\nstruct file_operations fops \u003d {\n...\n .open \u003d open_f,\n...\n};\n\n// use no_llseek if we call nonseekable_open\n////////////////////////////////////////////\n@ nonseekable1 depends on !has_llseek \u0026\u0026 has_open @\nidentifier fops0.fops;\nidentifier nso ~\u003d \"nonseekable_open\";\n@@\nstruct file_operations fops \u003d {\n...  .open \u003d nso, ...\n+.llseek \u003d no_llseek, /* nonseekable */\n};\n\n@ nonseekable2 depends on !has_llseek @\nidentifier fops0.fops;\nidentifier open.open_f;\n@@\nstruct file_operations fops \u003d {\n...  .open \u003d open_f, ...\n+.llseek \u003d no_llseek, /* open uses nonseekable */\n};\n\n// use seq_lseek for sequential files\n/////////////////////////////////////\n@ seq depends on !has_llseek @\nidentifier fops0.fops;\nidentifier sr ~\u003d \"seq_read\";\n@@\nstruct file_operations fops \u003d {\n...  .read \u003d sr, ...\n+.llseek \u003d seq_lseek, /* we have seq_read */\n};\n\n// use default_llseek if there is a readdir\n///////////////////////////////////////////\n@ fops1 depends on !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier readdir_e;\n@@\n// any other fop is used that changes pos\nstruct file_operations fops \u003d {\n... .readdir \u003d readdir_e, ...\n+.llseek \u003d default_llseek, /* readdir is present */\n};\n\n// use default_llseek if at least one of read/write touches f_pos\n/////////////////////////////////////////////////////////////////\n@ fops2 depends on !fops1 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read.read_f;\n@@\n// read fops use offset\nstruct file_operations fops \u003d {\n... .read \u003d read_f, ...\n+.llseek \u003d default_llseek, /* read accesses f_pos */\n};\n\n@ fops3 depends on !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier write.write_f;\n@@\n// write fops use offset\nstruct file_operations fops \u003d {\n... .write \u003d write_f, ...\n+\t.llseek \u003d default_llseek, /* write accesses f_pos */\n};\n\n// Use noop_llseek if neither read nor write accesses f_pos\n///////////////////////////////////////////////////////////\n\n@ fops4 depends on !fops1 \u0026\u0026 !fops2 \u0026\u0026 !fops3 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read_no_fpos.read_f;\nidentifier write_no_fpos.write_f;\n@@\n// write fops use offset\nstruct file_operations fops \u003d {\n...\n .write \u003d write_f,\n .read \u003d read_f,\n...\n+.llseek \u003d noop_llseek, /* read and write both use no f_pos */\n};\n\n@ depends on has_write \u0026\u0026 !has_read \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier write_no_fpos.write_f;\n@@\nstruct file_operations fops \u003d {\n... .write \u003d write_f, ...\n+.llseek \u003d noop_llseek, /* write uses no f_pos */\n};\n\n@ depends on has_read \u0026\u0026 !has_write \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read_no_fpos.read_f;\n@@\nstruct file_operations fops \u003d {\n... .read \u003d read_f, ...\n+.llseek \u003d noop_llseek, /* read uses no f_pos */\n};\n\n@ depends on !has_read \u0026\u0026 !has_write \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\n@@\nstruct file_operations fops \u003d {\n...\n+.llseek \u003d noop_llseek, /* no read or write fn */\n};\n\u003d\u003d\u003d\u003d\u003d End semantic patch \u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Julia Lawall \u003cjulia@diku.dk\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "9dc002d8d9c2af837e789b5bb88c61a8b32c1be8",
      "tree": "3511fa95dce68606a017ad70890fca4a274212b0",
      "parents": [
        "aa25ab7d943a5e1e6bcc2a65ff6669144f5b5d60"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Tue Aug 24 12:21:13 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 24 12:21:13 2010 -0700"
      },
      "message": "caif-driver: add HAS_DMA dependency\n\nFix this error on an s390 allyesconfig build:\n\nlinux-2.6/drivers/net/caif/caif_spi.c:98:\n    undefined reference to `dma_free_coherent\u0027\n\nCc: Sjur Braendeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "98a21ef0abb666eeb12cf67e60203befb07e4210",
      "tree": "49951f6b93ccb4a2b091c5ebe9907ef609abeaf1",
      "parents": [
        "24e263adba5fea744a3965ab1ca44620b74cb9c8"
      ],
      "author": {
        "name": "Sjur Braendeland",
        "email": "sjur.brandeland@stericsson.com",
        "time": "Tue Aug 10 07:36:47 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 10 16:39:28 2010 -0700"
      },
      "message": "caif-spi: Bugfix SPI_DATA_POS settings were inverted.\n\nThe setting of SPI_DATA_POS depending on CONFIG_CAIF_SPI_SYNC\nwhere inverted.\n\nSigned-off-by: Sjur Braendeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7b7b0b90592a023ac8946b29cca871bf17741fab",
      "tree": "72637e6bd28dcff682a0b02a0112102523ff4b22",
      "parents": [
        "652c6717465dbd0091dbe04ed9be2f7e59c03c7d"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Sun Jul 25 21:23:59 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 26 21:05:03 2010 -0700"
      },
      "message": "caif: handle snprintf() return\n\nsnprintf() returns the number of bytes that would have been written.  It\ncan be larger than the size of the buffer.  The current code won\u0027t\noverflow, but people cut and paste this stuff so lets do it right and\nalso make the static checkers happy.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cb8b6a937712cc6c4a23766ddb74171bb19b528c",
      "tree": "37caf70b6dcf89e8fda4188bef9a827c39d7a5cb",
      "parents": [
        "54cbb1cab88ef20c284eef8c24a6d86fad989464"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Jul 12 10:50:05 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 12 21:13:35 2010 -0700"
      },
      "message": "drivers/net/caif: Remove unnecessary casts of private_data\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "529d6dad5bc69de14cdd24831e2a14264e93daa4",
      "tree": "a89d7b8cdd3692e96a64c5d7196bcefc9f1e7f24",
      "parents": [
        "01eebb53a65996dfbfb892bf5eb21ae831fbe3a6"
      ],
      "author": {
        "name": "Sjur Braendeland",
        "email": "sjur.brandeland@stericsson.com",
        "time": "Tue Jun 29 00:08:21 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 29 00:08:21 2010 -0700"
      },
      "message": "caif-driver: Add CAIF-SPI Protocol driver.\n\nThis patch introduces the CAIF SPI Protocol Driver for\nCAIF Link Layer.\n\nThis driver implements a platform driver to accommodate for a\nplatform specific SPI device. A general platform driver is not\npossible as there are no SPI Slave side Kernel API defined.\nA sample CAIF SPI Platform device can be found in\n.../Documentation/networking/caif/spi_porting.txt\n\nSigned-off-by: Sjur Braendeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "01eebb53a65996dfbfb892bf5eb21ae831fbe3a6",
      "tree": "958201b54f52778159010d55006c52d00955d654",
      "parents": [
        "cfc9b16b75f2cef1e0b283fd2b52ddde568401ab"
      ],
      "author": {
        "name": "Sjur Braendeland",
        "email": "sjur.brandeland@stericsson.com",
        "time": "Sat Jun 26 11:31:28 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 29 00:06:38 2010 -0700"
      },
      "message": "caif: Kconfig and Makefile fixes\n\nUse \"depends on\" instead of \"if\" in Kconfig files.\nFixed CAIF debug flag, and removed unnecessary clean-* options.\n\nSigned-off-by: Sjur Braendeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2aa40aef9debc77d55cc87a50d335b6fe97fbeb0",
      "tree": "0dccf47cf6cb861c7efa72601fab9511760c7e74",
      "parents": [
        "a7da1f55a826c621251874e7684c234972fc3216"
      ],
      "author": {
        "name": "Sjur Braendeland",
        "email": "sjur.brandeland@stericsson.com",
        "time": "Thu Jun 17 06:55:40 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jun 20 19:46:06 2010 -0700"
      },
      "message": "caif: Use link layer MTU instead of fixed MTU\n\nPreviously CAIF supported maximum transfer size of ~4050.\nThe transfer size is now calculated dynamically based on the\nlink layers mtu size.\n\nSigned-off-by: Sjur Braendeland@stericsson.com\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c1f8fc57c046903b5e7c891f2922592d5f775af3",
      "tree": "fed7e2ce4c750b324ab5d18cab76bae6a9c1470a",
      "parents": [
        "7c25492871a50f9f72f4d1350bdea53169024864"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Mon May 31 21:09:33 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 02 05:16:22 2010 -0700"
      },
      "message": "caif: add newlines after declarations in caif_serial.c\n\nI added newlines after the declarations in caif_serial.c.  This is\nnormal kernel style, although I can\u0027t see anywhere it\u0027s documented.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7c25492871a50f9f72f4d1350bdea53169024864",
      "tree": "fb068a702d31e1bd80f2d2d0eca74f232ead6ee7",
      "parents": [
        "79640a4ca6955e3ebdb7038508fa7a0cd7fa5527"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Mon May 31 21:08:55 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 02 05:16:21 2010 -0700"
      },
      "message": "caif: remove unneeded variable from caif_net_open()\n\nWe don\u0027t use the \"ser\" variable so I\u0027ve removed it.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nAcked-by: Sjur Braendeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d3f744e0d6c1c27a10cdceac6eb946122188dbc9",
      "tree": "29ea75a920eba781d617c4e1ef30298952a73d27",
      "parents": [
        "a4900ac9f7d10ad062e54dd03125e3619e0ac17a"
      ],
      "author": {
        "name": "Sjur Braendeland",
        "email": "sjur.brandeland@stericsson.com",
        "time": "Wed Apr 28 08:54:34 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 28 12:55:10 2010 -0700"
      },
      "message": "caif: Ldisc add permission check and mem-alloc error check\n\nChanges:\n   o Added permission checks for installing. CAP_SYS_ADMIN and\n     CAP_SYS_TTY_CONFIG can install the ldisc.\n   o Check if allocation of skb was successful.\n\nSigned-off-by: Sjur Braendeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e31d5a05948e4478ba8396063d1e1f39880928e2",
      "tree": "c164c122d3b6500b40ea9a695009215714d23ae2",
      "parents": [
        "c93f09402106f22601838ee2bb0d02bae934b5e5"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Wed Apr 07 16:50:00 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 07 16:50:00 2010 -0700"
      },
      "message": "caif: tty\u0027s are kref objects so take a reference\n\nI don\u0027t think this can be abused in this case but do things properly.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c93f09402106f22601838ee2bb0d02bae934b5e5",
      "tree": "5e8471a9bcdbf63e170380163a987b51f82719d7",
      "parents": [
        "298b9e44be9592e94c0e69a5d3893cd11f5484fa"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Wed Apr 07 16:49:31 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 07 16:49:31 2010 -0700"
      },
      "message": "caif: check write operations\n\nwrite is optional for a tty device. Check that we have a write op rather\nthan calling NULL.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9b27105b4a44c54bf91ecd7d0315034ae75684f7",
      "tree": "f23691d85d007358a7e52b92f7f4f6a1d6d9f00c",
      "parents": [
        "edc7616c307ad315159a8aa050142237f524e079"
      ],
      "author": {
        "name": "Sjur Braendeland",
        "email": "sjur.brandeland@stericsson.com",
        "time": "Tue Mar 30 13:56:30 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 30 19:08:50 2010 -0700"
      },
      "message": "net-caif-driver: add CAIF serial driver (ldisc)\n\nAdd CAIF Serial driver. This driver is implemented as a line discipline.\n\ncaif_serial uses the following module parameters:\nser_use_stx - specifies if STart of frame eXtension is in use.\nser_loop    - sets the interface in loopback mode.\n\nSigned-off-by: Sjur Braendeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ]
}
