)]}'
{
  "log": [
    {
      "commit": "fb875333c80942455551f690f306a899ceeee5df",
      "tree": "8c830ff61d8e9da4f24dad49d8d8ea0816693297",
      "parents": [
        "2a97e6b735416054dcc1b3cf7f4d358f43b45c6e"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Jan 07 18:02:53 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 07 18:02:53 2009 -0800"
      },
      "message": "dvb: update network device to current API\n\nUse internal network_device_stats that exist in network device and\nnet_device_ops. Compile tested only.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2a97e6b735416054dcc1b3cf7f4d358f43b45c6e",
      "tree": "95a9f1b4b94d0adf06a7874c3f6b67f99fadd5af",
      "parents": [
        "dfefe02bfd865c18eeaebc07ff1cd50120c40c20"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Jan 07 18:02:26 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 07 18:02:26 2009 -0800"
      },
      "message": "windbond: convert devices to new API\n\nConvert to net_device_ops and internal net_device_stats\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dfefe02bfd865c18eeaebc07ff1cd50120c40c20",
      "tree": "0a79b3aa5845a6192b4d1a8b5e54946cc9e2b06c",
      "parents": [
        "2765df58986ac4382b70bf31be70a64a7a9eaf4c"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Jan 07 18:01:40 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 07 18:01:40 2009 -0800"
      },
      "message": "uli526x: convert devices to new API\n\nConvert to net_device_ops and internal net_device_stats\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2765df58986ac4382b70bf31be70a64a7a9eaf4c",
      "tree": "daebcb9cbf3d10bdc70f0ac19828a827a15662ff",
      "parents": [
        "1034c9f69ae7b61d408836e60c6a2b5afc6e48bc"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Jan 07 18:01:20 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 07 18:01:20 2009 -0800"
      },
      "message": "dmfe: convert to new API\n\nConvert to internal net_device-stats and net_device_ops\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1034c9f69ae7b61d408836e60c6a2b5afc6e48bc",
      "tree": "2e4176b940114a6164019d5c7fdfd5b93fb9d63b",
      "parents": [
        "0b9a5b05b23587c81e2985bc89f6f1a502c1991e"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Jan 07 18:00:55 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 07 18:00:55 2009 -0800"
      },
      "message": "xircom: convert devices to new API\n\nConvert to net_device_ops and internal net_device_stats\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0b9a5b05b23587c81e2985bc89f6f1a502c1991e",
      "tree": "8c4002b5fb73edb974e4ea0a672b5af5e0f56db5",
      "parents": [
        "90d8743d03593520ceb5e8fd8cf3b86072518f83"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Jan 07 18:00:31 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 07 18:00:31 2009 -0800"
      },
      "message": "de4x5: convert to net_device_ops\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "90d8743d03593520ceb5e8fd8cf3b86072518f83",
      "tree": "793491692cda8b06ea7ef44334d231c8afab00ae",
      "parents": [
        "f4266cf34d7b903e2e11b317f2e548a2acc4cd4e"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Jan 07 17:59:47 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 07 17:59:47 2009 -0800"
      },
      "message": "de2104x: convert to net_device_ops\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f4266cf34d7b903e2e11b317f2e548a2acc4cd4e",
      "tree": "83b1cd22dbab5cb44e6cecebbf3b5e1eae17c2f1",
      "parents": [
        "633a277e2a06b4cc10b1373380b09613c702523c"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Jan 07 17:59:15 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 07 17:59:15 2009 -0800"
      },
      "message": "tulip: convert devices to new API\n\nConvert to net_device_ops and internal net_device_stats\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "633a277e2a06b4cc10b1373380b09613c702523c",
      "tree": "9671b2cfc1d50c17aed139d5d1889d1237f0d955",
      "parents": [
        "4fc8006e003a9bcb09015179e1cfc42420d88872"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Jan 07 17:58:43 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 07 17:58:43 2009 -0800"
      },
      "message": "sundance: update to net_device_ops\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4fc8006e003a9bcb09015179e1cfc42420d88872",
      "tree": "8a18e627e4108a9963e353799329fcbc9cd994a4",
      "parents": [
        "e287157f15f3ab9cda4cfe334fee41c7b758966f"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Jan 07 17:58:17 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 07 17:58:17 2009 -0800"
      },
      "message": "starfire: update to net_device_ops\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e287157f15f3ab9cda4cfe334fee41c7b758966f",
      "tree": "69d036e8311a0605ce3c70044c7aeceb66a61ebc",
      "parents": [
        "2b7d0c7039e9fd1bd64ba3ef2676f06b068eba34"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Jan 07 17:57:47 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 07 17:57:47 2009 -0800"
      },
      "message": "fealnx: update to net_device_ops\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2b7d0c7039e9fd1bd64ba3ef2676f06b068eba34",
      "tree": "0d5a8ac49f7671be6a405632f7a014cbc1c863ae",
      "parents": [
        "d49d19c962c5f409a7dc771f185afd22cdb49edf"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Jan 07 17:57:19 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 07 17:57:19 2009 -0800"
      },
      "message": "natsemi: update to net_device_ops\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d49d19c962c5f409a7dc771f185afd22cdb49edf",
      "tree": "a831c7e5ddaf3df5b0d4686d37c9eb2064d83bfd",
      "parents": [
        "a7d1de25dc2e823c741cf1ae86a59379ca5a6804"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Jan 07 17:56:54 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 07 17:56:54 2009 -0800"
      },
      "message": "sb1000: update to net_device_ops\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a7d1de25dc2e823c741cf1ae86a59379ca5a6804",
      "tree": "c5d00f6ff468e686335ee1b95d890a9caa0a188f",
      "parents": [
        "97488c5b2d5b2121da3bc386558488598fb0ce23"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Jan 07 17:36:07 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 07 17:36:07 2009 -0800"
      },
      "message": "ns83820: fix net_device_ops support\n\nThe vlan_rx_register fuction is now in net_device_ops\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "97488c5b2d5b2121da3bc386558488598fb0ce23",
      "tree": "4661d21d229db91f7598025103eecb9ce275e6af",
      "parents": [
        "b8aa76a2bd9782e1a45e96602812910d5cfe7b52"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Jan 07 17:35:41 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 07 17:35:41 2009 -0800"
      },
      "message": "sis190: update to net_device_ops\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b8aa76a2bd9782e1a45e96602812910d5cfe7b52",
      "tree": "8a1ac18a31723e1d180b7d317a3b49c7103425e7",
      "parents": [
        "1f5ec79b8ec357516fbe14904a47f619bb3b543d"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Jan 07 17:34:36 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 07 17:34:36 2009 -0800"
      },
      "message": "de600: update to net_device_ops\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1f5ec79b8ec357516fbe14904a47f619bb3b543d",
      "tree": "95258dbcda252206cef504eed690d1ad882e99ef",
      "parents": [
        "8bdd5553660bd07d7904af967893f8d487cc6c44"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Jan 07 17:30:09 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 07 17:30:09 2009 -0800"
      },
      "message": "enc28j60: update to net_device_ops\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8bdd5553660bd07d7904af967893f8d487cc6c44",
      "tree": "6fbde95234b9e12b1061db86a093ec4c44919f88",
      "parents": [
        "3bc124dd02007290782a154ed3d12847489aae77"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Jan 07 17:29:46 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 07 17:29:46 2009 -0800"
      },
      "message": "typhoon: update to net_device_ops\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3bc124dd02007290782a154ed3d12847489aae77",
      "tree": "3542cb61c10263e13bdac5504cb1e0444796124f",
      "parents": [
        "d9a811d5fd9ff6c5fec17dea559a6ea697ae207e"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Jan 07 17:29:16 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 07 17:29:16 2009 -0800"
      },
      "message": "pcnet32: update to net_device_ops\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d9a811d5fd9ff6c5fec17dea559a6ea697ae207e",
      "tree": "8152fe5d918ba0a68cd7db292d20b27375aea577",
      "parents": [
        "2f89d12e98c9248ce967f4c6a86b06dbbcf013cd"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Jan 07 17:28:54 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 07 17:28:54 2009 -0800"
      },
      "message": "sungem: update to net_device_ops\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2f89d12e98c9248ce967f4c6a86b06dbbcf013cd",
      "tree": "6ed637cca8857c53f728f343de63fdc7b61ec6cd",
      "parents": [
        "805524cbcf8d756ec1969b6e16b945103cd4c94e"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Jan 07 17:28:35 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 07 17:28:35 2009 -0800"
      },
      "message": "sunhme: update to net_device_ops\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "805524cbcf8d756ec1969b6e16b945103cd4c94e",
      "tree": "aef02219adc244b2e5f06d4582715f306584d9a0",
      "parents": [
        "391c5e6e1822810900c33165442af8053a8ae054"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Jan 07 17:27:39 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 07 17:27:39 2009 -0800"
      },
      "message": "epic100: update to net_device_ops\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "391c5e6e1822810900c33165442af8053a8ae054",
      "tree": "087dd4b1086f83be9a417619694bad592da5cb50",
      "parents": [
        "ed8cf436caccb7f464135b0a9eba0e7624299826"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Jan 07 17:27:15 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 07 17:27:15 2009 -0800"
      },
      "message": "tlan: update to net_device_ops\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ed8cf436caccb7f464135b0a9eba0e7624299826",
      "tree": "1be27752908fc5f7411be6e05b3294abd49155cf",
      "parents": [
        "04fb5f735e70a27f7dd06a5e349c003fd5d4bfa2"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Jan 07 17:26:48 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 07 17:26:48 2009 -0800"
      },
      "message": "plip: update to net_device_ops\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "04fb5f735e70a27f7dd06a5e349c003fd5d4bfa2",
      "tree": "1a7637586dd21866c446981531bd0d6a76f6215b",
      "parents": [
        "83d6f0352cc47b41d42cc1d6fb31bc8d9753b772"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Jan 07 17:26:14 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 07 17:26:14 2009 -0800"
      },
      "message": "ipg: update to net_device_ops\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "83d6f0352cc47b41d42cc1d6fb31bc8d9753b772",
      "tree": "582f1b8f964501a895c4e2deb81ad976424d18da",
      "parents": [
        "ab638e69ff7d4882ac152ada17eab340c93df080"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Jan 07 17:25:41 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 07 17:25:41 2009 -0800"
      },
      "message": "cassini: update to net_device_ops\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ab638e69ff7d4882ac152ada17eab340c93df080",
      "tree": "997dec6e9092c61d4e61de286c21cc77b0480c14",
      "parents": [
        "b4d7f0a46bc0e30514b1779caff0fce6e424c4b5"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Jan 07 17:24:34 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 07 17:24:34 2009 -0800"
      },
      "message": "phonet: update to net_device_ops\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b4d7f0a46bc0e30514b1779caff0fce6e424c4b5",
      "tree": "7dcd0b1620b62e11aa1d7346df379ce369d5f19e",
      "parents": [
        "43a67304a3e882ec297e08159f8698be59a235fe"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Jan 07 17:23:17 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 07 17:23:17 2009 -0800"
      },
      "message": "bluetooth: driver API update\n\nConvert to net_device_ops and use internal net_device_stats in bnep\ndevice. \n\nNote: no need for bnep_net_ioctl since if ioctl is not set, then\ndev_ifsioc handles it by returning -EOPNOTSUPP\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "43a67304a3e882ec297e08159f8698be59a235fe",
      "tree": "c287f437f10a0375819765795a6964160512c101",
      "parents": [
        "03b35ccb7c41ccc256631ff33e6887b7be88137b"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Jan 07 17:22:19 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 07 17:22:19 2009 -0800"
      },
      "message": "appletalk: convert ipddp to net_device_ops\n\nUse internal element in network device for stats as well.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "03b35ccb7c41ccc256631ff33e6887b7be88137b",
      "tree": "6f32912494e76d3c041d2b56ae7acb7e1d7b6691",
      "parents": [
        "9ac32e1bc0518b01b47dd34a733dce8634a38ed3"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Jan 07 17:21:44 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 07 17:21:44 2009 -0800"
      },
      "message": "appletalk: convert aarp to net_device_ops\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9ac32e1bc0518b01b47dd34a733dce8634a38ed3",
      "tree": "4316ea3a959cab393289c67364ee63f06e34543c",
      "parents": [
        "92dc8cc317844e5681f5d8990896720ed2b21cc8"
      ],
      "author": {
        "name": "Jaswinder Singh Rajput",
        "email": "jaswinderrajput@gmail.com",
        "time": "Wed Jan 07 12:59:17 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 07 12:59:17 2009 -0800"
      },
      "message": "firmware: convert e100 driver to request_firmware()\n\nThanks to David Woodhouse for help.\n\nSigned-off-by: Jaswinder Singh Rajput \u003cjaswinderrajput@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "92dc8cc317844e5681f5d8990896720ed2b21cc8",
      "tree": "0ada7a2c950ae2ccded562fec8561205fb25470f",
      "parents": [
        "464f4daae75c87ed281b421caa019f67f459b85f"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Jan 06 12:56:50 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 06 16:49:02 2009 -0800"
      },
      "message": "ieee1394: use internal network device stats\n\nUse the network_device_stats field in network_device.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "464f4daae75c87ed281b421caa019f67f459b85f",
      "tree": "377d314b8b5c892fef1d022914c43fe5d4bd0b17",
      "parents": [
        "79994c990674edd9a1e8b2aad21e8eb8e3b43748"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Jan 06 12:55:54 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 06 16:48:46 2009 -0800"
      },
      "message": "ieee1394: remove unneeded last_rx\n\nLast_rx is now done if needed inside bonding.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "79994c990674edd9a1e8b2aad21e8eb8e3b43748",
      "tree": "ed577651c8681f062b3a166e97afd940e9bada2e",
      "parents": [
        "d442ad4ab1c86b453e0f44fb3de0932f386ab3e6"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Jan 06 12:54:56 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 06 16:48:30 2009 -0800"
      },
      "message": "ieee1394: convert to net_device_ops\n\nConvert to net_device_ops.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d442ad4ab1c86b453e0f44fb3de0932f386ab3e6",
      "tree": "ff5ddcc2c15555f7fc3cb057818658c7f42bf402",
      "parents": [
        "f430e49e9e0cf821c090abedb399b80ebf0cb4c6"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Jan 06 16:45:26 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 06 16:45:26 2009 -0800"
      },
      "message": "dsa: convert to net_device_ops (v2)\n\nConvert this driver to use net_device_ops\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f430e49e9e0cf821c090abedb399b80ebf0cb4c6",
      "tree": "50b0d36acc55dbe17cce4157c1ef2ddeb2c81b4c",
      "parents": [
        "1fa17d4ba43d7e5aab5e90777b07da06524f6748"
      ],
      "author": {
        "name": "Li Yang",
        "email": "leoli@freescale.com",
        "time": "Tue Jan 06 14:08:10 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 06 14:08:10 2009 -0800"
      },
      "message": "gianfar: ensure ECNTRL[R100] is cleared on link state change\n\nWhen changing the link between 100Mbps and 1Gbps in SGMII mode it was\nfound out that the link would stop working.  The issue is that ECNTRL[R100]\nneeds to be cleared when in 1Gbps mode.  Older reference manuals didn\u0027t\nrequire the explicitly clearing but has since been found it that it is\nneeded.\n\nSigned-off-by: Li Yang \u003cleoli@freescale.com\u003e\nSigned-off-by: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nAcked-by: Andy Fleming \u003cafleming@freescale.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1fa17d4ba43d7e5aab5e90777b07da06524f6748",
      "tree": "ebe8704bd84c51d29c17a8425b496a13b4935dc5",
      "parents": [
        "98658bc9dc37cfb7c3bf5585ca73ce44aeb05c9e"
      ],
      "author": {
        "name": "Oliver Hartkopp",
        "email": "oliver@hartkopp.net",
        "time": "Tue Jan 06 11:07:54 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 06 11:07:54 2009 -0800"
      },
      "message": "can: omit unneeded skb_clone() calls\n\nThe AF_CAN core delivered always cloned sk_buffs to the AF_CAN\nprotocols, although this was _only_ needed by the can-raw protocol.\nWith this (additionally documented) change, the AF_CAN core calls the\ncallback functions of the registered AF_CAN protocols with the original\n(uncloned) sk_buff pointer and let\u0027s the can-raw protocol do the\nskb_clone() itself which omits all unneeded skb_clone() calls for other\nAF_CAN protocols.\n\nSigned-off-by: Oliver Hartkopp \u003coliver@hartkopp.net\u003e\nSigned-off-by: Urs Thuermann \u003curs.thuermann@volkswagen.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "98658bc9dc37cfb7c3bf5585ca73ce44aeb05c9e",
      "tree": "117fc49bcb83c60ba02f9c6f21f5e0d8f8071b7d",
      "parents": [
        "20f10aa07d8d4d43ae8e129c39a84e1670b0d5ab"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Tue Jan 06 10:56:07 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 06 10:56:07 2009 -0800"
      },
      "message": "dm9601: bring datasheet URL up to date\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Peter Korsgaard \u003cjacmet@sunsite.dk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "20f10aa07d8d4d43ae8e129c39a84e1670b0d5ab",
      "tree": "db283b501631fbf6d21b402c580d7dc86809a4a4",
      "parents": [
        "e1c096e251e52773afeffbbcb74d0a072be47ea3"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Tue Jan 06 10:55:10 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 06 10:55:32 2009 -0800"
      },
      "message": "dm9601: handle corrupt mac address\n\nSome cheap devices ship with dangling EEPROM pins!\nThey always return invalid address ff:ff:ff:ff:ff:ff.\n\nInherit the auto-generated address in this case,\nso that these products can work with zero configuration.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Peter Korsgaard \u003cjacmet@sunsite.dk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e1c096e251e52773afeffbbcb74d0a072be47ea3",
      "tree": "f49f4a34015ba7a4bee16c15942b8f1d47f8c20a",
      "parents": [
        "96e93eab20337d063c70d537bd7bc70d90e04fa3"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Jan 06 10:50:09 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 06 10:50:09 2009 -0800"
      },
      "message": "vlan: Add GRO interfaces\n\nThis patch adds GRO interfaces for hardware-assisted VLAN reception.\nWith this in place we\u0027re now at parity with LRO as far as the\ninterface is concerned.  That is, you can now take any LRO driver\nand convert it over to GRO.\n\nAs the CB memory clashes with GRO\u0027s use of CB, I\u0027ve removed it\nentirely by storing dev in skb-\u003edev.  This is OK because VLAN\ngets called first thing in netif_receive_skb and skb-\u003edev is\nnot used in between us calling netif_rx and netif_receive_skb\ngetting called.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "96e93eab20337d063c70d537bd7bc70d90e04fa3",
      "tree": "6b50a8d19e6c4d99f035dbede3b7836eed5a7d44",
      "parents": [
        "ff5bfc3584efdadf826a21bc76ef42bdfcf3f612"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Jan 06 10:49:34 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 06 10:49:34 2009 -0800"
      },
      "message": "gro: Add internal interfaces for VLAN\n\nPreviously GRO\u0027s only entry point from the outside is through\nnapi_gro_receive and napi_gro_frags.  These interfaces are for\ndevice drivers.\n\nThis patch rearranges things to provide a new set of interfaces\nfor VLANs.  These interfaces are for internal use only.  The\nVLAN code itself can then provide a set of entry points for\ndevice drivers.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ff5bfc3584efdadf826a21bc76ef42bdfcf3f612",
      "tree": "3675ca1b5367ad297ce98a51ef8b267741c0b6dd",
      "parents": [
        "8be35bdeb2969b6dcb9a2e4f756e193325c4db33"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Tue Jan 06 10:47:44 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 06 10:47:44 2009 -0800"
      },
      "message": "ibmveth: use consistent types\n\nThese variables are only used with an interface that just dumps their\nvalues into registers to be passed to the hypervisor. The arguments\nto that interface are declared to be \"unsigned long\", so make these\nvariables match.  The macros are only used with these variables, so make\nthem match as well.\n\nThis code is currently only built for 64bit powerpc, so the transformation\nis really a noop.  If the interface was ever ported to 32 bit, it would\nalmost certainly still use registers to pass the parameters and so\n\"unsigned long\" would still be appropriate.\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8be35bdeb2969b6dcb9a2e4f756e193325c4db33",
      "tree": "b13caf95250de15cd53ad0ce86c74217bfb18e0e",
      "parents": [
        "61294e2e2730f24b833d9a713add5f4f6672c2a4"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Tue Jan 06 10:47:16 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 06 10:47:16 2009 -0800"
      },
      "message": "net/ehea: use consistant type\n\nehea_plpar_hcall9() takes an \"unsigned long\" array to return its results,\nso change the arrays we pass to it to match.  This is currently only\n64 bit code, so the transformation is actually a noop, but because\nehea_plpar_hcall9() copies the values of registers into the array,\nif this was ported to a 32 bit hypervisor interface \"unsigned long\"\nwould probably still be the correct type.\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "61294e2e2730f24b833d9a713add5f4f6672c2a4",
      "tree": "958a658c4f8e91882263554f5d78fd9203062424",
      "parents": [
        "0a0b9d2edc3d7b56386dd980f7d17eaaad15cf6a"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Jan 06 10:45:57 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 06 10:45:57 2009 -0800"
      },
      "message": "sch_teql: convert to net_device_ops\n\nConvert this driver to net_device_ops.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0a0b9d2edc3d7b56386dd980f7d17eaaad15cf6a",
      "tree": "7958ad36403933aa3f24a9883a48594997c6cf33",
      "parents": [
        "76288b4e573e06318fda65678052cfbde98fed1d"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Jan 06 10:44:55 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 06 10:44:55 2009 -0800"
      },
      "message": "xen-netfront: convert to net_device_ops\n\nConvert Xen device to new API.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "76288b4e573e06318fda65678052cfbde98fed1d",
      "tree": "354a837a417cdc624c43fe99091fd73ae73eca36",
      "parents": [
        "148bc4303f9ba972cbfe5d30dfec93ec0d8ff1e1"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Jan 06 10:44:22 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 06 10:44:22 2009 -0800"
      },
      "message": "virtio: convert to net_device_ops\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Mark McLoughlin \u003cmarkmc@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "148bc4303f9ba972cbfe5d30dfec93ec0d8ff1e1",
      "tree": "e97f8b96b6400e9ddeda6c68783ad4107467a686",
      "parents": [
        "53a3294e26c49622daa14c1d8540500f568ded99"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Jan 06 10:42:24 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 06 10:42:24 2009 -0800"
      },
      "message": "wireless: convert wireless ioctl to net_device_ops\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "53a3294e26c49622daa14c1d8540500f568ded99",
      "tree": "b196734812fa24595e12e9b03d11226623e53e62",
      "parents": [
        "af0490810cfa159b4894ddecfc5eb2e4432fb976"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Jan 06 10:41:56 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 06 10:41:56 2009 -0800"
      },
      "message": "bonding: use net_device_ops\n\nUse the correct pointer in debug message.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "af0490810cfa159b4894ddecfc5eb2e4432fb976",
      "tree": "7c5074c11633b5c9cfa1489859d015974be5fe32",
      "parents": [
        "46377bb311a7682f6240c954c48e81a1e4f51e66"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Jan 06 10:40:43 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 06 10:40:43 2009 -0800"
      },
      "message": "irda: convert to internal stats\n\nConvert IRDA drivers to use already existing net_device_stats structure\nin network device. This is a pre-cursor to conversion to net_device\nops. Compile tested only.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "46377bb311a7682f6240c954c48e81a1e4f51e66",
      "tree": "f5287f3c98a11f434bce668c3b956ab9eb01e057",
      "parents": [
        "238c6d54830c624f34ac9cf123ac04aebfca5013"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 05 20:51:04 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 05 20:51:04 2009 -0800"
      },
      "message": "acenic: Missed delete of acenic_firmware.h\n\nWhen I applied the firmware conversion I made a mistake\nwhich caused the acenic_firmware.h deletion to not happen.\n\nFix that up.\n\nNoticed by Linus.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "238c6d54830c624f34ac9cf123ac04aebfca5013",
      "tree": "43b7f595013483382a3053237c45d9d2824e0295",
      "parents": [
        "8e128ce3318a147903c893de1891f6c2306f8a61",
        "a159c1ac5f33c6cf0f5aa3c9d1ccdc82c907ee46"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 19:20:59 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 19:20:59 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm:\n  dm snapshot: extend exception store functions\n  dm snapshot: split out exception store implementations\n  dm snapshot: rename struct exception_store\n  dm snapshot: separate out exception store interface\n  dm mpath: move trigger_event to system workqueue\n  dm: add name and uuid to sysfs\n  dm table: rework reference counting\n  dm: support barriers on simple devices\n  dm request: extend target interface\n  dm request: add caches\n  dm ioctl: allow dm_copy_name_and_uuid to return only one field\n  dm log: ensure log bitmap fits on log device\n  dm log: move region_size validation\n  dm log: avoid reinitialising io_req on every operation\n  dm: consolidate target deregistration error handling\n  dm raid1: fix error count\n  dm log: fix dm_io_client leak on error paths\n  dm snapshot: change yield to msleep\n  dm table: drop reference at unbind\n"
    },
    {
      "commit": "a159c1ac5f33c6cf0f5aa3c9d1ccdc82c907ee46",
      "tree": "2cb6bfd3f376e2366f3e3820ebd07a0a86a01cfc",
      "parents": [
        "4db6bfe02bdc7dc5048f46dd682a94801d029adc"
      ],
      "author": {
        "name": "Jonathan Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Tue Jan 06 03:05:19 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Jan 06 03:05:19 2009 +0000"
      },
      "message": "dm snapshot: extend exception store functions\n\nSupply dm_add_exception as a callback to the read_metadata function.\nAdd a status function ready for a later patch and name the functions\nconsistently.\n\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "4db6bfe02bdc7dc5048f46dd682a94801d029adc",
      "tree": "780a41560ea05266288853204f0d7e4eef4f6355",
      "parents": [
        "1ae25f9c933d1432fbffdf3e126051a974608abf"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Jan 06 03:05:17 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Jan 06 03:05:17 2009 +0000"
      },
      "message": "dm snapshot: split out exception store implementations\n\nMove the existing snapshot exception store implementations out into\nseparate files.  Later patches will place these behind a new\ninterface in preparation for alternative implementations.\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "1ae25f9c933d1432fbffdf3e126051a974608abf",
      "tree": "5a15a6330107a70a51d0c3cfe0bf703762e79839",
      "parents": [
        "aea53d92f70eeb00ae480e399a997dd55fd5055d"
      ],
      "author": {
        "name": "Jonathan Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Tue Jan 06 03:05:16 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Jan 06 03:05:16 2009 +0000"
      },
      "message": "dm snapshot: rename struct exception_store\n\nRename struct exception_store to dm_exception_store.\n\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "aea53d92f70eeb00ae480e399a997dd55fd5055d",
      "tree": "55e087e5e22168ed87f6d51ca0c8557a7678834f",
      "parents": [
        "fe9cf30eb8186ef267d1868dc9f12f2d0f40835a"
      ],
      "author": {
        "name": "Jonathan Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Tue Jan 06 03:05:15 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Jan 06 03:05:15 2009 +0000"
      },
      "message": "dm snapshot: separate out exception store interface\n\nPull structures that bridge the gap between snapshot and\nexception store out of dm-snap.h and put them in a new\n.h file - dm-exception-store.h.  This file will define the\nAPI for new exception stores.\n\nUltimately, dm-snap.h is unnecessary, since only dm-snap.c\nshould be using it.\n\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "fe9cf30eb8186ef267d1868dc9f12f2d0f40835a",
      "tree": "357db984073d7362b6c31dd431f77768c65800bf",
      "parents": [
        "784aae735d9b0bba3f8b9faef4c8b30df3bf0128"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Jan 06 03:05:13 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Jan 06 03:05:13 2009 +0000"
      },
      "message": "dm mpath: move trigger_event to system workqueue\n\nThe same workqueue is used both for sending uevents and processing queued I/O.\nDeadlock has been reported in RHEL5 when sending a uevent was blocked waiting\nfor the queued I/O to be processed.  Use scheduled_work() for the asynchronous\nuevents instead.\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "784aae735d9b0bba3f8b9faef4c8b30df3bf0128",
      "tree": "7e2e956c395b27f63569d7a6adc1098f116cc3a4",
      "parents": [
        "d58168763f74d1edbc296d7038c60efe6493fdd4"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Tue Jan 06 03:05:12 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Jan 06 03:05:12 2009 +0000"
      },
      "message": "dm: add name and uuid to sysfs\n\nImplement simple read-only sysfs entry for device-mapper block device.\n\nThis patch adds a simple sysfs directory named \"dm\" under block device\nproperties and implements\n\t- name attribute (string containing mapped device name)\n\t- uuid attribute (string containing UUID, or empty string if not set)\n\nThe kobject is embedded in mapped_device struct, so no additional\nmemory allocation is needed for initializing sysfs entry.\n\nDuring the processing of sysfs attribute we need to lock mapped device\nwhich is done by a new function dm_get_from_kobj, which returns the md\nassociated with kobject and increases the usage count.\n\nEach \u0027show attribute\u0027 function is responsible for its own locking.\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "d58168763f74d1edbc296d7038c60efe6493fdd4",
      "tree": "03866d641211fe16961a5b8aab6d9132bf07d9c8",
      "parents": [
        "ab4c1424882be9cd70b89abf2b484add355712fa"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Tue Jan 06 03:05:10 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Jan 06 03:05:10 2009 +0000"
      },
      "message": "dm table: rework reference counting\n\nRework table reference counting.\n\nThe existing code uses a reference counter. When the last reference is\ndropped and the counter reaches zero, the table destructor is called.\nTable reference counters are acquired/released from upcalls from other\nkernel code (dm_any_congested, dm_merge_bvec, dm_unplug_all).\nIf the reference counter reaches zero in one of the upcalls, the table\ndestructor is called from almost random kernel code.\n\nThis leads to various problems:\n* dm_any_congested being called under a spinlock, which calls the\n  destructor, which calls some sleeping function.\n* the destructor attempting to take a lock that is already taken by the\n  same process.\n* stale reference from some other kernel code keeps the table\n  constructed, which keeps some devices open, even after successful\n  return from \"dmsetup remove\". This can confuse lvm and prevent closing\n  of underlying devices or reusing device minor numbers.\n\nThe patch changes reference counting so that the table destructor can be\ncalled only at predetermined places.\n\nThe table has always exactly one reference from either mapped_device-\u003emap\nor hash_cell-\u003enew_map. After this patch, this reference is not counted\nin table-\u003eholders.  A pair of dm_create_table/dm_destroy_table functions\nis used for table creation/destruction.\n\nTemporary references from the other code increase table-\u003eholders. A pair\nof dm_table_get/dm_table_put functions is used to manipulate it.\n\nWhen the table is about to be destroyed, we wait for table-\u003eholders to\nreach 0. Then, we call the table destructor.  We use active waiting with\nmsleep(1), because the situation happens rarely (to one user in 5 years)\nand removing the device isn\u0027t performance-critical task: the user doesn\u0027t\ncare if it takes one tick more or not.\n\nThis way, the destructor is called only at specific points\n(dm_table_destroy function) and the above problems associated with lazy\ndestruction can\u0027t happen.\n\nFinally remove the temporary protection added to dm_any_congested().\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "ab4c1424882be9cd70b89abf2b484add355712fa",
      "tree": "8baed3606be67900df9f02e42fcdb091b78c5def",
      "parents": [
        "7d76345da6ed3927c9cbf5d3f7a7021e8bba7374"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Tue Jan 06 03:05:09 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Jan 06 03:05:09 2009 +0000"
      },
      "message": "dm: support barriers on simple devices\n\nImplement barrier support for single device DM devices\n\nThis patch implements barrier support in DM for the common case of dm linear\njust remapping a single underlying device. In this case we can safely\npass the barrier through because there can be no reordering between\ndevices.\n\n NB. Any DM device might cease to support barriers if it gets\n     reconfigured so code must continue to allow for a possible\n     -EOPNOTSUPP on every barrier bio submitted.  - agk\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "7d76345da6ed3927c9cbf5d3f7a7021e8bba7374",
      "tree": "d0b470dd1a55dfffb27ffa012e4a5afebd133495",
      "parents": [
        "8fbf26ad5b16ad3a826ca7fe3e86700420abed1f"
      ],
      "author": {
        "name": "Kiyoshi Ueda",
        "email": "k-ueda@ct.jp.nec.com",
        "time": "Tue Jan 06 03:05:07 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Jan 06 03:05:07 2009 +0000"
      },
      "message": "dm request: extend target interface\n\nThis patch adds the following target interfaces for request-based dm.\n\n  map_rq    : for mapping a request\n\n  rq_end_io : for finishing a request\n\n  busy      : for avoiding performance regression from bio-based dm.\n              Target can tell dm core not to map requests now, and\n              that may help requests in the block layer queue to be\n              bigger by I/O merging.\n              In bio-based dm, this behavior is done by device\n              drivers managing the block layer queue.\n              But in request-based dm, dm core has to do that\n              since dm core manages the block layer queue.\n\nSigned-off-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "8fbf26ad5b16ad3a826ca7fe3e86700420abed1f",
      "tree": "43bc5cc2ca90ea394682daa4b665a46ebb110b97",
      "parents": [
        "23d39f63aa87e812fd879b8bc32ee6ccfe733de3"
      ],
      "author": {
        "name": "Kiyoshi Ueda",
        "email": "k-ueda@ct.jp.nec.com",
        "time": "Tue Jan 06 03:05:06 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Jan 06 03:05:06 2009 +0000"
      },
      "message": "dm request: add caches\n\nThis patch prepares some kmem_caches for request-based dm.\n\nSigned-off-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "23d39f63aa87e812fd879b8bc32ee6ccfe733de3",
      "tree": "3535af0aff56260cdbf573a704e3f0122c6cfc8b",
      "parents": [
        "ac1f0ac22c7be908fd33407273b9808bfaedada4"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Tue Jan 06 03:05:04 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Jan 06 03:05:04 2009 +0000"
      },
      "message": "dm ioctl: allow dm_copy_name_and_uuid to return only one field\n\nAllow NULL buffer in dm_copy_name_and_uuid if you only want to return one of\nthe fields.\n\n(Required by a following patch that adds these fields to sysfs.)\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nReviewed-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "ac1f0ac22c7be908fd33407273b9808bfaedada4",
      "tree": "f6a867138918b591639464802744506f6b83ad14",
      "parents": [
        "2045e88edb4e0c9ce62d317f77dc59d27d9c530e"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Tue Jan 06 03:05:02 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Jan 06 03:05:02 2009 +0000"
      },
      "message": "dm log: ensure log bitmap fits on log device\n\nCheck that the log bitmap will fit within the log device.\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "2045e88edb4e0c9ce62d317f77dc59d27d9c530e",
      "tree": "324eeea271b889263d0141fe0c82d4b0e43d0079",
      "parents": [
        "6f3af01cb0eda0ec50fe1e4cbdf028269dc396fe"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Tue Jan 06 03:05:01 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Jan 06 03:05:01 2009 +0000"
      },
      "message": "dm log: move region_size validation\n\nMove log size validation from mirror target to log constructor.\n\nRemoved PAGE_SIZE restriction we no longer think necessary.\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "6f3af01cb0eda0ec50fe1e4cbdf028269dc396fe",
      "tree": "29988ebe5a40ee1092bdbeac45eb0bdc312ff670",
      "parents": [
        "10d3bd09a3c25df114f74f7f86e1b58d070bef32"
      ],
      "author": {
        "name": "Takahiro Yasui",
        "email": "tyasui@redhat.com",
        "time": "Tue Jan 06 03:04:59 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Jan 06 03:04:59 2009 +0000"
      },
      "message": "dm log: avoid reinitialising io_req on every operation\n\nrw_header function updates three members of io_req data every time\nwhen I/O is processed. bi_rw and notify.fn are never modified once\nthey get initialized, and so they can be set in advance.\n\nheader_to_disk() can also be pulled out of write_header() since only one\ncaller needs it and write_header() can be replaced by rw_header()\ndirectly.\n\nSigned-off-by: Takahiro Yasui \u003ctyasui@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "10d3bd09a3c25df114f74f7f86e1b58d070bef32",
      "tree": "a44e2fe5ccc5950b87a1d31849e5f0ac24fdcc16",
      "parents": [
        "d460c65a6a9ec9e0d284864ec3a9a2d1b73f0e43"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Tue Jan 06 03:04:58 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Jan 06 03:04:58 2009 +0000"
      },
      "message": "dm: consolidate target deregistration error handling\n\nChange dm_unregister_target to return void and use BUG() for error\nreporting.\n\ndm_unregister_target can only fail because of programming bug in the\ntarget driver. It can\u0027t fail because of user\u0027s behavior or disk errors.\n\nThis patch changes unregister_target to return void and use BUG if\nsomeone tries to unregister non-registered target or unregister target\nthat is in use.\n\nThis patch removes code duplication (testing of error codes in all dm\ntargets) and reports bugs in just one place, in dm_unregister_target. In\nsome target drivers, these return codes were ignored, which could lead\nto a situation where bugs could be missed.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "d460c65a6a9ec9e0d284864ec3a9a2d1b73f0e43",
      "tree": "84131d888f5ec610cc343ca7188a5d4044043c2b",
      "parents": [
        "c7a2bd19b7c1e0bd2c7604c53d2583e91e536948"
      ],
      "author": {
        "name": "Jonathan Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Tue Jan 06 03:04:57 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Jan 06 03:04:57 2009 +0000"
      },
      "message": "dm raid1: fix error count\n\nAlways increase the error count when I/O on a leg of a mirror fails.\n\nThe error count is used to decide whether to select an alternative\nmirror leg.  If the target doesn\u0027t use the \"handle_errors\" feature, the\nerror count is not updated and the bio can get requeued forever by the\nread callback.\n\nFix it by increasing error_count before the handle_errors feature\nchecking.\n\nCc: stable@kernel.org\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "c7a2bd19b7c1e0bd2c7604c53d2583e91e536948",
      "tree": "bb896040c05397026745de9d05bd6f491d26603f",
      "parents": [
        "90fa1527bddc7147dc0d590ee6184ca88bc50ecf"
      ],
      "author": {
        "name": "Takahiro Yasui",
        "email": "tyasui@redhat.com",
        "time": "Tue Jan 06 03:04:56 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Jan 06 03:04:56 2009 +0000"
      },
      "message": "dm log: fix dm_io_client leak on error paths\n\nIn create_log_context function, dm_io_client_destroy function needs\nto be called, when memory allocation of disk_header, sync_bits and\nrecovering_bits failed, but dm_io_client_destroy is not called.\n\nCc: stable@kernel.org\nSigned-off-by: Takahiro Yasui \u003ctyasui@redhat.com\u003e\nAcked-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "90fa1527bddc7147dc0d590ee6184ca88bc50ecf",
      "tree": "a6b692b5a7ef777cbd8f2927783f593234b091d1",
      "parents": [
        "a1b51e98676932d031f5eec1325b2df4bbdc8f26"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Tue Jan 06 03:04:54 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Jan 06 03:04:54 2009 +0000"
      },
      "message": "dm snapshot: change yield to msleep\n\nChange yield() to msleep(1). If the thread had realtime priority,\nyield() doesn\u0027t really yield, so the yielding process would loop\nindefinitely and cause machine lockup.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "a1b51e98676932d031f5eec1325b2df4bbdc8f26",
      "tree": "0dda5c172f6ef1880dbc9eafb9eb6d404c9447c6",
      "parents": [
        "fe0bdec68b77020281dc814805edfe594ae89e0f"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Tue Jan 06 03:04:53 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Jan 06 03:04:53 2009 +0000"
      },
      "message": "dm table: drop reference at unbind\n\nMove one dm_table_put() so that the last reference in the thread\ngets dropped in __unbind().\n\nThis is required for a following patch,\ndm-table-rework-reference-counting.patch, which will change the logic in\nsuch a way that table destructor is called only at specific points in\nthe code.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "8e128ce3318a147903c893de1891f6c2306f8a61",
      "tree": "3b45e780570e9beb9ec8e83c677f2d9fd9b458ce",
      "parents": [
        "0bbb2753584231db364b624bf8cf82551b94da7d",
        "3f874b6643e189d3d07618928ceed0013d71593e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 19:04:09 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 19:04:09 2009 -0800"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.o-hand.com/linux-mfd\n\n* \u0027for-next\u0027 of git://git.o-hand.com/linux-mfd: (30 commits)\n  mfd: Fix section mismatch in da903x\n  mfd: move drivers/i2c/chips/menelaus.c to drivers/mfd\n  mfd: move drivers/i2c/chips/tps65010.c to drivers/mfd\n  mfd: dm355evm msp430 driver\n  mfd: Add missing break from wm3850-core\n  mfd: Add WM8351 support\n  mfd: Support configurable numbers of DCDCs and ISINKs on WM8350\n  mfd: Handle missing WM8350 platform data\n  mfd: Add WM8352 support\n  mfd: Use irq_to_desc in twl4030 code\n  power_supply: Add Dialog DA9030 battery charger driver\n  mfd: Dialog DA9030 battery charger MFD driver\n  mfd: Register WM8400 codec device\n  mfd: Pass driver_data onto child devices\n  mfd: Fix twl4030-core.c build error\n  mfd: twl4030 regulator bug fixes\n  mfd: twl4030: create some regulator devices\n  mfd: twl4030: cleanup symbols and OMAP dependency\n  mfd: twl4030: simplified child creation code\n  power_supply: Add battery health reporting for WM8350\n  ...\n"
    },
    {
      "commit": "0bbb2753584231db364b624bf8cf82551b94da7d",
      "tree": "559c49330037fa4e2f5d231e06576f80dc49caaf",
      "parents": [
        "0578c3b4d44c34e499e1fd5916ed6c63635b25cf",
        "9e01892c4234070bbcf3a9f582514c8b91464375"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 19:03:39 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 19:03:39 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:\n  module: convert to stop_machine_create/destroy.\n  stop_machine: introduce stop_machine_create/destroy.\n  parisc: fix module loading failure of large kernel modules\n  module: fix module loading failure of large kernel modules for parisc\n  module: fix warning of unused function when !CONFIG_PROC_FS\n  kernel/module.c: compare symbol values when marking symbols as exported in /proc/kallsyms.\n  remove CONFIG_KMOD\n"
    },
    {
      "commit": "0578c3b4d44c34e499e1fd5916ed6c63635b25cf",
      "tree": "7bcf1e4bb08984b2f5671a48c052c26903855ba6",
      "parents": [
        "7d8a804c594b61a05c698126165b5dc417d94a0f",
        "52942b6b16c6ebb25f4dd4df0208d840ba0cbc5c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 19:03:11 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 19:03:11 2009 -0800"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  swiotlb: Don\u0027t include linux/swiotlb.h twice in lib/swiotlb.c\n  intel-iommu: fix build error with INTR_REMAP\u003dy and DMAR\u003dn\n  swiotlb: add missing __init annotations\n"
    },
    {
      "commit": "7d8a804c594b61a05c698126165b5dc417d94a0f",
      "tree": "5718ed900d1a8aa7d85eaa02dc27fda8230a688e",
      "parents": [
        "c58bd34d00e04df9a0691732086cf8102b20d907",
        "722d74219ea21223c74e5e894b0afcc5e4ca75a7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 19:02:09 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 19:02:09 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm:\n  dlm: fs/dlm/ast.c: fix warning\n  dlm: add new debugfs entry\n  dlm: add time stamp of blocking callback\n  dlm: change lock time stamping\n  dlm: improve how bast mode handling\n  dlm: remove extra blocking callback check\n  dlm: replace schedule with cond_resched\n  dlm: remove kmap/kunmap\n  dlm: trivial annotation of be16 value\n  dlm: fix up memory allocation flags\n"
    },
    {
      "commit": "c58bd34d00e04df9a0691732086cf8102b20d907",
      "tree": "82e0a95b582974351f24cdf812d023c38d921474",
      "parents": [
        "8606ab6d30dbaaafff985bd462bf33c36997eae9",
        "88f60f62f31092db46aa5c71bf6da67c958bc420"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 18:58:06 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 18:58:06 2009 -0800"
      },
      "message": "Merge branch \u0027i2c-next\u0027 of git://aeryn.fluff.org.uk/bjdooks/linux\n\n* \u0027i2c-next\u0027 of git://aeryn.fluff.org.uk/bjdooks/linux:\n  i2c-omap: fix type of irq handler function\n  i2c-s3c2410: Change IRQ to be plain integer.\n  i2c-s3c2410: Allow more than one i2c-s3c2410 adapter\n  i2c-s3c2410: Remove default platform data.\n  i2c-s3c2410: Use platform data for gpio configuration\n  i2c-s3c2410: Fixup style problems from checkpatch.pl\n  i2c-omap: Enable I2C wakeups for 34xx\n  i2c-omap: reprogram OCP_SYSCONFIG register after reset\n  i2c-omap: convert \u0027rev1\u0027 flag to generic \u0027rev\u0027 u8\n  i2c-omap: fix I2C timeouts due to recursive omap_i2c_{un,}idle()\n  i2c-omap: Clean-up i2c-omap\n  i2c-omap: Don\u0027t compile in OMAP15xx I2C ISR for non-OMAP15xx builds\n  i2c-omap: Mark init-only functions as __init\n  i2c-omap: Add support for omap34xx\n  i2c-omap: FIFO handling support and broken hw workaround for i2c-omap\n  i2c-omap: Add high-speed support to omap-i2c\n  i2c-omap: Close suspected race between omap_i2c_idle() and omap_i2c_isr()\n  i2c-omap: Do not use interruptible wait call in omap_i2c_xfer_msg\n\nFix up apparently-trivial conflict in drivers/i2c/busses/i2c-s3c2410.c\n"
    },
    {
      "commit": "8606ab6d30dbaaafff985bd462bf33c36997eae9",
      "tree": "4a31a004438370e5e51f5f042badfac850ec9ac8",
      "parents": [
        "c54febae996d36c630f09209cd9983ecfda3fcad",
        "ed42350e02bfcb333024949e9653d06916135cc5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 18:53:34 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 18:53:34 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (22 commits)\n  HID: fix error condition propagation in hid-sony driver\n  HID: fix reference count leak hidraw\n  HID: add proper support for pensketch 12x9 tablet\n  HID: don\u0027t allow DealExtreme usb-radio be handled by usb hid driver\n  HID: fix default Kconfig setting for TopSpeed driver\n  HID: driver for TopSeed Cyberlink quirky remote\n  HID: make boot protocol drivers depend on EMBEDDED\n  HID: avoid sparse warning in HID_COMPAT_LOAD_DRIVER\n  HID: hiddev cleanup -- handle all error conditions properly\n  HID: force feedback driver for GreenAsia 0x12 PID\n  HID: switch specialized drivers from \"default y\" to !EMBEDDED\n  HID: set proper dev.parent in hidraw\n  HID: add dynids facility\n  HID: use GFP_KERNEL in hid_alloc_buffers\n  HID: usbhid, use usb_endpoint_xfer_int\n  HID: move usbhid flags to usbhid.h\n  HID: add n-trig digitizer support\n  HID: add phys and name ioctls to hidraw\n  HID: struct device - replace bus_id with dev_name(), dev_set_name()\n  HID: automatically call usbhid_set_leds in usbhid driver\n  ...\n"
    },
    {
      "commit": "c54febae996d36c630f09209cd9983ecfda3fcad",
      "tree": "35b2717dcd4e4ff2206cd468b5895afb16f49c8c",
      "parents": [
        "e42e4ba07bc72c0eb7c7ab3bf9e5076db90d0f37",
        "eb8374e71f941a1b3c2ed6ea19dc809e7124dc5d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 18:52:54 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 18:52:54 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw: (27 commits)\n  GFS2: Use DEFINE_SPINLOCK\n  GFS2: Fix use-after-free bug on umount (try #2)\n  Revert \"GFS2: Fix use-after-free bug on umount\"\n  GFS2: Streamline alloc calculations for writes\n  GFS2: Send useful information with uevent messages\n  GFS2: Fix use-after-free bug on umount\n  GFS2: Remove ancient, unused code\n  GFS2: Move four functions from super.c\n  GFS2: Fix bug in gfs2_lock_fs_check_clean()\n  GFS2: Send some sensible sysfs stuff\n  GFS2: Kill two daemons with one patch\n  GFS2: Move gfs2_recoverd into recovery.c\n  GFS2: Fix \"truncate in progress\" hang\n  GFS2: Clean up \u0026 move gfs2_quotad\n  GFS2: Add more detail to debugfs glock dumps\n  GFS2: Banish struct gfs2_rgrpd_host\n  GFS2: Move rg_free from gfs2_rgrpd_host to gfs2_rgrpd\n  GFS2: Move rg_igeneration into struct gfs2_rgrpd\n  GFS2: Banish struct gfs2_dinode_host\n  GFS2: Move i_size from gfs2_dinode_host and rename it to i_disksize\n  ...\n"
    },
    {
      "commit": "e42e4ba07bc72c0eb7c7ab3bf9e5076db90d0f37",
      "tree": "f3eec0c563da05c2f0de3463edd45735c9c2f3c7",
      "parents": [
        "7a1fcd5f5130f173b5e824135735ec58f245563e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 18:47:12 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 18:47:12 2009 -0800"
      },
      "message": "igb: fix anoying type mismatch warning on rx/tx queue sizing\n\nWhen using \"min()\", the types of both sides should match.  With the cpu\nmask changes, the type of num_online_cpus() will now depend on config\noptions. Use \"min_t()\" with an explicit type instead.\n\nAnd make the rx/tx case look the same too, just for sanity.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7a1fcd5f5130f173b5e824135735ec58f245563e",
      "tree": "fc21e9f5592ef58a5d98a4bf1ccd6f44010cbca3",
      "parents": [
        "15b0669072127f282896b3bef2e9df4ec5d7264f",
        "4696b64d234b84b5b70ffd49a76833aa5c49cb61"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 18:45:06 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 18:45:06 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: (30 commits)\n  sparc: Fix minor SPARC32 compile error\n  sparc: Remove reg*.h from Kbuild\n  sparc: Clean arch-specific code in prom_common.c\n  sparc: Kill asm/reg*.h\n  sparc: Use 64BIT config entry\n  MAINTAINERS: update sparc maintainer\n  sparc: unify ipcbuf.h\n  sparc: Update 64-bit defconfig.\n  sparc: remove NO_PROC_ID - it is no longer used\n  sparc: drop get_tbr() in traps.h\n  sparc: fix warning in userspace header traps.h\n  sparc: fix warnings in userspace header byteorder.h\n  sparc: fix warning in userspace header jsflash.h\n  sparc: unify openprom.h\n  sparc64: delete unused linux_prom64_ranges from openprom_64.h\n  sparc: prepare openprom for unification\n  sparc: remove linux_prom_pci_assigned_addresses from openprom_32.h\n  sparc: remove ebus definitions from openprom*.h\n  sparc: unify siginfo.h\n  sparc: unify ptrace.h\n  ...\n"
    },
    {
      "commit": "15b0669072127f282896b3bef2e9df4ec5d7264f",
      "tree": "8480e09bbc7c26cd5c9ef048b734664cb6fe76be",
      "parents": [
        "c155b914651753f843445d2f860bc00137df5d52",
        "3537d54c0c39de5738bba8d19f128478b0b96a71"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 18:44:59 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 18:44:59 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (44 commits)\n  qlge: Fix sparse warnings for tx ring indexes.\n  qlge: Fix sparse warning regarding rx buffer queues.\n  qlge: Fix sparse endian warning in ql_hw_csum_setup().\n  qlge: Fix sparse endian warning for inbound packet control block flags.\n  qlge: Fix sparse warnings for byte swapping in qlge_ethool.c\n  myri10ge: print MAC and serial number on probe failure\n  pkt_sched: cls_u32: Fix locking in u32_change()\n  iucv: fix cpu hotplug\n  af_iucv: Free iucv path/socket in path_pending callback\n  af_iucv: avoid left over IUCV connections from failing connects\n  af_iucv: New error return codes for connect()\n  net/ehea: bitops work on unsigned longs\n  Revert \"net: Fix for initial link state in 2.6.28\"\n  tcp: Kill extraneous SPLICE_F_NONBLOCK checks.\n  tcp: don\u0027t mask EOF and socket errors on nonblocking splice receive\n  dccp: Integrate the TFRC library with DCCP\n  dccp: Clean up ccid.c after integration of CCID plugins\n  dccp: Lockless integration of CCID congestion-control plugins\n  qeth: get rid of extra argument after printk to dev_* conversion\n  qeth: No large send using EDDP for HiperSockets.\n  ...\n"
    },
    {
      "commit": "c155b914651753f843445d2f860bc00137df5d52",
      "tree": "8a90674dfad7dd7e470d64819f8b7b490de35c2d",
      "parents": [
        "e9af797d757d358f60130de6ca59ee658d666561",
        "3a5e1d1792729f384c10db966feb8bab76c991ed"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 18:34:12 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 18:34:12 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:\n  ALSA: ice1724 - Fix a typo in IEC958 PCM name\n  ASoC: fix davinci-sffsdr buglet\n  ALSA: sound/usb: Use negated usb_endpoint_xfer_control, etc\n  ALSA: hda - cxt5051 report jack state\n  ALSA: hda - add basic jack reporting functions to patch_conexant.c\n  ALSA: Use usb_set/get_intfdata\n  ASoC: Clean up kerneldoc warnings\n  ASoC: Fix pxa2xx-pcm checks for invalid DMA channels\n  LSA: hda - Add HP Acacia detection\n  ALSA: hda - fix name for ALC1200\n  ALSA: sound/usb: use USB API functions rather than constants\n  ASoC: TWL4030: DAPM based capture implementation\n  ASoC: TWL4030: Make the enum filter generic for twl4030\n"
    },
    {
      "commit": "e9af797d757d358f60130de6ca59ee658d666561",
      "tree": "1c634c98b2c11ddfa86d1c38e35ed33eb316827c",
      "parents": [
        "10cc04f5a01041ffff068b3f9b195bfdc5290c45",
        "187d9f4ed4fc089f1f25a875fb485e27626972f9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 18:33:38 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 18:33:38 2009 -0800"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:\n  [CPUFREQ] Fix on resume, now preserves user policy min/max.\n  [CPUFREQ] Add Celeron Core support to p4-clockmod.\n  [CPUFREQ] add to speedstep-lib additional fsb values for core processors\n  [CPUFREQ] Disable sysfs ui for p4-clockmod.\n  [CPUFREQ] p4-clockmod: reduce noise\n  [CPUFREQ] clean up speedstep-centrino and reduce cpumask_t usage\n"
    },
    {
      "commit": "10cc04f5a01041ffff068b3f9b195bfdc5290c45",
      "tree": "5c53027ce5299075759b70e1447ce811ba1afdf0",
      "parents": [
        "520c85346666d4d9a6fcaaa8450542302dc28b91",
        "9047beabb8a396f0b18de1e4a9ab920cf92054af"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 18:32:43 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 18:32:43 2009 -0800"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2: (138 commits)\n  ocfs2: Access the right buffer_head in ocfs2_merge_rec_left.\n  ocfs2: use min_t in ocfs2_quota_read()\n  ocfs2: remove unneeded lvb casts\n  ocfs2: Add xattr support checking in init_security\n  ocfs2: alloc xattr bucket in ocfs2_xattr_set_handle\n  ocfs2: calculate and reserve credits for xattr value in mknod\n  ocfs2/xattr: fix credits calculation during index create\n  ocfs2/xattr: Always updating ctime during xattr set.\n  ocfs2/xattr: Remove extend_trans call and add its credits from the beginning\n  ocfs2/dlm: Fix race during lockres mastery\n  ocfs2/dlm: Fix race in adding/removing lockres\u0027 to/from the tracking list\n  ocfs2/dlm: Hold off sending lockres drop ref message while lockres is migrating\n  ocfs2/dlm: Clean up errors in dlm_proxy_ast_handler()\n  ocfs2/dlm: Fix a race between migrate request and exit domain\n  ocfs2: One more hamming code optimization.\n  ocfs2: Another hamming code optimization.\n  ocfs2: Don\u0027t hand-code xor in ocfs2_hamming_encode().\n  ocfs2: Enable metadata checksums.\n  ocfs2: Validate superblock with checksum and ecc.\n  ocfs2: Checksum and ECC for directory blocks.\n  ...\n"
    },
    {
      "commit": "520c85346666d4d9a6fcaaa8450542302dc28b91",
      "tree": "9c9cc9e2493b606104dd8602302ae28258ebeac0",
      "parents": [
        "e8c82c2e23e3527e0c9dc195e432c16784d270fa",
        "4ae8978cf92a96257cd8998a49e781be83571d64"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 18:32:06 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 18:32:06 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  inotify: fix type errors in interfaces\n  fix breakage in reiserfs_new_inode()\n  fix the treatment of jfs special inodes\n  vfs: remove duplicate code in get_fs_type()\n  add a vfs_fsync helper\n  sys_execve and sys_uselib do not call into fsnotify\n  zero i_uid/i_gid on inode allocation\n  inode-\u003ei_op is never NULL\n  ntfs: don\u0027t NULL i_op\n  isofs check for NULL -\u003ei_op in root directory is dead code\n  affs: do not zero -\u003ei_op\n  kill suid bit only for regular files\n  vfs: lseek(fd, 0, SEEK_CUR) race condition\n"
    },
    {
      "commit": "e8c82c2e23e3527e0c9dc195e432c16784d270fa",
      "tree": "943b1359ff8d6855b0b5fd37bb0ae61f01a7da0d",
      "parents": [
        "f1b11e505463fd597ab7963df26dd1f446dcceae"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Jan 06 03:05:50 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 18:31:12 2009 -0800"
      },
      "message": "mm lockless pagecache barrier fix\n\nAn XFS workload showed up a bug in the lockless pagecache patch. Basically it\nwould go into an \"infinite\" loop, although it would sometimes be able to break\nout of the loop! The reason is a missing compiler barrier in the \"increment\nreference count unless it was zero\" case of the lockless pagecache protocol in\nthe gang lookup functions.\n\nThis would cause the compiler to use a cached value of struct page pointer to\nretry the operation with, rather than reload it. So the page might have been\nremoved from pagecache and freed (refcount\u003d\u003d0) but the lookup would not correctly\nnotice the page is no longer in pagecache, and keep attempting to increment the\nrefcount and failing, until the page gets reallocated for something else. This\nisn\u0027t a data corruption because the condition will be detected if the page has\nbeen reallocated. However it can result in a lockup.\n\nLinus points out that ACCESS_ONCE is also required in that pointer load, even\nif it\u0027s absence is not causing a bug on our particular build. The most general\nway to solve this is just to put an rcu_dereference in radix_tree_deref_slot.\n\nAssembly of find_get_pages,\nbefore:\n.L220:\n        movq    (%rbx), %rax    #* ivtmp.1162, tmp82\n        movq    (%rax), %rdi    #, prephitmp.1149\n.L218:\n        testb   $1, %dil        #, prephitmp.1149\n        jne     .L217   #,\n        testq   %rdi, %rdi      # prephitmp.1149\n        je      .L203   #,\n        cmpq    $-1, %rdi       #, prephitmp.1149\n        je      .L217   #,\n        movl    8(%rdi), %esi   # \u003cvariable\u003e._count.counter, c\n        testl   %esi, %esi      # c\n        je      .L218   #,\n\nafter:\n.L212:\n        movq    (%rbx), %rax    #* ivtmp.1109, tmp81\n        movq    (%rax), %rdi    #, ret\n        testb   $1, %dil        #, ret\n        jne     .L211   #,\n        testq   %rdi, %rdi      # ret\n        je      .L197   #,\n        cmpq    $-1, %rdi       #, ret\n        je      .L211   #,\n        movl    8(%rdi), %esi   # \u003cvariable\u003e._count.counter, c\n        testl   %esi, %esi      # c\n        je      .L212   #,\n\n(notice the obvious infinite loop in the first example, if page-\u003ecount remains 0)\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nReviewed-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f1b11e505463fd597ab7963df26dd1f446dcceae",
      "tree": "56f234bbbee8a67cfa4f3dc42bc56bc658d01cd9",
      "parents": [
        "046c68842bce6b77509cf56e94a561029124b0ce"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Jan 05 14:04:40 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 18:28:04 2009 -0800"
      },
      "message": "i2o: Update my address\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3537d54c0c39de5738bba8d19f128478b0b96a71",
      "tree": "5ecdf9eb604ffa869bf9034928adfbcc8d4ffb3b",
      "parents": [
        "2c9a0d41e944807bf763f42e4a3526210e98c741"
      ],
      "author": {
        "name": "Ron Mercer",
        "email": "ron.mercer@qlogic.com",
        "time": "Mon Jan 05 18:19:59 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 05 18:19:59 2009 -0800"
      },
      "message": "qlge: Fix sparse warnings for tx ring indexes.\n\nWarnings:\ndrivers/net/qlge/qlge_main.c:1474:34: warning: restricted degrades to integer\ndrivers/net/qlge/qlge_main.c:1475:36: warning: restricted degrades to integer\ndrivers/net/qlge/qlge_main.c:1592:51: warning: restricted degrades to integer\ndrivers/net/qlge/qlge_main.c:1941:20: warning: incorrect type in assignment (different base types)\ndrivers/net/qlge/qlge_main.c:1941:20:    expected restricted unsigned int [usertype] tid\ndrivers/net/qlge/qlge_main.c:1941:20:    got int [signed] index\ndrivers/net/qlge/qlge_main.c:1945:24: warning: incorrect type in assignment (different base types)\ndrivers/net/qlge/qlge_main.c:1945:24:    expected restricted unsigned int [usertype] txq_idx\ndrivers/net/qlge/qlge_main.c:1945:24:    got unsigned int [unsigned] [usertype] tx_ring_idx\n\nSigned-off-by: Ron Mercer \u003cron.mercer@qlogic.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2c9a0d41e944807bf763f42e4a3526210e98c741",
      "tree": "5c770c22db6a1e1ec9ce5ac1922436317441e4d1",
      "parents": [
        "fd2df4f7439cd3e87090e067d5aec8f1336f4f0e"
      ],
      "author": {
        "name": "Ron Mercer",
        "email": "ron.mercer@qlogic.com",
        "time": "Mon Jan 05 18:19:20 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 05 18:19:20 2009 -0800"
      },
      "message": "qlge: Fix sparse warning regarding rx buffer queues.\n\nWarnings:\ndrivers/net/qlge/qlge_main.c:909:17: warning: incorrect type in assignment (different base types)\ndrivers/net/qlge/qlge_main.c:909:17:    expected unsigned int [unsigned] [usertype] addr_lo\ndrivers/net/qlge/qlge_main.c:909:17:    got restricted unsigned int [usertype] \u003cnoident\u003e\ndrivers/net/qlge/qlge_main.c:911:17: warning: incorrect type in assignment (different base types)\ndrivers/net/qlge/qlge_main.c:911:17:    expected unsigned int [unsigned] [usertype] addr_hi\ndrivers/net/qlge/qlge_main.c:911:17:    got restricted unsigned int [usertype] \u003cnoident\u003e\ndrivers/net/qlge/qlge_main.c:974:17: warning: incorrect type in assignment (different base types)\ndrivers/net/qlge/qlge_main.c:974:17:    expected unsigned int [unsigned] [usertype] addr_lo\ndrivers/net/qlge/qlge_main.c:974:17:    got restricted unsigned int [usertype] \u003cnoident\u003e\ndrivers/net/qlge/qlge_main.c:975:17: warning: incorrect type in assignment (different base types)\ndrivers/net/qlge/qlge_main.c:975:17:    expected unsigned int [unsigned] [usertype] addr_hi\ndrivers/net/qlge/qlge_main.c:975:17:    got restricted unsigned int [usertype] \u003cnoident\u003e\ndrivers/net/qlge/qlge_main.c:2132:16: warning: incorrect type in assignment (different base types)\ndrivers/net/qlge/qlge_main.c:2132:16:    expected unsigned int [unsigned] [usertype] addr_lo\ndrivers/net/qlge/qlge_main.c:2132:16:    got restricted unsigned int [usertype] \u003cnoident\u003e\ndrivers/net/qlge/qlge_main.c:2133:16: warning: incorrect type in assignment (different base types)\ndrivers/net/qlge/qlge_main.c:2133:16:    expected unsigned int [unsigned] [usertype] addr_hi\ndrivers/net/qlge/qlge_main.c:2133:16:    got restricted unsigned int [usertype] \u003cnoident\u003e\ndrivers/net/qlge/qlge_main.c:2212:15: warning: incorrect type in assignment (different base types)\ndrivers/net/qlge/qlge_main.c:2212:15:    expected unsigned int [unsigned] [usertype] addr_lo\ndrivers/net/qlge/qlge_main.c:2212:15:    got restricted unsigned int [usertype] \u003cnoident\u003e\ndrivers/net/qlge/qlge_main.c:2214:15: warning: incorrect type in assignment (different base types)\ndrivers/net/qlge/qlge_main.c:2214:15:    expected unsigned int [unsigned] [usertype] addr_hi\ndrivers/net/qlge/qlge_main.c:2214:15:    got restricted unsigned int [usertype] \u003cnoident\u003e\n\nSigned-off-by: Ron Mercer \u003cron.mercer@qlogic.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fd2df4f7439cd3e87090e067d5aec8f1336f4f0e",
      "tree": "b889d344981a9c1a97a879d89eae2a4103be9397",
      "parents": [
        "a303ce0972d04036316e85568682a2b89fe123d9"
      ],
      "author": {
        "name": "Ron Mercer",
        "email": "ron.mercer@qlogic.com",
        "time": "Mon Jan 05 18:18:45 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 05 18:18:45 2009 -0800"
      },
      "message": "qlge: Fix sparse endian warning in ql_hw_csum_setup().\n\nChanged u16 to __sum16 usage.\n\nWarnings:\ndrivers/net/qlge/qlge_main.c:1897:9: warning: incorrect type in assignment (different base types)\ndrivers/net/qlge/qlge_main.c:1897:9:    expected unsigned short [usertype] *check\ndrivers/net/qlge/qlge_main.c:1897:9:    got restricted unsigned short *\u003cnoident\u003e\ndrivers/net/qlge/qlge_main.c:1903:9: warning: incorrect type in assignment (different base types)\ndrivers/net/qlge/qlge_main.c:1903:9:    expected unsigned short [usertype] *check\ndrivers/net/qlge/qlge_main.c:1903:9:    got restricted unsigned short *\u003cnoident\u003e\ndrivers/net/qlge/qlge_main.c:1909:9: warning: incorrect type in assignment (different base types)\ndrivers/net/qlge/qlge_main.c:1909:9:    expected unsigned short [unsigned] [short] [usertype] \u003cnoident\u003e\n\nSigned-off-by: Ron Mercer \u003cron.mercer@qlogic.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a303ce0972d04036316e85568682a2b89fe123d9",
      "tree": "d532177ae6549de9d6360da8eb366d3de3add588",
      "parents": [
        "8306c952a523ad2f87c101427c3ece91176b822c"
      ],
      "author": {
        "name": "Ron Mercer",
        "email": "ron.mercer@qlogic.com",
        "time": "Mon Jan 05 18:18:22 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 05 18:18:22 2009 -0800"
      },
      "message": "qlge: Fix sparse endian warning for inbound packet control block flags.\n\nChanged flags element from __le32 to 3 reserved bytes and one byte of\nflags.  Changed flags bit definitions to reflect byte width instead of\n__le32 width.\n\nWarnings:\ndrivers/net/qlge/qlge_main.c:1206:16: warning: restricted degrades to integer\ndrivers/net/qlge/qlge_main.c:1207:16: warning: restricted degrades to integer\ndrivers/net/qlge/qlge_main.c:1233:17: warning: restricted degrades to integer\ndrivers/net/qlge/qlge_main.c:1276:17: warning: restricted degrades to integer\ndrivers/net/qlge/qlge_main.c:1349:19: warning: restricted degrades to integer\n\nSigned-off-by: Ron Mercer \u003cron.mercer@qlogic.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8306c952a523ad2f87c101427c3ece91176b822c",
      "tree": "a753b27960554173faa65603c70e1fa72341d415",
      "parents": [
        "0f840011f0396dcb97ca82c64fd43f6990a574dd"
      ],
      "author": {
        "name": "Ron Mercer",
        "email": "ron.mercer@qlogic.com",
        "time": "Mon Jan 05 18:17:33 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 05 18:17:33 2009 -0800"
      },
      "message": "qlge: Fix sparse warnings for byte swapping in qlge_ethool.c\n\ndrivers/net/qlge/qlge_ethtool.c:59:23: warning: cast to restricted type\ndrivers/net/qlge/qlge_ethtool.c:59:21: warning: incorrect type in assignment (different base types)\ndrivers/net/qlge/qlge_ethtool.c:59:21:    expected restricted unsigned short [usertype] irq_delay\ndrivers/net/qlge/qlge_ethtool.c:59:21:    got unsigned short [unsigned] [usertype] \u003cnoident\u003e\ndrivers/net/qlge/qlge_ethtool.c:61:8: warning: cast to restricted type\ndrivers/net/qlge/qlge_ethtool.c:60:21: warning: incorrect type in assignment (different base types)\ndrivers/net/qlge/qlge_ethtool.c:60:21:    expected restricted unsigned short [usertype] pkt_delay\ndrivers/net/qlge/qlge_ethtool.c:60:21:    got unsigned short [unsigned] [usertype] \u003cnoident\u003e\ndrivers/net/qlge/qlge_ethtool.c:82:23: warning: cast to restricted type\ndrivers/net/qlge/qlge_ethtool.c:82:21: warning: incorrect type in assignment (different base types)\ndrivers/net/qlge/qlge_ethtool.c:82:21:    expected restricted unsigned short [usertype] irq_delay\ndrivers/net/qlge/qlge_ethtool.c:82:21:    got unsigned short [unsigned] [usertype] \u003cnoident\u003e\ndrivers/net/qlge/qlge_ethtool.c:84:8: warning: cast to restricted type\ndrivers/net/qlge/qlge_ethtool.c:83:21: warning: incorrect type in assignment (different base types)\ndrivers/net/qlge/qlge_ethtool.c:83:21:    expected restricted unsigned short [usertype] pkt_delay\ndrivers/net/qlge/qlge_ethtool.c:83:21:    got unsigned short [unsigned] [usertype] \u003cnoident\u003e\n\nSigned-off-by: Ron Mercer \u003cron.mercer@qlogic.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0f840011f0396dcb97ca82c64fd43f6990a574dd",
      "tree": "364629a3d51dedfbb4e6e0641c086a464c23d616",
      "parents": [
        "6f57321422e0d359e83c978c2b03db77b967b7d5"
      ],
      "author": {
        "name": "Brice Goglin",
        "email": "brice@myri.com",
        "time": "Mon Jan 05 18:16:14 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 05 18:16:14 2009 -0800"
      },
      "message": "myri10ge: print MAC and serial number on probe failure\n\nTo help board identification and diagnosis, print the MAC\nand serial number on probe failure if they are available.\n\nSigned-off-by: Brice Goglin \u003cbrice@myri.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6f57321422e0d359e83c978c2b03db77b967b7d5",
      "tree": "80d92a8fff5b5ae27ca618f34acf9d696289d6ba",
      "parents": [
        "f1d3e4dca3f8d4f55656477e83d0afe0ea7cbaed"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Mon Jan 05 18:14:19 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 05 18:14:19 2009 -0800"
      },
      "message": "pkt_sched: cls_u32: Fix locking in u32_change()\n\nNew nodes are inserted in u32_change() under rtnl_lock() with wmb(),\nso without tcf_tree_lock() like in other classifiers (e.g. cls_fw).\nThis isn\u0027t enough without rmb() on the read side, but on the other\nhand adding such barriers doesn\u0027t give any savings, so the lock is\nadded instead.\n\nReported-by: m0sia \u003cm0sia@plotinka.ru\u003e\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4696b64d234b84b5b70ffd49a76833aa5c49cb61",
      "tree": "c1a1a647395e1b24395dee7b34501d12bdce3e40",
      "parents": [
        "576b4d0cce9716a3a6c67ded27a638ef833b0a54"
      ],
      "author": {
        "name": "Julian Calaby",
        "email": "julian.calaby@gmail.com",
        "time": "Mon Jan 05 18:13:49 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 05 18:13:49 2009 -0800"
      },
      "message": "sparc: Fix minor SPARC32 compile error\n\nWhen CONFIG_PROC_FS is unset, include/linux/interrupt.h defines\ninit_irq_proc() as an empty function.\n\narch/sparc/kernel/irq_32.c defines this function unconditionally.\n\nFix the latter so that it only defines this function when CONFIG_PROC_FS\nis set.\n\nThis fixes the following error:\narch/sparc/kernel/irq_32.c:672: error: redefinition of \u0027init_irq_proc\u0027\ninclude/linux/interrupt.h:461: error: previous definition of\n\u0027init_irq_proc\u0027 was here\n\nThis was found using randconfig builds.\n\nSigned-off-by: Julian Calaby \u003cjulian.calaby@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f1d3e4dca3f8d4f55656477e83d0afe0ea7cbaed",
      "tree": "1d2d2ebc94dd4b18d26f25cd062bea741f85237e",
      "parents": [
        "65dbd7c2778f1921ef1ee2a73e47a2a126fed30f"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Mon Jan 05 18:09:02 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 05 18:09:02 2009 -0800"
      },
      "message": "iucv: fix cpu hotplug\n\nIf the iucv module is compiled in/loaded but no user is registered cpu\nhot remove doesn\u0027t work. Reason for that is that the iucv cpu hotplug\nnotifier on CPU_DOWN_PREPARE checks if the iucv_buffer_cpumask would\nbe empty after the corresponding bit would be cleared. However the bit\nwas never set since iucv wasn\u0027t enable. That causes all cpu hot unplug\noperations to fail in this scenario.\nTo fix this use iucv_path_table as an indicator wether iucv is enabled\nor not.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Ursula Braun \u003cursula.braun@de.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "65dbd7c2778f1921ef1ee2a73e47a2a126fed30f",
      "tree": "12b6b4517fcc202fe1246c2c87e540cf135fa2d4",
      "parents": [
        "18becbc5479f88d5adc218374ca62b8b93ec2545"
      ],
      "author": {
        "name": "Hendrik Brueckner",
        "email": "brueckner@linux.vnet.ibm.com",
        "time": "Mon Jan 05 18:08:23 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 05 18:08:23 2009 -0800"
      },
      "message": "af_iucv: Free iucv path/socket in path_pending callback\n\nFree iucv path after iucv_path_sever() calls in iucv_callback_connreq()\n(path_pending() iucv callback).\nIf iucv_path_accept() fails, free path and free/kill newly created socket.\n\nSigned-off-by: Hendrik Brueckner \u003cbrueckner@linux.vnet.ibm.com\u003e\nSigned-off-by: Ursula Braun \u003cursula.braun@de.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "18becbc5479f88d5adc218374ca62b8b93ec2545",
      "tree": "c99569ff4d63df5cef410152fbb83d74c683f8be",
      "parents": [
        "55cdea9ed9cf2d76993e40ed7a1fc649a14db07c"
      ],
      "author": {
        "name": "Ursula Braun",
        "email": "ursula.braun@de.ibm.com",
        "time": "Mon Jan 05 18:07:46 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 05 18:07:46 2009 -0800"
      },
      "message": "af_iucv: avoid left over IUCV connections from failing connects\n\nFor certain types of AFIUCV socket connect failures IUCV connections\nare left over. Add some cleanup-statements to avoid cluttered IUCV\nconnections.\n\nSigned-off-by: Ursula Braun \u003cursula.braun@de.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "55cdea9ed9cf2d76993e40ed7a1fc649a14db07c",
      "tree": "86a4fb463649731d88c6495fbd029f5751e578a2",
      "parents": [
        "48e4cc777c091b037acaf39036a77ece43fe1ab9"
      ],
      "author": {
        "name": "Hendrik Brueckner",
        "email": "brueckner@linux.vnet.ibm.com",
        "time": "Mon Jan 05 18:07:07 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 05 18:07:07 2009 -0800"
      },
      "message": "af_iucv: New error return codes for connect()\n\nIf the iucv_path_connect() call fails then return an error code that\ncorresponds to the iucv_path_connect() failure condition; instead of\nreturning -ECONNREFUSED for any failure.\n\nThis helps to improve error handling for user space applications\n(e.g.  inform the user that the z/VM guest is not authorized to\nconnect to other guest virtual machines).\n\nThe error return codes are based on those described in connect(2).\n\nSigned-off-by: Hendrik Brueckner \u003cbrueckner@linux.vnet.ibm.com\u003e\nSigned-off-by: Ursula Braun \u003cursula.braun@de.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "046c68842bce6b77509cf56e94a561029124b0ce",
      "tree": "1a355899ba92ce4059027264cf759986234a930c",
      "parents": [
        "5641f1fde074651ce2488e93944cf05dedd9bf74"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Jan 05 14:06:29 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 17:44:42 2009 -0800"
      },
      "message": "mm: update my address\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5641f1fde074651ce2488e93944cf05dedd9bf74",
      "tree": "2ee93ad7f01ead38be0e16dd0ca23bbd20de4131",
      "parents": [
        "7483cb7bbc02b9471dda28e54f41287d5374e3ac"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Mon Jan 05 17:19:02 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 17:41:45 2009 -0800"
      },
      "message": "X86_DEBUGCTLMSR won\u0027t work on uml\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "7483cb7bbc02b9471dda28e54f41287d5374e3ac"
}
