)]}'
{
  "log": [
    {
      "commit": "96d7fa421e6424ad9ef6d1d039375dc2edb63fe8",
      "tree": "ba8a8200bda4576e1e4dcce2ff27a7a7a94723a2",
      "parents": [
        "de7d4f0e1172a72277d660fa0be59654ea02bed0"
      ],
      "author": {
        "name": "Kristian Hoegsberg",
        "email": "krh@redhat.com",
        "time": "Sun Jul 15 23:37:24 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:34 2007 -0700"
      },
      "message": "lib: add idr_for_each()\n\nThis patch adds an iterator function for the idr data structure.  Compared\nto just iterating through the idr with an integer and idr_find, this\niterator is (almost, but not quite) linear in the number of elements, as\nopposed to the number of integers in the range covered by the idr.  This\nmakes a difference for sparse idrs, but more importantly, it\u0027s a nicer way\nto iterate through the elements.\n\nThe drm subsystem is moving to idr for tracking contexts and drawables, and\nwith this change, we can use the idr exclusively for tracking these\nresources.\n\n[akpm@linux-foundation.org: fix comment]\nSigned-off-by: Kristian Hoegsberg \u003ckrh@redhat.com\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Dave Airlie \u003cairlied@linux.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f2a11b158a24301e9158e9c873fa88e5eb775486",
      "tree": "b8abed0086ad13c2b3b8f5760dd86670defa97ac",
      "parents": [
        "248a9dc32a24a80cd13a1be66dae099d97381155"
      ],
      "author": {
        "name": "Nitin Gupta",
        "email": "nitingupta910@gmail.com",
        "time": "Sun Jul 15 23:37:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:34 2007 -0700"
      },
      "message": "LZO1X: fix lzo1x_worst_compress\n\nThis is a correction for a macro which gives worst case compressed data\nsize by LZO1X.\n\nThis patch was provided by the LZO author (Markus Oberhumer).\n\nSigned-off-by: Nitin Gupta \u003cnitingupta910@gmail.com\u003e\nCc: \"Markus F.X.J. Oberhumer\" \u003cmarkus@oberhumer.com\u003e\nCc: \"Richard Purdie\" \u003crpurdie@openedhand.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d3502d7f25b22cfc9762bf1781faa9db1bb3be2e",
      "tree": "e1d0195704efaafa14caf6965c8f2b6b00cbcb83",
      "parents": [
        "d2a9a8ded48bec153f08ee87a40626c8d0737f79",
        "0a9f2a467d8dacaf7e97469dba99ed2d07287d80"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Jul 15 16:50:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Jul 15 16:50:46 2007 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\n* \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (53 commits)\n  [TCP]: Verify the presence of RETRANS bit when leaving FRTO\n  [IPV6]: Call inet6addr_chain notifiers on link down\n  [NET_SCHED]: Kill CONFIG_NET_CLS_POLICE\n  [NET_SCHED]: act_api: qdisc internal reclassify support\n  [NET_SCHED]: sch_dsmark: act_api support\n  [NET_SCHED]: sch_atm: act_api support\n  [NET_SCHED]: sch_atm: Lindent\n  [IPV6]: MSG_ERRQUEUE messages do not pass to connected raw sockets\n  [IPV4]: Cleanup call to __neigh_lookup()\n  [NET_SCHED]: Revert \"avoid transmit softirq on watchdog wakeup\" optimization\n  [NETFILTER]: nf_conntrack: UDPLITE support\n  [NETFILTER]: nf_conntrack: mark protocols __read_mostly\n  [NETFILTER]: x_tables: add connlimit match\n  [NETFILTER]: Lower *tables printk severity\n  [NETFILTER]: nf_conntrack: Don\u0027t track locally generated special ICMP error\n  [NETFILTER]: nf_conntrack: Introduces nf_ct_get_tuplepr and uses it\n  [NETFILTER]: nf_conntrack: make l3proto-\u003eprepare() generic and renames it\n  [NETFILTER]: nf_conntrack: Increment error count on parsing IPv4 header\n  [NET]: Add ethtool support for NETIF_F_IPV6_CSUM devices.\n  [AF_IUCV]: Add lock when updating accept_q\n  ...\n"
    },
    {
      "commit": "4381ca3c23b07ba5b567f72325003020ddca0341",
      "tree": "8364a54bbb58cd8cabbaed0d9d5a84968e56591e",
      "parents": [
        "5f17c70fe6d0b8562bf396f7e5638f243ebe4da8"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Sun Jul 15 21:00:11 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Jul 15 16:40:51 2007 -0700"
      },
      "message": "fix return type of skb_checksum_complete()\n\nIt returns __sum16, not unsigned int\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d09f51b6997f3f443c5741bc696651e479576715",
      "tree": "6d5eefcbaa9f46d44e8cad626011e886b5d1840c",
      "parents": [
        "1b1ac759d7c6bba6e5f4731ef6ea720b6636e27c",
        "e559e91cce3af215d78b7262360f19b95978aab3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jul 14 23:47:04 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jul 14 23:47:04 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/herbert/crypto-2.6\n\nConflicts:\n\n\tcrypto/Kconfig\n"
    },
    {
      "commit": "370786f9cfd430cb424f00ce4110e75bb1b95a19",
      "tree": "df0e51882850f8db8da8f6e4ab746179b1993b9c",
      "parents": [
        "a887c1c148ffb3eb1c193e9869ca5297c6e22078"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@gmx.de",
        "time": "Sat Jul 14 20:47:26 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 14 20:47:26 2007 -0700"
      },
      "message": "[NETFILTER]: x_tables: add connlimit match\n\nipt_connlimit has been sitting in POM-NG for a long time.\nHere is a new shiny xt_connlimit with:\n\n * xtables\u0027ified\n * will request the layer3 module\n   (previously it hotdropped every packet when it was not loaded)\n * fixed: there was a deadlock in case of an OOM condition\n * support for any layer4 protocol (e.g. UDP/SCTP)\n * using jhash, as suggested by Eric Dumazet\n * ipv6 support\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@gmx.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6460d948f3ebf7d5040328a60a0ab7221f69945b",
      "tree": "d7c2a7eda9f20a03698df32bdc4677ca0c2479d5",
      "parents": [
        "febca281f677a775c61cd0572c2f35e4ead9e7d5"
      ],
      "author": {
        "name": "Michael Chan",
        "email": "mchan@broadcom.com",
        "time": "Sat Jul 14 19:07:52 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 14 19:07:52 2007 -0700"
      },
      "message": "[NET]: Add ethtool support for NETIF_F_IPV6_CSUM devices.\n\nAdd ethtool utility function to set or clear IPV6_CSUM feature flag.\nModify tg3.c and bnx2.c to use this function when doing ethtool -K\nto change tx checksum.\n\nSigned-off-by: Michael Chan \u003cmchan@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cf3842ec5015c862f4869e3641a8549393bb958e",
      "tree": "6c2f0158504f3463fcca1359de90b699cb636e97",
      "parents": [
        "b3b0b681b12478a7afa7d1f3d58be96830e16c7d",
        "63fc33ceb0ccc08b3f62d7bfe56a33eb33ca9427"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jul 14 18:58:49 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jul 14 18:58:49 2007 -0700"
      },
      "message": "Merge branch \u0027upstream-davem\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "b863ceb7ddcea8c55fcf1d7b2ac591d50aa7ed53",
      "tree": "a65d5e4be77666600c0005c5f4c9091df63a3a1b",
      "parents": [
        "56addd6eeeb4e11f5a0af7093ca078e0f29140e0"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Jul 14 18:55:06 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 14 18:55:06 2007 -0700"
      },
      "message": "[NET]: Add macvlan driver\n\nAdd macvlan driver, which allows to create virtual ethernet devices\nbased on MAC address.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "56addd6eeeb4e11f5a0af7093ca078e0f29140e0",
      "tree": "814e84aa686d9fec602f977901634ebf576d039d",
      "parents": [
        "6c78dcbd47a68a7d25d2bee7a6c74b9136cb5fde"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Jul 14 18:53:28 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 14 18:53:28 2007 -0700"
      },
      "message": "[VLAN]: Use multicast list synchronization helpers\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6c78dcbd47a68a7d25d2bee7a6c74b9136cb5fde",
      "tree": "21e4a2ea3eb7ed87ce525c59bb8c4d23d8c84589",
      "parents": [
        "a0a400d79e3dd7843e7e81baa3ef2957bdc292d0"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Jul 14 18:52:56 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 14 18:52:56 2007 -0700"
      },
      "message": "[VLAN]: Fix promiscous/allmulti synchronization races\n\nThe set_multicast_list function may be called without holding the rtnl\nmutex, resulting in races when changing the underlying device\u0027s promiscous\nand allmulti state. Use the change_rx_mode hook, which is always invoked\nunder the rtnl.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a0a400d79e3dd7843e7e81baa3ef2957bdc292d0",
      "tree": "1391190938fb43587967f44f0ab139a2522b4a65",
      "parents": [
        "24023451c8df726692e2f52288a20870d13b501f"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Jul 14 18:52:02 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 14 18:52:02 2007 -0700"
      },
      "message": "[NET]: dev_mcast: add multicast list synchronization helpers\n\nThe method drivers currently use to synchronize multicast lists is not\nvery pretty:\n\n- walk the multicast list\n- search each entry on a copy of the previous list\n- if new add to lower device\n- walk the copy of the previous list\n- search each entry on the current list\n- if removed delete from lower device\n- copy entire list\n\nThis patch adds a new field to struct dev_addr_list to store the\nsynchronization state and adds two helper functions for synchronization\nand cleanup.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "24023451c8df726692e2f52288a20870d13b501f",
      "tree": "b80c48dfe817a1a18484dadbc110ca07353c86c8",
      "parents": [
        "e6c9116d1dc984cb7ecf1b0fe26ca4a8ab36bb57"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Jul 14 18:51:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 14 18:51:31 2007 -0700"
      },
      "message": "[NET]: Add net_device change_rx_mode callback\n\nCurrently the set_multicast_list (and set_rx_mode) callbacks are\nresponsible for configuring the device according to the IFF_PROMISC,\nIFF_MULTICAST and IFF_ALLMULTI flags and the mc_list (and uc_list in\ncase of set_rx_mode).\n\nThese callbacks can be invoked from BH context without the rtnl_mutex\nby dev_mc_add/dev_mc_delete, which makes reading the device flags and\npromiscous/allmulti count racy. For real hardware drivers that just\ncommit all changes to the hardware this is not a real problem since\nthe stack guarantees to call them for every change, so at least the\nfinal call will not race and commit the correct configuration to the\nhardware.\n\nFor software devices that want to synchronize promiscous and multicast\nstate to an underlying device however this can cause corruption of the\nunderlying device\u0027s flags or promisc/allmulti counts.\n\nWhen the software device is concurrently put in promiscous or allmulti\nmode while set_multicast_list is invoked from bottem half context, the\ndevice might synchronize the change to the underlying device without\nholding the rtnl_mutex, which races with concurrent changes to the\nunderlying device.\n\nAdd a dev-\u003echange_rx_flags hook that is invoked when any of the flags\nthat affect rx filtering change (under the rtnl_mutex), which allows\ndrivers to perform synchronization immediately and only synchronize\nthe address lists in set_multicast_list/set_rx_mode.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "16cefa8c3863721fd40445a1b34dea18cd16ccfe",
      "tree": "c8e58ca06e2edfd667d3e6062a642b80cc58e5e7",
      "parents": [
        "4fbef206daead133085fe33905f5e842d38fb8da",
        "d8558f99fbc5ef5d4ae76b893784005056450f82"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 13 16:46:18 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 13 16:46:18 2007 -0700"
      },
      "message": "Merge git://git.linux-nfs.org/pub/linux/nfs-2.6\n\n* git://git.linux-nfs.org/pub/linux/nfs-2.6: (122 commits)\n  sunrpc: drop BKL around wrap and unwrap\n  NFSv4: Make sure unlock is really an unlock when cancelling a lock\n  NLM: fix source address of callback to client\n  SUNRPC client: add interface for binding to a local address\n  SUNRPC server: record the destination address of a request\n  SUNRPC: cleanup transport creation argument passing\n  NFSv4: Make the NFS state model work with the nosharedcache mount option\n  NFS: Error when mounting the same filesystem with different options\n  NFS: Add the mount option \"nosharecache\"\n  NFS: Add support for mounting NFSv4 file systems with string options\n  NFS: Add final pieces to support in-kernel mount option parsing\n  NFS: Introduce generic mount client API\n  NFS: Add enums and match tables for mount option parsing\n  NFS: Improve debugging output in NFS in-kernel mount client\n  NFS: Clean up in-kernel NFS mount\n  NFS: Remake nfsroot_mount as a permanent part of NFS client\n  SUNRPC: Add a convenient default for the hostname when calling rpc_create()\n  SUNRPC: Rename rpcb_getport to be consistent with new rpcb_getport_sync name\n  SUNRPC: Rename rpcb_getport_external routine\n  SUNRPC: Allow rpcbind requests to be interrupted by a signal.\n  ...\n"
    },
    {
      "commit": "e030dbf91a87da7e8be3be3ca781558695bea683",
      "tree": "4ff2e01621a888be4098ca48c404775e56a55a0d",
      "parents": [
        "12a22960549979c10a95cc97f8ec63b461c55692",
        "3039f0735a280b54c7364fbfe6a9287f7f0b510a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 13 10:52:27 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 13 10:52:27 2007 -0700"
      },
      "message": "Merge branch \u0027ioat-md-accel-for-linus\u0027 of git://lost.foo-projects.org/~dwillia2/git/iop\n\n* \u0027ioat-md-accel-for-linus\u0027 of git://lost.foo-projects.org/~dwillia2/git/iop: (28 commits)\n  ioatdma: add the unisys \"i/oat\" pci vendor/device id\n  ARM: Add drivers/dma to arch/arm/Kconfig\n  iop3xx: surface the iop3xx DMA and AAU units to the iop-adma driver\n  iop13xx: surface the iop13xx adma units to the iop-adma driver\n  dmaengine: driver for the iop32x, iop33x, and iop13xx raid engines\n  md: remove raid5 compute_block and compute_parity5\n  md: handle_stripe5 - request io processing in raid5_run_ops\n  md: handle_stripe5 - add request/completion logic for async expand ops\n  md: handle_stripe5 - add request/completion logic for async read ops\n  md: handle_stripe5 - add request/completion logic for async check ops\n  md: handle_stripe5 - add request/completion logic for async compute ops\n  md: handle_stripe5 - add request/completion logic for async write ops\n  md: common infrastructure for running operations with raid5_run_ops\n  md: raid5_run_ops - run stripe operations outside sh-\u003elock\n  raid5: replace custom debug PRINTKs with standard pr_debug\n  raid5: refactor handle_stripe5 and handle_stripe6 (v3)\n  async_tx: add the async_tx api\n  xor: make \u0027xor_blocks\u0027 a library routine for use with async_tx\n  dmaengine: make clients responsible for managing channels\n  dmaengine: refactor dmaengine around dma_async_tx_descriptor\n  ...\n"
    },
    {
      "commit": "aba2da66cfbf7790ad79d4dee95871127d5ddf5e",
      "tree": "974585e8419f63ebc2fa1e244c494b6b53f5842d",
      "parents": [
        "773208946a132fb733ba273ee8562814f828cc28",
        "f787a50306680c187cf2896a8017937c1bf6dc7e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 13 10:12:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 13 10:13:37 2007 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched:\n  [PATCH] sched: small topology.h cleanup\n  [PATCH] sched: fix show_task()/show_tasks() output\n  [PATCH] sched: remove stale version info from kernel/sched_debug.c\n  [PATCH] sched: allow larger granularity\n  [PATCH] sched: fix prio_to_wmult[] for nice 1\n\n[ I re-did the commits to get rid of some bogus merge commit that\n  Ingo had. - Linus ]\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f787a50306680c187cf2896a8017937c1bf6dc7e",
      "tree": "1dbc2b37c53759bde6e227e6502ad5555388f305",
      "parents": [
        "4bd77321a833077c5c9ac7b9d284e261e4a8906e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 11 21:21:47 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 13 10:11:52 2007 -0700"
      },
      "message": "[PATCH] sched: small topology.h cleanup\n\ntrivial cleanup: LOCAL_DISTANCE and REMOTE_DISTANCE are only used in\ntopology.h and inside an #ifndef section - limit their existence to\nthat #ifndef.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3039f0735a280b54c7364fbfe6a9287f7f0b510a",
      "tree": "1d64cdab174e681660d689d367f0bde4e2884fdd",
      "parents": [
        "5816815f7850509ed51ab94eb4f644e405ccb865"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:19 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:19 2007 -0700"
      },
      "message": "ioatdma: add the unisys \"i/oat\" pci vendor/device id\n\nCc: John Magolan \u003cjohn.magolan@unisys.com\u003e\nSigned-off-by: Shannon Nelson \u003cshannon.nelson@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "b5e98d65d34a1c11a2135ea8a9b2619dbc7216c8",
      "tree": "bf88aad375bb0cbf6c346ec912c06c2607850b21",
      "parents": [
        "e89f89629b5de76e504d1be75c82c4a6b2419583"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 02 13:52:31 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:17 2007 -0700"
      },
      "message": "md: handle_stripe5 - add request/completion logic for async read ops\n\nWhen a read bio is attached to the stripe and the corresponding block is\nmarked R5_UPTODATE, then a read (biofill) operation is scheduled to copy\nthe data from the stripe cache to the bio buffer.  handle_stripe flags the\nblocks to be operated on with the R5_Wantfill flag.  If new read requests\narrive while raid5_run_ops is running they will not be handled until\nhandle_stripe is scheduled to run again.\n\nChangelog:\n* cleanup to_read and to_fill accounting\n* do not fail reads that have reached the cache\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "f38e12199a94ca458e4f03c5a2c984fb80adadc5",
      "tree": "706f54c46d4a4c839dd43c1403854dde860c6be5",
      "parents": [
        "e33129d84130459dbb764a1a52a4bfceab3da978"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 02 13:52:30 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:17 2007 -0700"
      },
      "message": "md: handle_stripe5 - add request/completion logic for async compute ops\n\nhandle_stripe will compute a block when a backing disk has failed, or when\nit determines it can save a disk read by computing the block from all the\nother up-to-date blocks.\n\nPreviously a block would be computed under the lock and subsequent logic in\nhandle_stripe could use the newly up-to-date block.  With the raid5_run_ops\nimplementation the compute operation is carried out a later time outside\nthe lock.  To preserve the old functionality we take advantage of the\ndependency chain feature of async_tx to flag the block as R5_Wantcompute\nand then let other parts of handle_stripe operate on the block as if it\nwere up-to-date.  raid5_run_ops guarantees that the block will be ready\nbefore it is used in another operation.\n\nHowever, this only works in cases where the compute and the dependent\noperation are scheduled at the same time.  If a previous call to\nhandle_stripe sets the R5_Wantcompute flag there is no facility to pass the\nasync_tx dependency chain across successive calls to raid5_run_ops.  The\nreq_compute variable protects against this case.\n\nChangelog:\n* remove the req_compute BUG_ON\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "91c00924846a0034020451c280c76baa4299f9dc",
      "tree": "7124ed6706937b793a10c37a861c5fc0f2e5b348",
      "parents": [
        "45b4233caac05da0118b608a9fc2a40a9fc580cd"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 02 13:52:30 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:15 2007 -0700"
      },
      "message": "md: raid5_run_ops - run stripe operations outside sh-\u003elock\n\nWhen the raid acceleration work was proposed, Neil laid out the following\nattack plan:\n\n1/ move the xor and copy operations outside spin_lock(\u0026sh-\u003elock)\n2/ find/implement an asynchronous offload api\n\nThe raid5_run_ops routine uses the asynchronous offload api (async_tx) and\nthe stripe_operations member of a stripe_head to carry out xor+copy\noperations asynchronously, outside the lock.\n\nTo perform operations outside the lock a new set of state flags is needed\nto track new requests, in-flight requests, and completed requests.  In this\nnew model handle_stripe is tasked with scanning the stripe_head for work,\nupdating the stripe_operations structure, and finally dropping the lock and\ncalling raid5_run_ops for processing.  The following flags outline the\nrequests that handle_stripe can make of raid5_run_ops:\n\nSTRIPE_OP_BIOFILL\n - copy data into request buffers to satisfy a read request\nSTRIPE_OP_COMPUTE_BLK\n - generate a missing block in the cache from the other blocks\nSTRIPE_OP_PREXOR\n - subtract existing data as part of the read-modify-write process\nSTRIPE_OP_BIODRAIN\n - copy data out of request buffers to satisfy a write request\nSTRIPE_OP_POSTXOR\n - recalculate parity for new data that has entered the cache\nSTRIPE_OP_CHECK\n - verify that the parity is correct\nSTRIPE_OP_IO\n - submit i/o to the member disks (note this was already performed outside\n   the stripe lock, but it made sense to add it as an operation type\n\nThe flow is:\n1/ handle_stripe sets STRIPE_OP_* in sh-\u003eops.pending\n2/ raid5_run_ops reads sh-\u003eops.pending, sets sh-\u003eops.ack, and submits the\n   operation to the async_tx api\n3/ async_tx triggers the completion callback routine to set\n   sh-\u003eops.complete and release the stripe\n4/ handle_stripe runs again to finish the operation and optionally submit\n   new operations that were previously blocked\n\nNote this patch just defines raid5_run_ops, subsequent commits (one per\nmajor operation type) modify handle_stripe to take advantage of this\nroutine.\n\nChangelog:\n* removed ops_complete_biodrain in favor of ops_complete_postxor and\n  ops_complete_write.\n* removed the raid5_run_ops workqueue\n* call bi_end_io for reads in ops_complete_biofill, saves a call to\n  handle_stripe\n* explicitly handle the 2-disk raid5 case (xor becomes memcpy), Neil Brown\n* fix race between async engines and bi_end_io call for reads, Neil Brown\n* remove unnecessary spin_lock from ops_complete_biofill\n* remove test_and_set/test_and_clear BUG_ONs, Neil Brown\n* remove explicit interrupt handling for channel switching, this feature\n  was absorbed (i.e. it is now implicit) by the async_tx api\n* use return_io in ops_complete_biofill\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "a445685647e825c713175d180ffc8dd54d90589b",
      "tree": "d2db5674e51d33162e1e5993b6e6680ec534e2df",
      "parents": [
        "9bc89cd82d6f88fb0ca39b30445c329a430fd66b"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Jul 09 11:56:43 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:15 2007 -0700"
      },
      "message": "raid5: refactor handle_stripe5 and handle_stripe6 (v3)\n\nhandle_stripe5 and handle_stripe6 have very deep logic paths handling the\nvarious states of a stripe_head.  By introducing the \u0027stripe_head_state\u0027\nand \u0027r6_state\u0027 objects, large portions of the logic can be moved to\nsub-routines.\n\n\u0027struct stripe_head_state\u0027 consumes all of the automatic variables that previously\nstood alone in handle_stripe5,6.  \u0027struct r6_state\u0027 contains the handle_stripe6\nspecific variables like p_failed and q_failed.\n\nOne of the nice side effects of the \u0027stripe_head_state\u0027 change is that it\nallows for further reductions in code duplication between raid5 and raid6.\nThe following new routines are shared between raid5 and raid6:\n\n\thandle_completed_write_requests\n\thandle_requests_to_failed_array\n\thandle_stripe_expansion\n\nChanges:\n* v2: fixed \u0027conf-\u003eraid_disk-1\u0027 for the raid6 \u0027handle_stripe_expansion\u0027 path\n* v3: removed the unused \u0027dirty\u0027 field from struct stripe_head_state\n* v3: coalesced open coded bi_end_io routines into return_io()\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "9bc89cd82d6f88fb0ca39b30445c329a430fd66b",
      "tree": "7bd0e856abd359f84edea1bacfd1dd32edd93fbb",
      "parents": [
        "685784aaf3cd0e3ff5e36c7ecf6f441cdbf57f73"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 02 11:10:44 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:14 2007 -0700"
      },
      "message": "async_tx: add the async_tx api\n\nThe async_tx api provides methods for describing a chain of asynchronous\nbulk memory transfers/transforms with support for inter-transactional\ndependencies.  It is implemented as a dmaengine client that smooths over\nthe details of different hardware offload engine implementations.  Code\nthat is written to the api can optimize for asynchronous operation and the\napi will fit the chain of operations to the available offload resources. \n \n\tI imagine that any piece of ADMA hardware would register with the\n\t\u0027async_*\u0027 subsystem, and a call to async_X would be routed as\n\tappropriate, or be run in-line. - Neil Brown\n\nasync_tx exploits the capabilities of struct dma_async_tx_descriptor to\nprovide an api of the following general format:\n\nstruct dma_async_tx_descriptor *\nasync_\u003coperation\u003e(..., struct dma_async_tx_descriptor *depend_tx,\n\t\t\tdma_async_tx_callback cb_fn, void *cb_param)\n{\n\tstruct dma_chan *chan \u003d async_tx_find_channel(depend_tx, \u003coperation\u003e);\n\tstruct dma_device *device \u003d chan ? chan-\u003edevice : NULL;\n\tint int_en \u003d cb_fn ? 1 : 0;\n\tstruct dma_async_tx_descriptor *tx \u003d device ?\n\t\tdevice-\u003edevice_prep_dma_\u003coperation\u003e(chan, len, int_en) : NULL;\n\n\tif (tx) { /* run \u003coperation\u003e asynchronously */\n\t\t...\n\t\ttx-\u003etx_set_dest(addr, tx, index);\n\t\t...\n\t\ttx-\u003etx_set_src(addr, tx, index);\n\t\t...\n\t\tasync_tx_submit(chan, tx, flags, depend_tx, cb_fn, cb_param);\n\t} else { /* run \u003coperation\u003e synchronously */\n\t\t...\n\t\t\u003coperation\u003e\n\t\t...\n\t\tasync_tx_sync_epilog(flags, depend_tx, cb_fn, cb_param);\n\t}\n\n\treturn tx;\n}\n\nasync_tx_find_channel() returns a capable channel from its pool.  The\nchannel pool is organized as a per-cpu array of channel pointers.  The\nasync_tx_rebalance() routine is tasked with managing these arrays.  In the\nuniprocessor case async_tx_rebalance() tries to spread responsibility\nevenly over channels of similar capabilities.  For example if there are two\ncopy+xor channels, one will handle copy operations and the other will\nhandle xor.  In the SMP case async_tx_rebalance() attempts to spread the\noperations evenly over the cpus, e.g. cpu0 gets copy channel0 and xor\nchannel0 while cpu1 gets copy channel 1 and xor channel 1.  When a\ndependency is specified async_tx_find_channel defaults to keeping the\noperation on the same channel.  A xor-\u003ecopy-\u003exor chain will stay on one\nchannel if it supports both operation types, otherwise the transaction will\ntransition between a copy and a xor resource.\n\nCurrently the raid5 implementation in the MD raid456 driver has been\nconverted to the async_tx api.  A driver for the offload engines on the\nIntel Xscale series of I/O processors, iop-adma, is provided in a later\ncommit.  With the iop-adma driver and async_tx, raid456 is able to offload\ncopy, xor, and xor-zero-sum operations to hardware engines.\n \nOn iop342 tiobench showed higher throughput for sequential writes (20 - 30%\nimprovement) and sequential reads to a degraded array (40 - 55%\nimprovement).  For the other cases performance was roughly equal, +/- a few\npercentage points.  On a x86-smp platform the performance of the async_tx\nimplementation (in synchronous mode) was also +/- a few percentage points\nof the original implementation.  According to \u0027top\u0027 on iop342 CPU\nutilization drops from ~50% to ~15% during a \u0027resync\u0027 while the speed\naccording to /proc/mdstat doubles from ~25 MB/s to ~50 MB/s.\n \nThe tiobench command line used for testing was: tiobench --size 2048\n--block 4096 --block 131072 --dir /mnt/raid --numruns 5\n* iop342 had 1GB of memory available\n\nDetails:\n* if CONFIG_DMA_ENGINE\u003dn the asynchronous path is compiled away by making\n  async_tx_find_channel a static inline routine that always returns NULL\n* when a callback is specified for a given transaction an interrupt will\n  fire at operation completion time and the callback will occur in a\n  tasklet.  if the the channel does not support interrupts then a live\n  polling wait will be performed\n* the api is written as a dmaengine client that requests all available\n  channels\n* In support of dependencies the api implicitly schedules channel-switch\n  interrupts.  The interrupt triggers the cleanup tasklet which causes\n  pending operations to be scheduled on the next channel\n* Xor engines treat an xor destination address differently than a software\n  xor routine.  To the software routine the destination address is an implied\n  source, whereas engines treat it as a write-only destination.  This patch\n  modifies the xor_blocks routine to take a an explicit destination address\n  to mirror the hardware.\n\nChangelog:\n* fixed a leftover debug print\n* don\u0027t allow callbacks in async_interrupt_cond\n* fixed xor_block changes\n* fixed usage of ASYNC_TX_XOR_DROP_DEST\n* drop dma mapping methods, suggested by Chris Leech\n* printk warning fixups from Andrew Morton\n* don\u0027t use inline in C files, Adrian Bunk\n* select the API when MD is enabled\n* BUG_ON xor source counts \u003c\u003d 1\n* implicitly handle hardware concerns like channel switching and\n  interrupts, Neil Brown\n* remove the per operation type list, and distribute operation capabilities\n  evenly amongst the available channels\n* simplify async_tx_find_channel to optimize the fast path\n* introduce the channel_table_initialized flag to prevent early calls to\n  the api\n* reorganize the code to mimic crypto\n* include mm.h as not all archs include it in dma-mapping.h\n* make the Kconfig options non-user visible, Adrian Bunk\n* move async_tx under crypto since it is meant as \u0027core\u0027 functionality, and\n  the two may share algorithms in the future\n* move large inline functions into c files\n* checkpatch.pl fixes\n* gpl v2 only correction\n\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "685784aaf3cd0e3ff5e36c7ecf6f441cdbf57f73",
      "tree": "10f99829f7d877b87614fe69be77e363c026a8d7",
      "parents": [
        "d379b01e9087a582d58f4b678208a4f8d8376fe7"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Jul 09 11:56:42 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:14 2007 -0700"
      },
      "message": "xor: make \u0027xor_blocks\u0027 a library routine for use with async_tx\n\nThe async_tx api tries to use a dma engine for an operation, but will fall\nback to an optimized software routine otherwise.  Xor support is\nimplemented using the raid5 xor routines.  For organizational purposes this\nroutine is moved to a common area.\n\nThe following fixes are also made:\n* rename xor_block \u003d\u003e xor_blocks, suggested by Adrian Bunk\n* ensure that xor.o initializes before md.o in the built-in case\n* checkpatch.pl fixes\n* mark calibrate_xor_blocks __init, Adrian Bunk\n\nCc: Adrian Bunk \u003cbunk@stusta.de\u003e\nCc: NeilBrown \u003cneilb@suse.de\u003e\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "d379b01e9087a582d58f4b678208a4f8d8376fe7",
      "tree": "155920bca93c18afba66b9d5acfecd359d5bec65",
      "parents": [
        "7405f74badf46b5d023c5d2b670b4471525f6c91"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Jul 09 11:56:42 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:13 2007 -0700"
      },
      "message": "dmaengine: make clients responsible for managing channels\n\nThe current implementation assumes that a channel will only be used by one\nclient at a time.  In order to enable channel sharing the dmaengine core is\nchanged to a model where clients subscribe to channel-available-events.\nInstead of tracking how many channels a client wants and how many it has\nreceived the core just broadcasts the available channels and lets the\nclients optionally take a reference.  The core learns about the clients\u0027\nneeds at dma_event_callback time.\n\nIn support of multiple operation types, clients can specify a capability\nmask to only be notified of channels that satisfy a certain set of\ncapabilities.\n\nChangelog:\n* removed DMA_TX_ARRAY_INIT, no longer needed\n* dma_client_chan_free -\u003e dma_chan_release: switch to global reference\n  counting only at device unregistration time, before it was also happening\n  at client unregistration time\n* clients now return dma_state_client to dmaengine (ack, dup, nak)\n* checkpatch.pl fixes\n* fixup merge with git-ioat\n\nCc: Chris Leech \u003cchristopher.leech@intel.com\u003e\nSigned-off-by: Shannon Nelson \u003cshannon.nelson@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7405f74badf46b5d023c5d2b670b4471525f6c91",
      "tree": "20dd20571637dba1c2b04c7b13ac208c33b5706b",
      "parents": [
        "428ed6024fa74a271142f3257966e9b5e1cb37a1"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 02 11:10:43 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:11 2007 -0700"
      },
      "message": "dmaengine: refactor dmaengine around dma_async_tx_descriptor\n\nThe current dmaengine interface defines mutliple routines per operation,\ni.e. dma_async_memcpy_buf_to_buf, dma_async_memcpy_buf_to_page etc.  Adding\nmore operation types (xor, crc, etc) to this model would result in an\nunmanageable number of method permutations.\n\n\tAre we really going to add a set of hooks for each DMA engine\n\twhizbang feature?\n\t\t- Jeff Garzik\n\nThe descriptor creation process is refactored using the new common\ndma_async_tx_descriptor structure.  Instead of per driver\ndo_\u003coperation\u003e_\u003cdest\u003e_to_\u003csrc\u003e methods, drivers integrate\ndma_async_tx_descriptor into their private software descriptor and then\ndefine a \u0027prep\u0027 routine per operation.  The prep routine allocates a\ndescriptor and ensures that the tx_set_src, tx_set_dest, tx_submit routines\nare valid.  Descriptor creation and submission becomes:\n\nstruct dma_device *dev;\nstruct dma_chan *chan;\nstruct dma_async_tx_descriptor *tx;\n\ntx \u003d dev-\u003edevice_prep_dma_\u003coperation\u003e(chan, len, int_flag)\ntx-\u003etx_set_src(dma_addr_t, tx, index /* for multi-source ops */)\ntx-\u003etx_set_dest(dma_addr_t, tx, index)\ntx-\u003etx_submit(tx)\n\nIn addition to the refactoring, dma_async_tx_descriptor also lays the\ngroundwork for definining cross-channel-operation dependencies, and a\ncallback facility for asynchronous notification of operation completion.\n\nChangelog:\n* drop dma mapping methods, suggested by Chris Leech\n* fix ioat_dma_dependency_added, also caught by Andrew Morton\n* fix dma_sync_wait, change from Andrew Morton\n* uninline large functions, change from Andrew Morton\n* add tx-\u003ecallback \u003d NULL to dmaengine calls to interoperate with async_tx\n  calls\n* hookup ioat_tx_submit\n* convert channel capabilities to a \u0027cpumask_t like\u0027 bitmap\n* removed DMA_TX_ARRAY_INIT, no longer needed\n* checkpatch.pl fixes\n* make set_src, set_dest, and tx_submit descriptor specific methods\n* fixup git-ioat merge\n* move group_list and phys to dma_async_tx_descriptor\n\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: Chris Leech \u003cchristopher.leech@intel.com\u003e\nSigned-off-by: Shannon Nelson \u003cshannon.nelson@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9374430a52dfae5c013b88f7f030c04a6774d410",
      "tree": "ce1ee8eee4e79fbb9486e810278d1092afc74a44",
      "parents": [
        "66f49739fe1591197364f2dad1b67b975e8f5e85",
        "13f9966b3ba5b45f47f2ea0eb0a90afceedfbb1f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 16:46:58 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 16:46:58 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6: (149 commits)\n  USB: ohci-pnx4008: Remove unnecessary cast of return value of kzalloc\n  USB: additions to the quirk list\n  usb-storage: implement autosuspend\n  USB: cdc-acm: add new device id to option driver\n  USB: goku_udc trivial cleanups\n  USB: usb gadget stack can now -DDEBUG with Kconfig\n  usb gadget stack: remove usb_ep_*_buffer(), part 2\n  usb gadget stack: remove usb_ep_*_buffer(), part 1\n  USB: pxa2xx_udc -- cleanups, mostly removing dma hooks\n  USB: pxa2xx_udc: use generic gpio layer\n  USB: quirk for samsung printer\n  USB: usb/dma doc updates\n  USB: drivers/usb/storage/unusual_devs.h whitespace cleanup\n  USB: remove Makefile reference to obsolete OHCI_AT91\n  USB: io_*: remove bogus termios no change checks\n  USB: mos7720: remove bogus no termios change check\n  USB: visor and whiteheat: remove bogus termios change checks\n  USB: pl2303: remove bogus checks and fix speed support to use tty_get_baud_rate()\n  USB: mos7840.c: turn this into a serial driver\n  USB: make the usb_device numa_node get assigned from controller\n  ...\n"
    },
    {
      "commit": "0cdf6990e992902ae59cbc625d28cb41390f378e",
      "tree": "0c01cf792be5f36ea34064036005f424ab95a571",
      "parents": [
        "de081fa517fed81b0369f2e90ca87c30182879c8",
        "cec7c893d8654723028f09d33341e42673558057"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 16:45:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 16:45:40 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (76 commits)\n  IB: Update MAINTAINERS with Hal\u0027s new email address\n  IB/mlx4: Implement query SRQ\n  IB/mlx4: Implement query QP\n  IB/cm: Send no match if a SIDR REQ does not match a listen\n  IB/cm: Fix handling of duplicate SIDR REQs\n  IB/cm: cm_msgs.h should include ib_cm.h\n  IB/cm: Include HCA ACK delay in local ACK timeout\n  IB/cm: Use spin_lock_irq() instead of spin_lock_irqsave() when possible\n  IB/sa: Make sure SA queries use default P_Key\n  IPoIB: Recycle loopback skbs instead of freeing and reallocating\n  IB/mthca: Replace memset(\u003caddr\u003e, 0, PAGE_SIZE) with clear_page(\u003caddr\u003e)\n  IPoIB/cm: Fix warning if IPV6 is not enabled\n  IB/core: Take sizeof the correct pointer when calling kmalloc()\n  IB/ehca: Improve latency by unlocking after triggering the hardware\n  IB/ehca: Notify consumers of LID/PKEY/SM changes after nondisruptive events\n  IB/ehca: Return QP pointer in poll_cq()\n  IB/ehca: Change idr spinlocks into rwlocks\n  IB/ehca: Refactor sync between completions and destroy_cq using atomic_t\n  IB/ehca: Lock renaming, static initializers\n  IB/ehca: Report RDMA atomic attributes in query_qp()\n  ...\n"
    },
    {
      "commit": "c67ab134ba9f83f9de86e58adfeaa14a9efa6e00",
      "tree": "df9022b4a38e955abbf254d71e00ac1fecce6420",
      "parents": [
        "9d8bab58b758cd5a96d368a8cc64111c9ab50407"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Sun Jul 01 12:21:00 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jul 12 16:34:42 2007 -0700"
      },
      "message": "usb gadget stack: remove usb_ep_*_buffer(), part 2\n\nThis patch removes controller driver infrastructure which supported\nthe now-removed usb_ep_{alloc,free}_buffer() calls.\n\nAs can be seen, many of the implementations of this were broken to\nvarious degrees.  Many didn\u0027t properly return dma-coherent mappings;\nthose which did so were necessarily ugly because of bogosity in the\nunderlying dma_free_coherent() calls ... which on many platforms\ncan\u0027t be called from the same contexts (notably in_irq) from which\ntheir dma_alloc_coherent() sibling can be called.\n\nThe main potential downside of removing this is that gadget drivers\nwouldn\u0027t have specific knowledge that the controller drivers have:\nendpoints that aren\u0027t dma-capable don\u0027t need any dma mappings at all.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "9d8bab58b758cd5a96d368a8cc64111c9ab50407",
      "tree": "710695adf1e50f2e4680c130d548ccd3e6251630",
      "parents": [
        "ad8c623f4f48085edd51c7f4cdfd10295547bf45"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Sun Jul 01 11:04:54 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jul 12 16:34:42 2007 -0700"
      },
      "message": "usb gadget stack: remove usb_ep_*_buffer(), part 1\n\nRemove usb_ep_{alloc,free}_buffer() calls, for small dma-coherent buffers.\nThis patch just removes the interface and its users; later patches will\nremove controller driver support.\n\n  - This interface is invariably not implemented correctly in the\n    controller drivers (e.g. using dma pools, a mechanism which\n    post-dates the interface by several years).\n\n  - At this point no gadget driver really *needs* to use it.  In\n    current kernels, any driver that needs such a mechanism could\n    allocate a dma pool themselves.\n\nRemoving this interface is thus a simplification and improvement.\n\nNote that the gmidi.c driver had a bug in this area; fixed.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "165fe97ed6107d3cde63592d5ac36400a5eb9f6f",
      "tree": "824bb475b4f36af465989c5dac62f4097a1bd01c",
      "parents": [
        "50d2dc7266573dfbdc84fc207494dd21315782ef"
      ],
      "author": {
        "name": "Craig W. Nadler",
        "email": "craig@nadler.us",
        "time": "Fri Jun 15 23:14:35 2007 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jul 12 16:34:40 2007 -0700"
      },
      "message": "USB: add IAD support to usbfs and sysfs\n\nUSB_IAD: Adds support for USB Interface Association Descriptors.\n\nThis patch adds support to the USB host stack for parsing, storing, and\ndisplaying Interface Association Descriptors. In /proc/bus/usb/devices\nlines starting with A: show the fields in an IAD. In sysfs if an\ninterface on a USB device is referenced by an IAD the following files\nwill be added to the sysfs directory for that interface:\niad_bFirstInterface, iad_bInterfaceCount, iad_bFunctionClass, and\niad_bFunctionSubClass, iad_bFunctionProtocol\n\nSigned-off-by: Craig W. Nadler \u003ccraig@nadler.us\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "8b3b01c898a44c2fc7217eb579982b9d132113f5",
      "tree": "4d7da145c0fa47243b0f67b62fcdfaa4f53d184e",
      "parents": [
        "300871cd963e24a68aaa9b762f4a10403697d9be"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jun 13 08:02:11 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jul 12 16:34:38 2007 -0700"
      },
      "message": "USB: Add URB_FREE_BUFFER flag and the logic behind it\n\nUSB: Add URB_FREE_BUFFER flag for freeing the transfer buffer\n\nIn some cases it is not needed that the driver keeps track of the\ntransfer buffer of an URB. It can be simply freed along with the\nURB itself when the reference count goes down to zero. The new\nflag URB_FREE_BUFFER enables this behavior.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "b41a60eca833d76593d4dac8a59f5c38714194ee",
      "tree": "a7c5cf721d9978503c3c8c88183747cf954b8733",
      "parents": [
        "54515fe528d8c6f9bfaf7d0b9fffb908deecad78"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Wed May 30 15:39:33 2007 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jul 12 16:34:30 2007 -0700"
      },
      "message": "USB: add power/persist device attribute\n\nThis patch (as920) adds an extra level of protection to the\nUSB-Persist facility.  Now it will apply by default only to hubs; for\nall other devices the user must enable it explicitly by setting the\npower/persist device attribute.\n\nThe disconnect_all_children() routine in hub.c has been removed and\nits code placed inline.  This is the way it was originally as part of\nhub_pre_reset(); the revised usage in hub_reset_resume() is\nsufficiently different that the code can no longer be shared.\nLikewise, mark_children_for_reset() is now inline as part of\nhub_reset_resume().  The end result looks much cleaner than before.\n\nThe sysfs interface is updated to add the new attribute file, and\nthere are corresponding documentation updates.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f07600cf9eb3ee92777b2001e564faa413144a99",
      "tree": "e48f2e3051fde642e80269bf9c54b289d4abdb44",
      "parents": [
        "624d6c0732d2c4ac00945ad79dbb6ff39ba90ee3"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Wed May 30 15:38:16 2007 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jul 12 16:34:30 2007 -0700"
      },
      "message": "USB: add reset_resume method\n\nThis patch (as918) introduces a new USB driver method: reset_resume.\nIt is called when a device needs to be reset as part of a resume\nprocedure (whether because of a device quirk or because of the\nUSB-Persist facility), thereby taking over a role formerly assigned to\nthe post_reset method.  As a consequence, post_reset no longer needs\nan argument indicating whether it is being called as part of a\nreset-resume.  This separation of functions makes the code clearer.\n\nIn addition, the pre_reset and post_reset method return types are\nchanged; they now must return an error code.  The return value is\nunused at present, but at some later time we may unbind drivers and\nre-probe if they encounter an error during reset handling.\n\nThe existing pre_reset and post_reset methods in the usbhid,\nusb-storage, and hub drivers are updated to match the new\nrequirements.  For usbhid the post_reset routine is also used for\nreset_resume (duplicate method pointers); for the other drivers a new\nreset_resume routine is added.  The change to hub.c looks bigger than\nit really is, because mark_children_for_reset_resume() gets moved down\nnext to the new hub_reset_resume() routine.\n\nA minor change to usb-storage makes the usb_stor_report_bus_reset()\nroutine acquire the host lock instead of requiring the caller to hold\nit already.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nCC: Matthew Dharm \u003cmdharm-usb@one-eyed-alien.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "51a2f077c44e559841b09de6da605b4d3ae40dad",
      "tree": "2d4d0064994de2223abac57f7242579649717ae6",
      "parents": [
        "ffcdc18d64d73ecce49c182f969977ae88ff4384"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oneukum@suse.de",
        "time": "Fri May 25 13:40:56 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jul 12 16:29:51 2007 -0700"
      },
      "message": "USB: introduce usb_anchor\n\n- introduction of usb_anchor and its methods\n\nSigned-off-by: Oliver Neukum \u003coneukum@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a5262dcfda9163ca1f8a64349a6f7ba640ac1dc2",
      "tree": "268090b3a52fb2a3e3e08b91a934e76558d187f8",
      "parents": [
        "8234509c3968a87faa301a8a9d7f8b987cd9181c"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Mon May 14 19:36:41 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jul 12 16:29:50 2007 -0700"
      },
      "message": "USB: export \u003clinux/usb_gadgetfs\u003e as \u003clinux/usb/gadgetfs.h\u003e\n\nMake sure gadgetfs userspace interface is properly exported:\n\n - Move \u003clinux/usb_gadgetfs.h\u003e to \u003clinux/usb/gadgetfs.h\u003e;\n - Export it using Kbuild;\n - Add an #include guard;\n - Correct some internal documentation;\n - Update struct layout so it\u0027s the same on 32/64 bit kernels.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "8538f96ae5aada1c04d69a993b20ad160b191d47",
      "tree": "53545dc889b838ad9807acff4d2b4409f0661b72",
      "parents": [
        "7f9985c2e4e5555b750d6f891b4923e63cc834c1"
      ],
      "author": {
        "name": "Daniel Drake",
        "email": "dsd@gentoo.org",
        "time": "Thu May 10 00:32:24 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jul 12 16:29:48 2007 -0700"
      },
      "message": "USB: add USB_DEVICE_AND_INTERFACE_INFO for device matching\n\nRecently, the USB device matching code stopped matching generic interface\nmatches against devices with vendor-specific device class values.\n\nSome drivers now need to explicitly match USB device ID\u0027s (in addition to\ngeneric interface info) to retain the same behaviour as before. This new macro,\nsuggested by Alan Stern, makes the explicit device/interface matching a little\nsimpler for those users.\n\nSigned-off-by: Daniel Drake \u003cdsd@gentoo.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6bc6cff52e0c4c4c876b1b8a5750041da61ad42b",
      "tree": "98b6815b071be2b0dc8e10b661a7fb1e3cdd9e82",
      "parents": [
        "383975d765523a56dc43a6cd6d52e9b376800cf2"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Fri May 04 11:53:03 2007 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jul 12 16:29:47 2007 -0700"
      },
      "message": "USB: add RESET_RESUME device quirk\n\nThis patch (as888) adds a new USB device quirk for devices which are\nunable to resume correctly.  By using the new code added for the\nUSB-persist facility, it is a simple matter to reset these devices\ninstead of resuming them.  To get things kicked off, a quirk entry is\nadded for the Philips PSC805.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0458d5b4c9cc4ca0f62625d0144ddc4b4bc97a3c",
      "tree": "8b1fcb4f063ef4aa6f2e3cd41a60d986a1e432d4",
      "parents": [
        "ce7cd137fced114d49178b73d468b82096a107fb"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Fri May 04 11:52:20 2007 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jul 12 16:29:47 2007 -0700"
      },
      "message": "USB: add USB-Persist facility\n\nThis patch (as886) adds the controversial USB-persist facility,\nallowing USB devices to persist across a power loss during system\nsuspend.\n\nThe facility is controlled by a new Kconfig option (with appropriate\nwarnings about the potential dangers); when the option is off the\nbehavior will remain the same as it is now.  But when the option is\non, people will be able to use suspend-to-disk and keep their USB\nfilesystems intact -- something particularly valuable for small\nmachines where the root filesystem is on a USB device!\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ec22559e0b7a05283a3413bda5d177e42c950e23",
      "tree": "5f7a9ae8907cdf910532381111ce4b8aae877e05",
      "parents": [
        "dd172d72addefd89795e819cc2cc3eb1b9d12a7f"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oneukum@suse.de",
        "time": "Fri Apr 27 20:54:57 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jul 12 16:29:44 2007 -0700"
      },
      "message": "USB: suspend support for usb serial\n\nthis implements generic support for suspend/resume for usb serial.\n\nSigned-off-by: Oliver Neukum \u003coneukum@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "65541cb7cf353946ecd78016a453b453b8830656",
      "tree": "0a93ed27fdb6caf3f90250eaaf179b560e6742f3",
      "parents": [
        "6a775e2ba4f7635849ade628e64723ab2beef0bc"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Thu Jun 21 13:03:11 2007 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Jul 12 15:41:24 2007 -0700"
      },
      "message": "IB/mlx4: Implement query SRQ\n\nSigned-off-by: Dotan Barak \u003cdotanb@mellanox.co.il\u003e\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "6a775e2ba4f7635849ade628e64723ab2beef0bc",
      "tree": "3c80d06d5f2f7135c81dddc2dcd6e536f9ecf22d",
      "parents": [
        "6164c8cd1333403a28202f7c7e64ff9086d8f1aa"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Thu Jun 21 12:27:47 2007 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Jul 12 15:41:00 2007 -0700"
      },
      "message": "IB/mlx4: Implement query QP\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "bb50cbbd4beacd5ceda76c32fcb116c67fe8c66c",
      "tree": "d57fe1a7c4214afbaacbcc5fb62ea6a5e9169b3f",
      "parents": [
        "702ed6ef375c19d65f2eeeefd3851476f2c4cee4",
        "d4cf291526a74cc33d33700a35b74395eec812fd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 13:46:48 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 13:46:48 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6:\n  security: unexport mmap_min_addr\n  SELinux: use SECINITSID_NETMSG instead of SECINITSID_UNLABELED for NetLabel\n  security: Protection for exploiting null dereference using mmap\n  SELinux: Use %lu for inode-\u003ei_no when printing avc\n  SELinux: allow preemption between transition permission checks\n  selinux: introduce schedule points in policydb_destroy()\n  selinux: add selinuxfs structure for object class discovery\n  selinux: change sel_make_dir() to specify inode counter.\n  selinux: rename sel_remove_bools() for more general usage.\n  selinux: add support for querying object classes and permissions from the running policy\n"
    },
    {
      "commit": "0806ca2ab3ef7d7a1bd41a980f661a13ba11acb5",
      "tree": "b0efd7382e59de26f173f61b677a579f3f4ee137",
      "parents": [
        "21ba0f88ae56da82a3a15fe54d729208b64c4f4b",
        "1612b18ccb2318563ba51268289dc3271a6052f7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 13:41:29 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 13:41:29 2007 -0700"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:\n  [IA64] Support multiple CPUs going through OS_MCA\n  [IA64] silence GCC ia64 unused variable warnings\n  [IA64] prevent MCA when performing MMIO mmap to PCI config space\n  [IA64] add sn_register_pmi_handler oemcall\n  [IA64] Stop bit for brl instruction\n  [IA64] SN: Correct ROM resource length for BIOS copy\n  [IA64] Don\u0027t set psr.ic and psr.i simultaneously\n"
    },
    {
      "commit": "21ba0f88ae56da82a3a15fe54d729208b64c4f4b",
      "tree": "17ce67f276fe3ea7284c3dc730bdd6a2ec7dfe2f",
      "parents": [
        "dc690d8ef842b464f1c429a376ca16cb8dbee6ae",
        "36e235901f90fb83215be43cbd8f1ca14661ea40"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 13:40:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 13:40:57 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6: (34 commits)\n  PCI: Only build PCI syscalls on architectures that want them\n  PCI: limit pci_get_bus_and_slot to domain 0\n  PCI: hotplug: acpiphp: avoid acpiphp \"cannot get bridge info\" PCI hotplug failure\n  PCI: hotplug: acpiphp: remove hot plug parameter write to PCI host bridge\n  PCI: hotplug: acpiphp: fix slot poweroff problem on systems without _PS3\n  PCI: hotplug: pciehp: wait for 1 second after power off slot\n  PCI: pci_set_power_state(): check for PM capabilities earlier\n  PCI: cpci_hotplug: Convert to use the kthread API\n  PCI: add pci_try_set_mwi\n  PCI: pcie: remove SPIN_LOCK_UNLOCKED\n  PCI: ROUND_UP macro cleanup in drivers/pci\n  PCI: remove pci_dac_dma_... APIs\n  PCI: pci-x-pci-express-read-control-interfaces cleanups\n  PCI: Fix typo in include/linux/pci.h\n  PCI: pci_ids, remove double or more empty lines\n  PCI: pci_ids, add atheros and 3com_2 vendors\n  PCI: pci_ids, reorder some entries\n  PCI: i386: traps, change VENDOR to DEVICE\n  PCI: ATM: lanai, change VENDOR to DEVICE\n  PCI: Change all drivers to use pci_device-\u003erevision\n  ...\n"
    },
    {
      "commit": "dc690d8ef842b464f1c429a376ca16cb8dbee6ae",
      "tree": "77955849af5a15755f5e55e24ae4b9c520583a72",
      "parents": [
        "57399ec9077a4b962b81037aaa279fab52f5e989",
        "91a6902958f052358899f58683d44e36228d85c2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 13:40:20 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 13:40:20 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6: (61 commits)\n  sysfs: add parameter \"struct bin_attribute *\" in .read/.write methods for sysfs binary attributes\n  sysfs: make directory dentries and inodes reclaimable\n  sysfs: implement sysfs_get_dentry()\n  sysfs: move sysfs_drop_dentry() to dir.c and make it static\n  sysfs: restructure add/remove paths and fix inode update\n  sysfs: use sysfs_mutex to protect the sysfs_dirent tree\n  sysfs: consolidate sysfs spinlocks\n  sysfs: make kobj point to sysfs_dirent instead of dentry\n  sysfs: implement sysfs_find_dirent() and sysfs_get_dirent()\n  sysfs: implement SYSFS_FLAG_REMOVED flag\n  sysfs: rename sysfs_dirent-\u003es_type to s_flags and make room for flags\n  sysfs: make sysfs_drop_dentry() access inodes using ilookup()\n  sysfs: Fix oops in sysfs_drop_dentry on x86_64\n  sysfs: use singly-linked list for sysfs_dirent tree\n  sysfs: slim down sysfs_dirent-\u003es_active\n  sysfs: move s_active functions to fs/sysfs/dir.c\n  sysfs: fix root sysfs_dirent -\u003e root dentry association\n  sysfs: use iget_locked() instead of new_inode()\n  sysfs: reorganize sysfs_new_indoe() and sysfs_create()\n  sysfs: fix parent refcounting during rename and move\n  ...\n"
    },
    {
      "commit": "57399ec9077a4b962b81037aaa279fab52f5e989",
      "tree": "847dfb9304001ab9ffc5eef5f20ae514cd01bb90",
      "parents": [
        "e1bd2ac5a6b7a8b625e40c9e9f8b6dea4cf22f85",
        "c6e54a578133fb353a50fb44d650768b3b9eb18e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 13:38:50 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 13:38:50 2007 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev\n\n* \u0027upstream-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev: (21 commits)\n  libata: remove irq_on from ata_bus_reset() and ata_std_postreset()\n  ata_piix: kill incorrect invalid map value warning\n  libata: add another Maxtor drive with broken NCQ to the list\n  [libata] sata_mv: Fix and clean up per-chip-generation tests\n  [libata] sata_mv: Convert to new exception handling (EH) infrastructure\n  [libata] sata_mv: minor bug fixes, enhancements, and cleanups (prep for new EH)\n  [libata] sata_mv: Minor cleanups and renaming, preparing for new EH \u0026 NCQ\n  libata-link: add PMP related ATA constants\n  libata-link: separate out ata_eh_handle_dev_fail()\n  pata_hpt3x3: fix DMA Kconfig option to actually have a hope of working\n  Add Hitachi HDS7250SASUN500G 0621KTAWSD to NCQ blacklist\n  pata_scc.c: Workaround for errata A308\n  libata: add FUJITSU MHV2080BH to NCQ blacklist\n  pata_hpt3x3: major reworking and testing\n  libata: clean up horkage handling\n  libata: quirk IOMEGA ZIP 250 ATAPI FLOPPY\n  libata: simplify PCI legacy SFF host handling\n  pata_mpc52xx: suspend/resume support\n  sata_promise: SATA hotplug support, take 2\n  pata_sis: FIFO whack\n  ...\n"
    },
    {
      "commit": "e1bd2ac5a6b7a8b625e40c9e9f8b6dea4cf22f85",
      "tree": "9366e9fb481da2c7195ca3f2bafeffebbf001363",
      "parents": [
        "0b9062f6b57a87f22309c6b920a51aaa66ce2a13",
        "15028aad00ddf241581fbe74a02ec89cbb28d35d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 13:31:22 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 13:31:22 2007 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\n* \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (183 commits)\n  [TG3]: Update version to 3.78.\n  [TG3]: Add missing NVRAM strapping.\n  [TG3]: Enable auto MDI.\n  [TG3]: Fix the polarity bit.\n  [TG3]: Fix irq_sync race condition.\n  [NET_SCHED]: ematch: module autoloading\n  [TCP]: tcp probe wraparound handling and other changes\n  [RTNETLINK]: rtnl_link: allow specifying initial device address\n  [RTNETLINK]: rtnl_link API simplification\n  [VLAN]: Fix MAC address handling\n  [ETH]: Validate address in eth_mac_addr\n  [NET]: Fix races in net_rx_action vs netpoll.\n  [AF_UNIX]: Rewrite garbage collector, fixes race.\n  [NETFILTER]: {ip, nf}_conntrack_sctp: fix remotely triggerable NULL ptr dereference (CVE-2007-2876)\n  [NET]: Make all initialized struct seq_operations const.\n  [UDP]: Fix length check.\n  [IPV6]: Remove unneeded pointer idev from addrconf_cleanup().\n  [DECNET]: Another unnecessary net/tcp.h inclusion in net/dn.h\n  [IPV6]: Make IPV6_{RECV,2292}RTHDR boolean options.\n  [IPV6]: Do not send RH0 anymore.\n  ...\n\nFixed up trivial conflict in Documentation/feature-removal-schedule.txt\nmanually.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "068345f4a873e8b0b511e8f94a595a20e176eeff",
      "tree": "f67503164f017b45ab425827d71fb7d23920a519",
      "parents": [
        "c39736823232bc3ca113c8228fa852c09fba300e",
        "0a85e9a271a754e352af8a8b625025017fd97449"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 13:25:00 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 13:25:00 2007 -0700"
      },
      "message": "Merge branch \u0027i2c-for-linus\u0027 of git://jdelvare.pck.nerim.net/jdelvare-2.6\n\n* \u0027i2c-for-linus\u0027 of git://jdelvare.pck.nerim.net/jdelvare-2.6: (26 commits)\n  i2c-rpx: Remove\n  i2c-mpc: work around missing-9th-clock-pulse bug\n  i2c: New PMC MSP71xx TWI bus driver\n  i2c-savage4: Delete many unused defines\n  i2c/tsl2550: Speed up initialization\n  i2c: New bus driver for the TAOS evaluation modules\n  i2c-i801: Use the internal 32-byte buffer on ICH4+\n  i2c-i801: Various cleanups\n  i2c: Add support for the TSL2550\n  i2c-pxa: Support new-style I2C drivers\n  i2c-gpio: Make some internal functions static\n  i2c-gpio: Add support for new-style clients\n  i2c-iop3xx: Switch to static adapter numbering\n  i2c-sis5595: Resolve resource conflict with sis5595\n  matroxfb: Clean-up i2c header inclusions\n  i2c-nforce2: Add support for SMBus block transactions\n  i2c-mpc: Use i2c_add_numbered_adapter\n  i2c-mv64xxx: Use i2c_add_numbered_adapter\n  i2c-piix4: Add support for the ATI SB700\n  i2c: New DS1682 chip driver\n  ...\n"
    },
    {
      "commit": "5628221caf88e2a052782b042e12da7cd34111b0",
      "tree": "b4dbee3be1aa2b39e3d4c6f384b28d07740465fd",
      "parents": [
        "1fd5e589d8c7d3cd42ddd39358338766cfcedec8"
      ],
      "author": {
        "name": "Daniel Drake",
        "email": "dsd@gentoo.org",
        "time": "Tue Jul 10 19:32:10 2007 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jul 12 16:07:26 2007 -0400"
      },
      "message": "[PATCH] mac80211: ERP IE handling improvements\n\nThe \"protection needed\" flag is currently parsed out of the ERP IE in\nbeacons. This patch allows the ERP IE to be available at assocation time\nand causes the appropriate actions to be performed earlier.\n\nIt is slightly complicated by the fact that most APs don\u0027t include the\nERP IE in association responses. To work around this, we store ERP\nvalues in the ieee80211_sta_bss structure.\n\nAlso added some WLAN_ERP defines for use by upcoming patches.\n\nSigned-off-by: Jiri Benc \u003cjbenc@suse.cz\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c39736823232bc3ca113c8228fa852c09fba300e",
      "tree": "94fe2f8b27879cee904b09d1effb91ccc3ce6e0a",
      "parents": [
        "91a6c462b02d8dc02dbe95e5a407d78078a38d01"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Wed Jul 11 12:18:58 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 10:55:56 2007 -0700"
      },
      "message": "Remove old i386 setup code\n\nThis removes the old i386 setup code.  This is done as a separate patch\nto avoid breaking git bisect as some of the i386 code was also used by\nthe old x86-64 code.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e087db510cd96a75a614f6f6fcd5499ab21cb087",
      "tree": "70b6d536585355ff59f7635083f36eea71d6d27b",
      "parents": [
        "de32e04175efbc1ff5e0f509253d5dfc84f173b3"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Wed Jul 11 12:18:31 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 10:55:54 2007 -0700"
      },
      "message": "Clean up struct screen_info (\u003clinux/screen_info.h\u003e)\n\nstruct screen_info has unaligned members, it needs to be packed.\nIn the process, fix the naming of some of the members, which don\u0027t\nbelong in this structure but are part of it anyway.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b9cdad74883a797952de52464d118d685cafc05a",
      "tree": "b843038e60482c01854ec14b57502bb3833143d0",
      "parents": [
        "7edcb9abb594a8f3b4ca756e03d01c870aeae127"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Jul 12 14:12:31 2007 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@hyperion.delvare",
        "time": "Thu Jul 12 14:12:31 2007 +0200"
      },
      "message": "i2c: New bus driver for the TAOS evaluation modules\n\nThis is a new I2C bus driver for the TAOS evaluation modules. Developped\nand tested on the TAOS TSL2550 EVM.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "c29c22218b99dad95f7cd0281415a854aeee805c",
      "tree": "ff2af319e645bc69bc8bb9c58e9a466b1a3c4bee",
      "parents": [
        "5162b75b24963eebe62c4d4161d0fe0b337a313b"
      ],
      "author": {
        "name": "Henry Su",
        "email": "henry.su@amd.com",
        "time": "Thu Jul 12 14:12:29 2007 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@hyperion.delvare",
        "time": "Thu Jul 12 14:12:29 2007 +0200"
      },
      "message": "i2c-piix4: Add support for the ATI SB700\n\nAdd the SMBus device ID for ATI SB700.\n\nSigned-off-by: Henry Su \u003cHenry.su@amd.com\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "4b2643d7d9bdcd776749e17f73c168ddf02e93cb",
      "tree": "1642900ea1c196cc27d120f0af4de44fff30633e",
      "parents": [
        "ba7fbb723f50ab2607989a282af655fb0fab0492"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Jul 12 14:12:29 2007 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@hyperion.delvare",
        "time": "Thu Jul 12 14:12:29 2007 +0200"
      },
      "message": "i2c: Fix the i2c_smbus_read_i2c_block_data() prototype\n\nLet the drivers specify how many bytes they want to read with\ni2c_smbus_read_i2c_block_data(). So far, the block count was\nhard-coded to I2C_SMBUS_BLOCK_MAX (32), which did not make much sense.\nMany driver authors complained about this before, and I believe it\u0027s\nabout time to fix it. Right now, authors have to do technically stupid\nthings, such as individual byte reads or full-fledged I2C messaging,\nto work around the problem. We do not want to encourage that.\n\nI even found that some bus drivers (e.g. i2c-amd8111) already\nimplemented I2C block read the \"right\" way, that is, they didn\u0027t\nfollow the old, broken standard. The fact that it was never noticed\nbefore just shows how little i2c_smbus_read_i2c_block_data() was used,\nwhich isn\u0027t that surprising given how broken its prototype was so far.\n\nThere are some obvious compatiblity considerations:\n* This changes the i2c_smbus_read_i2c_block_data() prototype. Users\n  outside the kernel tree will notice at compilation time, and will\n  have to update their code.\n* User-space has access to i2c_smbus_xfer() directly using i2c-dev, so\n  the changed expectations would affect tools such as i2cdump. In order\n  to preserve binary compatibility, we give I2C_SMBUS_I2C_BLOCK_DATA\n  a new numeric value, and define I2C_SMBUS_I2C_BLOCK_BROKEN with the\n  old numeric value. When i2c-dev receives a transaction with the\n  old value, it can convert it to the new format on the fly.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "d75d53cd571c02990d56e72f615ab11e943772f9",
      "tree": "7a4e8cbece9b18829e5cb830134d717cfce38e18",
      "parents": [
        "d64f73be1b59b9556de0a8fbd4f1a003c6a45a5c"
      ],
      "author": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Jul 12 14:12:28 2007 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@hyperion.delvare",
        "time": "Thu Jul 12 14:12:28 2007 +0200"
      },
      "message": "i2c: Fix sparse warning in i2c.h\n\nKill a sparse warning by un-nesting two container_of() calls.\n    \nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "d64f73be1b59b9556de0a8fbd4f1a003c6a45a5c",
      "tree": "9a8fca55b1fab9ac3d0781294553feaeeba37473",
      "parents": [
        "4eb6bf6bfb580afaf1e1a1d30cba17a078530cf4"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Thu Jul 12 14:12:28 2007 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@hyperion.delvare",
        "time": "Thu Jul 12 14:12:28 2007 +0200"
      },
      "message": "i2c: Add kernel documentation\n\nGenerate I2C kerneldoc; fix various glitches and add \"context\" sections to\nthat documentation.  Most I2C and SMBus functions still have no kerneldoc.\n\nLet me suggest providing kerneldoc for all the i2c_smbus_*() functions as\na small and mostly self-contained project for anyone so inclined.  :)\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "ed0321895182ffb6ecf210e066d87911b270d587",
      "tree": "832bb54666f73b06e55322df40f915c5e9ef64d7",
      "parents": [
        "13bddc2e9d591e31bf20020dc19ea6ca85de420e"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Jun 28 15:55:21 2007 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed Jul 11 22:52:29 2007 -0400"
      },
      "message": "security: Protection for exploiting null dereference using mmap\n\nAdd a new security check on mmap operations to see if the user is attempting\nto mmap to low area of the address space.  The amount of space protected is\nindicated by the new proc tunable /proc/sys/vm/mmap_min_addr and defaults to\n0, preserving existing behavior.\n\nThis patch uses a new SELinux security class \"memprotect.\"  Policy already\ncontains a number of allow rules like a_t self:process * (unconfined_t being\none of them) which mean that putting this check in the process class (its\nbest current fit) would make it useless as all user processes, which we also\nwant to protect against, would be allowed. By taking the memprotect name of\nthe new class it will also make it possible for us to move some of the other\nmemory protect permissions out of \u0027process\u0027 and into the new class next time\nwe bump the policy version number (which I also think is a good future idea)\n\nAcked-by: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nAcked-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "db3d99c090e0cdb34b1274767e062bfddbb384bc",
      "tree": "9130391307ac77b7f458db5d3994309df6c9877b",
      "parents": [
        "662ad4f8efd3ba2ed710d36003f968b500e6f123"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Jul 11 19:46:26 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 11 19:46:26 2007 -0700"
      },
      "message": "[NET_SCHED]: ematch: module autoloading\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8c979c26a0f093c13290320edda799d8335e50ae",
      "tree": "3189e5568583a794aff9d014898ff9a74b79d7cc",
      "parents": [
        "71bffe556c59a7865bf0b1ecd94530f1e296cdb0"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Jul 11 19:45:24 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 11 19:45:24 2007 -0700"
      },
      "message": "[VLAN]: Fix MAC address handling\n\nThe VLAN MAC address handling is broken in multiple ways. When the address\ndiffers when setting it, the real device is put in promiscous mode twice,\nbut never taken out again. Additionally it doesn\u0027t resync when the real\ndevice\u0027s address is changed and needlessly puts it in promiscous mode when\nthe vlan device is still down.\n\nFix by moving address handling to vlan_dev_open/vlan_dev_stop and properly\ndeal with address changes in the device notifier. Also switch to\ndev_unicast_add (which needs the exact same handling).\n\nSince the set_mac_address handler is identical to the generic ethernet one\nwith these changes, kill it and use ether_setup().\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "29578624e354f56143d92510fff33a8b2aaa2c03",
      "tree": "67d0f28264dbeacedde4882f1e76157894ba33ba",
      "parents": [
        "1fd05ba5a2f2aa8e7b9b52ef55df850e2e7d54c9"
      ],
      "author": {
        "name": "Olaf Kirch",
        "email": "olaf.kirch@oracle.com",
        "time": "Wed Jul 11 19:32:02 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 11 19:32:02 2007 -0700"
      },
      "message": "[NET]: Fix races in net_rx_action vs netpoll.\n\nKeep netpoll/poll_napi from messing with the poll_list.\nOnly net_rx_action is allowed to manipulate the list.\n\nSigned-off-by: Olaf Kirch \u003colaf.kirch@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "91a6902958f052358899f58683d44e36228d85c2",
      "tree": "a713792cf3bb09bdbd2ac6906aa44b3da3e49250",
      "parents": [
        "51225039f3cf9d250596d1344494b293274b9169"
      ],
      "author": {
        "name": "Zhang Rui",
        "email": "rui.zhang@intel.com",
        "time": "Sat Jun 09 13:57:22 2007 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:09 2007 -0700"
      },
      "message": "sysfs: add parameter \"struct bin_attribute *\" in .read/.write methods for sysfs binary attributes\n\nWell, first of all, I don\u0027t want to change so many files either.\n\nWhat I do:\nAdding a new parameter \"struct bin_attribute *\" in the\n.read/.write methods for the sysfs binary attributes.\n\nIn fact, only the four lines change in fs/sysfs/bin.c and\ninclude/linux/sysfs.h do the real work.\nBut I have to update all the files that use binary attributes\nto make them compatible with the new .read and .write methods.\nI\u0027m not sure if I missed any. :(\n\nWhy I do this:\nFor a sysfs attribute, we can get a pointer pointing to the\nstruct attribute in the .show/.store method,\nwhile we can\u0027t do this for the binary attributes.\nI don\u0027t know why this is different, but this does make it not\nso handy to use the binary attributes as the regular ones.\nSo I think this patch is reasonable. :)\n\nWho benefits from it:\nThe patch that exposes ACPI tables in sysfs\nrequires such an improvement.\nAll the table binary attributes share the same .read method.\nParameter \"struct bin_attribute *\" is used to get\nthe table signature and instance number which are used to\ndistinguish different ACPI table binary attributes.\n\nWithout this parameter, we need to offer different .read methods\nfor different ACPI table binary attributes.\nThis is impossible as there are various ACPI tables on different\nplatforms, and we don\u0027t know what they are until they are loaded.\n\nSigned-off-by: Zhang Rui \u003crui.zhang@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "51225039f3cf9d250596d1344494b293274b9169",
      "tree": "4e646ab37043068824a146c7353c6242a4eb72df",
      "parents": [
        "53e0ae92690c52eceb997905d85fbb42de5fff63"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 04:27:25 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:09 2007 -0700"
      },
      "message": "sysfs: make directory dentries and inodes reclaimable\n\nThis patch makes dentries and inodes for sysfs directories\nreclaimable.\n\n* sysfs_notify() is modified to walk sysfs_dirent tree instead of\n  dentry tree.\n\n* sysfs_update_file() and sysfs_chmod_file() use sysfs_get_dentry() to\n  grab the victim dentry.\n\n* sysfs_rename_dir() and sysfs_move_dir() grab all dentries using\n  sysfs_get_dentry() on startup.\n\n* Dentries for all shadowed directories are pinned in memory to serve\n  as lookup start point.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "608e266a2d4e62c1b98c1c573064b6afe8c06a58",
      "tree": "73d670ab6c315b42273bc9d2731ec2b8e7c199af",
      "parents": [
        "f0b0af4792d751106e2003f96af76fa95e10c68d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 04:27:22 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:08 2007 -0700"
      },
      "message": "sysfs: make kobj point to sysfs_dirent instead of dentry\n\nAs kobj sysfs dentries and inodes are gonna be made reclaimable,\ndentry can\u0027t be used as naming token for sysfs file/directory, replace\nkobj-\u003edentry with kobj-\u003esd.  The only external interface change is\nshadow directory handling.  All other changes are contained in kobj\nand sysfs.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "380e6fbb729a55b73d5d8409551474884e0d93fc",
      "tree": "38922357a91869f0d8c9769fa5afa504f1175fc0",
      "parents": [
        "b402d72cf7b338a074e3c12b305ec79284e18845"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 04:27:22 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:08 2007 -0700"
      },
      "message": "sysfs: implement SYSFS_FLAG_REMOVED flag\n\nImplement SYSFS_FLAG_REMOVED flag which currently is used only to\nimprove sanity check in sysfs_deactivate().  The flag will be used to\nmake directory entries reclamiable.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b402d72cf7b338a074e3c12b305ec79284e18845",
      "tree": "0724d40180eb78212be81c7ff2d909ec3fb3f306",
      "parents": [
        "d0bcb5689a521df98bff7549fcb8b17499660a99"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 04:27:21 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:08 2007 -0700"
      },
      "message": "sysfs: rename sysfs_dirent-\u003es_type to s_flags and make room for flags\n\nRename sysfs_dirent-\u003es_type to s_flags, pack type into lower eight\nbits and reserve the rest for flags.  sysfs_type() can used to access\nthe type.  All existing sd-\u003es_type accesses are converted to use\nsysfs_type().  While at it, type test is changed to equality test\ninstead of bit-and test where appropriate.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ad6a1e1c66009ba9dcd2f5c90ffa1fb4ce72fce0",
      "tree": "260f2a1707246998ba6f83ac1fa5a518626bbb1e",
      "parents": [
        "7b595756ec1f49e0049a9e01a1298d53a7faaa15"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 03:45:17 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:06 2007 -0700"
      },
      "message": "driver-core: make devt_attr and uevent_attr static\n\ndevt_attr and uevent_attr are either allocated dynamically with or\nembedded in device and class_device as they needed their owner field\nset to the module implementing the driver.  Now that sysfs implements\nimmediate disconnect and owner field removed from struct attribute,\nthere is no reason to do this.  Remove these attributes from\n[class_]device and use static attribute structures instead.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "7b595756ec1f49e0049a9e01a1298d53a7faaa15",
      "tree": "cd06687ab3e5c7a5a4ef91903dff207a18c4db76",
      "parents": [
        "dbde0fcf9f8f6d477af3c32d9979e789ee680cde"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 03:45:17 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:06 2007 -0700"
      },
      "message": "sysfs: kill unnecessary attribute-\u003eowner\n\nsysfs is now completely out of driver/module lifetime game.  After\ndeletion, a sysfs node doesn\u0027t access anything outside sysfs proper,\nso there\u0027s no reason to hold onto the attribute owners.  Note that\noften the wrong modules were accounted for as owners leading to\naccessing removed modules.\n\nThis patch kills now unnecessary attribute-\u003eowner.  Note that with\nthis change, userland holding a sysfs node does not prevent the\nbacking module from being unloaded.\n\nFor more info regarding lifetime rule cleanup, please read the\nfollowing message.\n\n  http://article.gmane.org/gmane.linux.kernel/510293\n\n(tweaked by Greg to not delete the field just yet, to make it easier to\nmerge things properly.)\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0c096b507f15397da890051ee73de4266d3941fb",
      "tree": "c6b7d204a493157b3926bdb46500313eee9f9690",
      "parents": [
        "13b3086d2ea483cbcae5a4236446cecc082a72cf"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 03:45:15 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:04 2007 -0700"
      },
      "message": "sysfs: add sysfs_dirent-\u003es_name\n\nAdd s_name to sysfs_dirent.  This is to further reduce dependency to\nthe associated dentry.  Name is copied for directories and symlinks\nbut not for attributes.\n\nWhere possible, name dereferences are converted to use sd-\u003es_name.\nsysfs_symlink-\u003elink_name and sysfs_get_name() are unused now and\nremoved.\n\nThis change allows symlink to be implemented using sysfs_dirent tree\nproper, which is the last remaining dentry-dependent sysfs walk.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "72dba584b695d8bc8c1a50ed54ad4cba7c62314d",
      "tree": "b0938ea773953f869b22101bb021e5710d0a0fec",
      "parents": [
        "e33ac8bdb0c84fe7afd2c45537b763faf28c589e"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 03:45:13 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:03 2007 -0700"
      },
      "message": "ida: implement idr based id allocator\n\nImplement idr based id allocator.  ida is used the same way idr is\nused but lacks id -\u003e ptr translation and thus consumes much less\nmemory.  struct ida_bitmap is attached as leaf nodes to idr tree which\nis managed by the idr code.  Each ida_bitmap is 128bytes long and\ncontains slightly less than a thousand slots.\n\nida is more aggressive with releasing extra resources acquired using\nida_pre_get().  After every successful id allocation, ida frees one\nreserved idr_layer if possible.  Reserved ida_bitmap is not freed\nautomatically but only one ida_bitmap is reserved and it\u0027s almost\nalways used right away.  Under most circumstances, ida won\u0027t hold on\nto memory for too long which isn\u0027t actively used.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "515c53576299e32d6bdb6295cfa2fe1307516eb4",
      "tree": "210def9ddfced2800dc014a49a6f6a37dbf795eb",
      "parents": [
        "2a0134554e12f530c6eccb1dab3f0f8954f855c9"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Jun 17 19:48:06 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:02 2007 -0700"
      },
      "message": "PM: Remove prev_state from struct dev_pm_info\n\nThe prev_state member of struct dev_pm_info (defined in include/linux/pm.h) is\nonly used during a resume to check if the device\u0027s state before the suspend was\n\u0027off\u0027, in which case the device is not resumed.  However, in such cases the\ndecision whether or not to resume the device should be made on the driver level\nand the resume callbacks from the device\u0027s bus and class should be executed\nanyway (the may be needed for some things other than just powering on the\ndevice).\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "cc4900690bf77257996e90f0059eb074b8db52e6",
      "tree": "df70ea9cb6e8f0a1f92aaea3b83f890efd698339",
      "parents": [
        "9cddad77574313fcee36c5e60122718daa7c0361"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jun 13 15:55:34 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:01 2007 -0700"
      },
      "message": "PM: Remove saved_state from struct dev_pm_info\n\nThe saved_state member of struct dev_pm_info, defined in include/linux/pm.h, is\nnot used anywhere, so it can be removed.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "9cddad77574313fcee36c5e60122718daa7c0361",
      "tree": "2d6dd05e02ffff565ffb23046933f33cda0531e8",
      "parents": [
        "11048dcf333c414f237bb713c422e68f67b115a3"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jun 13 15:53:34 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:01 2007 -0700"
      },
      "message": "PM: Remove pm_parent from struct dev_pm_info\n\nThe pm_parent member of struct dev_pm_info (defined in include/linux/pm.h) is\nonly used to check if the device\u0027s parent is in the right state while the\ndevice is being suspended or resumed.  However, this can be done just as well\nwith the help of the parent pointer in struct device, so pm_parent can be\nremoved along with some code that handles it.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "4f5c791a850e5305a5b1b48d0e4b4de248dc96f9",
      "tree": "3059bba718b9f8d5c07081221b1ab23845638935",
      "parents": [
        "cfc94cdf8e0f14e692a5a40ef3cc10f464b2511b"
      ],
      "author": {
        "name": "Lennart Poettering",
        "email": "mzxreary@0pointer.de",
        "time": "Tue May 08 22:07:02 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:00 2007 -0700"
      },
      "message": "DMI-based module autoloading\n\nThe patch below adds DMI/SMBIOS based module autoloading to the Linux\nkernel. The idea is to load laptop drivers automatically (and other\ndrivers which cannot be autoloaded otherwise), based on the DMI system\nidentification information of the BIOS.\n\nRight now most distros manually try to load all available laptop\ndrivers on bootup in the hope that at least one of them loads\nsuccessfully. This patch does away with all that, and uses udev to\nautomatically load matching drivers on the right machines.\n\nBasically the patch just exports the DMI information that has been\nparsed by the kernel anyway to userspace via a sysfs device\n/sys/class/dmi/id and makes sure that proper modalias attributes are\navailable. Besides adding the \"modalias\" attribute it also adds\nattributes for a few other DMI fields which might be useful for\nwriting udev rules.\n\nThis patch is not an attempt to export the entire DMI/SMBIOS data to\nuserspace. We already have \"dmidecode\" which parses the complete DMI\ninfo from userspace. The purpose of this patch is machine model\nidentification and good udev integration.\n\nTo take advantage of DMI based module autoloading, a driver should\nexport one or more MODULE_ALIAS fields similar to these:\n\nMODULE_ALIAS(\"dmi:*:svnMICRO-STARINT\u0027LCO.,LTD:pnMS-1013:pvr0131*:cvnMICRO-STARINT\u0027LCO.,LTD:ct10:*\");\nMODULE_ALIAS(\"dmi:*:svnMicro-StarInternational:pnMS-1058:pvr0581:rvnMSI:rnMS-1058:*:ct10:*\");\nMODULE_ALIAS(\"dmi:*:svnMicro-StarInternational:pnMS-1412:*:rvnMSI:rnMS-1412:*:cvnMICRO-STARINT\u0027LCO.,LTD:ct10:*\");\nMODULE_ALIAS(\"dmi:*:svnNOTEBOOK:pnSAM2000:pvr0131*:cvnMICRO-STARINT\u0027LCO.,LTD:ct10:*\");\n\nThese lines are specific to my msi-laptop.c driver. They are basically\njust a concatenation of a few carefully selected DMI fields with all\npotentially bad characters stripped.\n\nBesides laptop drivers, modules like \"hdaps\", the i2c modules\nand the hwmon modules are good candidates for \"dmi:\" MODULE_ALIAS\nlines.\n\nBesides merely exporting the DMI data via sysfs the patch adds\nsupport for a few more DMI fields. Especially the CHASSIS fields are\nvery useful to identify different laptop modules. The patch also adds\nworking MODULE_ALIAS lines to my msi-laptop.c driver.\n\nI\u0027d like to thank Kay Sievers for helping me to clean up this patch\nfor posting it on lkml.\n\nPatch is against Linus\u0027 current GIT HEAD. Should probably apply to\nolder kernels as well without modification.\n\n\nSigned-off-by: Lennart Poettering \u003cmzxreary@0pointer.de\u003e\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n\n"
    },
    {
      "commit": "cfc94cdf8e0f14e692a5a40ef3cc10f464b2511b",
      "tree": "041391e492d909e41e70ac67da53a1025ecf629d",
      "parents": [
        "46336009b5009e9fab3bd623a3beb9c7421545ac"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed May 09 13:19:52 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:00 2007 -0700"
      },
      "message": "debugfs: add rename for debugfs files\n\nImplement debugfs_rename() to allow renaming files/directories in debugfs.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "694625c0b322905d6892fad873029f764cd4823f",
      "tree": "c48ac2c0095f2ac4044bd12b27ea318eb6156c73",
      "parents": [
        "f5609d7e679db3f29433f56e1f2e397a2f815288"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Mon Jul 09 11:55:54 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:02:11 2007 -0700"
      },
      "message": "PCI: add pci_try_set_mwi\n\nAs suggested by Andrew, add pci_try_set_mwi(), which does not require\nreturn-value checking.\n\n- add pci_try_set_mwi() without __must_check\n- make it return 0 on success, errno if the \"try\" failed or error\n- review callers\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "579082df38839efc5b14aa3f48b8806e3e8dc5c2",
      "tree": "288be81751c9c6f47419109a724c082130f85485",
      "parents": [
        "12bedda9f404c4d34eda6477b0ec32140d83501b"
      ],
      "author": {
        "name": "Rolf Eike Beer",
        "email": "eike-kernel@sf-tec.de",
        "time": "Tue Jul 10 13:35:05 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:02:10 2007 -0700"
      },
      "message": "PCI: Fix typo in include/linux/pci.h\n\nSigned-off-by: Rolf Eike Beer \u003ceike-kernel@sf-tec.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "12bedda9f404c4d34eda6477b0ec32140d83501b",
      "tree": "1c8151f49dbc6e3c9c77281537892c1c440ba926",
      "parents": [
        "f732ee0b71365ddc20e6a0b408f9fd1732d7eb75"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Mon Jun 18 10:56:52 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:02:10 2007 -0700"
      },
      "message": "PCI: pci_ids, remove double or more empty lines\n\npci_ids, remove two or more empty lines\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "f732ee0b71365ddc20e6a0b408f9fd1732d7eb75",
      "tree": "a4ffa3aa5187e400605d261747c116e2fa7c9751",
      "parents": [
        "03966e097db1a3b7aff5d364277f2e66069923df"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Mon Jun 18 10:58:14 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:02:10 2007 -0700"
      },
      "message": "PCI: pci_ids, add atheros and 3com_2 vendors\n\npci_ids, add atheros and 3com_2 vendors\n\nAtheros is wifi vendor. 3com_2 (0xa727) is an vendor id for one card with\nath chip.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "03966e097db1a3b7aff5d364277f2e66069923df",
      "tree": "134d2a492bb39a2ef94167cd30e8314e34c7ac3e",
      "parents": [
        "c43eaa02abf3b034a9694dcca5c177ecb6072f89"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Mon Jun 18 10:55:30 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:02:10 2007 -0700"
      },
      "message": "PCI: pci_ids, reorder some entries\n\npci_ids, reorder some entries\n\nSome lines are not vendor sorted, reorder it to comply with the rest of\ndocument.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c43eaa02abf3b034a9694dcca5c177ecb6072f89",
      "tree": "bf2903178339210be4a705aa00ed93e01723787e",
      "parents": [
        "1d0ed384c1f2582b6f7408642c77a78a0c410122"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Mon Jun 18 10:58:14 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:02:10 2007 -0700"
      },
      "message": "PCI: i386: traps, change VENDOR to DEVICE\n\ntraps, change VENDOR to DEVICE\n\nChange macro for SGI lithium (arch/i386/mach-visws/traps.c) device from\nVENDOR to DEVICE, because it\u0027s a device id.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "1d0ed384c1f2582b6f7408642c77a78a0c410122",
      "tree": "1553465ee0b4407093bdf9d9f2fd8bf3950732f1",
      "parents": [
        "44c10138fd4bbc4b6d6bff0873c24902f2a9da65"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Mon Jun 18 10:58:13 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:02:10 2007 -0700"
      },
      "message": "PCI: ATM: lanai, change VENDOR to DEVICE\n\nlanai, change VENDOR to DEVICE\n\nThere were 2 bad named macros in pci_ids (LANAI 2 and IHB). Rename it to\nDEVICE, because it\u0027s device id. Also make some cleanpu in pci_device_id\ntable (use PCI_VDEVICE).\n\nCc: Mitchell Blank Jr \u003cmitch@sfgoth.com\u003e\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b8a3a5214d7cc115f1ca3a3967b7229d97c46f4a",
      "tree": "221d50091530cb442496e09591b3bf7ac06e57b4",
      "parents": [
        "56906c612e10b5e32a48ccbe8a3c08ab6acf5a28"
      ],
      "author": {
        "name": "Auke Kok",
        "email": "auke-jan.h.kok@intel.com",
        "time": "Fri Jun 08 15:46:30 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:02:09 2007 -0700"
      },
      "message": "PCI: read revision ID by default\n\nCurrently there are 97 occurrences where drivers need the pci\nrevision ID. We can do this once for all devices. Even the pci\nsubsystem needs the revision several times for quirks. The extra\nu8 member pads out nicely in the pci_dev struct.\n\nSigned-off-by: Auke Kok \u003cauke-jan.h.kok@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "56906c612e10b5e32a48ccbe8a3c08ab6acf5a28",
      "tree": "e982b9cb97c5be164ee1dfd96e66013b3896d776",
      "parents": [
        "e57571a07de8464f2e5911f87d2c8f29b0430fb7"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Mon May 07 10:26:17 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:02:08 2007 -0700"
      },
      "message": "PCI: remove useless pci driver method\n\nRemove pointless and never-called enable_wake() hook from pci_driver and\nfrom documentation.  Evidently this was introduced in the 2.4.6 kernel,\nbut there\u0027s no evidence it was ever called; and it was rarely implemented.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f0dce411930d16a678173e534594bca160f5eaff",
      "tree": "52d7c4d6d4e374ac3b808f4f7a9b0ba7be729234",
      "parents": [
        "65b3bc358a3195ebe459761a248cf33a61539947"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Wed Jun 06 11:50:34 2007 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:02:08 2007 -0700"
      },
      "message": "PCI aer: add pci_cleanup_aer_correct_aer_status\n\nFunction to clear bogus correctable errors. Analog to pci_aer_uncorrect_are_status.\nThe Marvell chips seem to start out with a bogus value that needs to be\ncleared.\n\nYanmin ported it to 2.6.22-rc4 by fixing a fuzz patch applying info.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nAcked-by: Zhang Yanmin \u003cyanmin.zhang@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "65b3bc358a3195ebe459761a248cf33a61539947",
      "tree": "1d0a19af0319393a1517a6e3f6922a3be2caecd0",
      "parents": [
        "8d29bfb79e632fe318f4c01c9c2e8faacb89b800"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Wed Jun 06 11:46:49 2007 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:02:08 2007 -0700"
      },
      "message": "PCI aer: fix stub return values\n\nThe stubs used when advanced error reporting is not enabled\nmust have same return type as real functions.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nAcked-by: Zhang Yanmin \u003cyanmin.zhang@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "adf809d01043d8808e47db2d35fc07b53062884e",
      "tree": "5a41b0ffde153b166640075831d67b2820161886",
      "parents": [
        "a2cd52ca904f5913651e71764755e712894ccc2f"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon May 21 14:16:17 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:02:08 2007 -0700"
      },
      "message": "+ pci_find_slot-mark-deprecated.patch added to -mm tree\n\nWe\u0027ve now fixed up most users of pci_find_slot, and the remainder are either\nhard and need someone with the hardware and info to work on it, or patches\nexist but are not yet merged.\n\nTime therefore for some gentle encouragement\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a2cd52ca904f5913651e71764755e712894ccc2f",
      "tree": "ea852daa5f2217a9caf1485ec6fffac5412ac7c7",
      "parents": [
        "575e3348cb80c3265278756778d5091d5ca4efbf"
      ],
      "author": {
        "name": "Michael Ellerman",
        "email": "michael@ellerman.id.au",
        "time": "Tue May 08 12:03:08 2007 +1000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:02:07 2007 -0700"
      },
      "message": "PCI: Make pcibios_add_platform_entries() return errors\n\nCurrently pcibios_add_platform_entries() returns void, but could fail,\nso instead have it return an int and propagate errors up to\npci_create_sysfs_dev_files().\n\nFixes:\narch/powerpc/kernel/pci_64.c: In function \u0027pcibios_add_platform_entries\u0027:\narch/powerpc/kernel/pci_64.c:878: warning: ignoring return value of\n\t\u0027device_create_file\u0027, declared with attribute warn_unused_result\narch/powerpc/kernel/pci_32.c: In function \u0027pcibios_add_platform_entries\u0027:\n  arch/powerpc/kernel/pci_32.c:1043: warning: ignoring return value of\n\t\u0027device_create_file\u0027, declared with attribute warn_unused_result\n\nSigned-off-by: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "575e3348cb80c3265278756778d5091d5ca4efbf",
      "tree": "2d6d3f25f5170ac7a2da2351ee3b7e8ca5a33552",
      "parents": [
        "d556ad4bbe75faf17b239e151a9f003322b2e851"
      ],
      "author": {
        "name": "Michael Ellerman",
        "email": "michael@ellerman.id.au",
        "time": "Tue May 08 12:03:07 2007 +1000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:02:07 2007 -0700"
      },
      "message": "PCI: Use a weak symbol for the empty version of pcibios_add_platform_entries()\n\nI\u0027m not sure if this is going to fly, weak symbols work on the compilers I\u0027m\nusing, but whether they work for all of the affected architectures I can\u0027t say.\nI\u0027ve cc\u0027ed as many arch maintainers/lists as I could find.\n\nBut assuming they do, we can use a weak empty definition of\npcibios_add_platform_entries() to avoid having an empty definition on every\narch.\n\nSigned-off-by: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "d556ad4bbe75faf17b239e151a9f003322b2e851",
      "tree": "794e4f21a9c6e76328feccf313e4d268d3ec5146",
      "parents": [
        "e4585da22ad04a055cbb5c863a37aa8cc02eac89"
      ],
      "author": {
        "name": "Peter Oruba",
        "email": "peter.oruba@amd.com",
        "time": "Tue May 15 13:59:13 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:02:07 2007 -0700"
      },
      "message": "PCI: add PCI-X/PCI-Express read control interfaces\n\nThis patch introduces an interface to read and write PCI-X / PCI-Express \nmaximum read byte count values from PCI config space. There is a second \nfunction that returns the maximum _designed_ read byte count, which marks the \nmaximum value for a device, since some drivers try to set MMRBC to the \nhighest allowed value and rely on such a function.\n\nBased on patch set by Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\n\nCc: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: Peter Oruba \u003cpeter.oruba@amd.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e69ff734e15eb7f61621f8764ce0a2181823a737",
      "tree": "3f7ba6da3ead79b5fa9c40d6b751234ea6d02343",
      "parents": [
        "ca7c39385ce1a7b44894a4b225a4608624e90730"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jun 08 16:26:08 2007 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Jul 11 20:58:54 2007 +0800"
      },
      "message": "[CRYPTO] cipher: Remove obsolete fields from cipher_tfm\n\nThis removes all the unused block cipher fields from cipher_tfm.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "4c752098f529f41abfc985426a3eca0f2cb96676",
      "tree": "038e2f0c488619ff1cd7d278d393852ea7202f6a",
      "parents": [
        "bb4dbf9e61d0801927e7df2569bb3dd8287ea301"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed May 23 13:28:48 2007 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 10 22:56:31 2007 -0700"
      },
      "message": "[IPV6]: Make IPV6_{RECV,2292}RTHDR boolean options.\n\nBecause reversing RH0 is no longer supported by deprecation\nof RH0, let\u0027s make IPV6_{RECV,2292}RTHDR boolean options.\nBoolean are more appropriate from standard POV.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bb4dbf9e61d0801927e7df2569bb3dd8287ea301",
      "tree": "62d0878b6128fbed608bdee342e705fd371c78cd",
      "parents": [
        "c382bb9d32a55029fb13b118858e25908fab4617"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Jul 10 22:55:49 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 10 22:55:49 2007 -0700"
      },
      "message": "[IPV6]: Do not send RH0 anymore.\n\nBased on \u003cdraft-ietf-ipv6-deprecate-rh0-00.txt\u003e.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c6c6e3e05c0b4349824efcdd36650e7be9d5c7c3",
      "tree": "327317560c35fc1c54379c1729c093e3a099de87",
      "parents": [
        "cfbba49d80be6cf8d3872b66fc5421f119843b36"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Jul 10 22:41:55 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 10 22:41:55 2007 -0700"
      },
      "message": "[NET]: Update comments for skb checksums\n\nRusty (whose comments we should all study and emulate :) pointed\nout that our comments for skb checksums are no longer up-to-date.\nSo here is a patch to\n\n1) add the case of partial checksums on input;\n2) update partial checksum case to mention csum_start/csum_offset;\n3) mention the new IPv6 feature bit.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ce7663d84a87bb4e1743f62950bf7dceed723a13",
      "tree": "3c1b16e33913199da3181b92ed7dc0fbb6e0aa64",
      "parents": [
        "0d53778e81ac7af266dac8a20cc328328c327112"
      ],
      "author": {
        "name": "Yasuyuki Kozakai",
        "email": "yasuyuki.kozakai@toshiba.co.jp",
        "time": "Sat Jul 07 22:40:08 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 10 22:18:21 2007 -0700"
      },
      "message": "[NETFILTER]: nfnetlink_queue: don\u0027t unregister handler of other subsystem\n\nThe queue handlers registered by ip[6]_queue.ko at initialization should\nnot be unregistered according to requests from userland program\nusing nfnetlink_queue. If we allow that, there is no way to register\nthe handlers of built-in ip[6]_queue again.\n\nSigned-off-by: Yasuyuki Kozakai \u003cyasuyuki.kozakai@toshiba.co.jp\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0d53778e81ac7af266dac8a20cc328328c327112",
      "tree": "034226154ea7c3466a31ef2d57b5a600d4a106e6",
      "parents": [
        "342b7e3c8a3c84252799c4ac4d9a604b8903d2b4"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Jul 07 22:39:38 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 10 22:18:20 2007 -0700"
      },
      "message": "[NETFILTER]: Convert DEBUGP to pr_debug\n\nConvert DEBUGP to pr_debug and fix lots of non-compiling debug statements.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d3c3f4243e135b3d8c41d98be0cb2f54a4141abf",
      "tree": "082b4108551892eecffa8ce9dab555827540183d",
      "parents": [
        "3569b621ceba0a9cfb80e24c0bd19fd632ccee25"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Jul 07 22:38:30 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 10 22:18:17 2007 -0700"
      },
      "message": "[NETFILTER]: ipt_CLUSTERIP: add compat code\n\nAdjust structure size and don\u0027t expect pointers passed in from\nuserspace to be valid. Also replace an enum in an ABI structure\nby a fixed size type.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ba9dda3ab5a865542e69dfe01edb2436857c9420",
      "tree": "93f92442a8ad134d78b4d7cd8dc74e089baef3d7",
      "parents": [
        "1b50b8a371e90a5e110f466e4ac02cf6b5f681de"
      ],
      "author": {
        "name": "Jozsef Kadlecsik",
        "email": "kadlec@blackhole.kfki.hu",
        "time": "Sat Jul 07 22:21:23 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 10 22:17:14 2007 -0700"
      },
      "message": "[NETFILTER]: x_tables: add TRACE target\n\nThe TRACE target can be used to follow IP and IPv6 packets through\nthe ruleset.\n\nSigned-off-by: Jozsef Kadlecsik \u003ckadlec@blackhole.kfki.hu\u003e\nSigned-off-by: Patrick NcHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1b50b8a371e90a5e110f466e4ac02cf6b5f681de",
      "tree": "edf2513fbfd707a089691487c007c142417ad3a1",
      "parents": [
        "f4a607bfae30d15aad46e75d2ed7a39f7ce7708b"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@gmx.de",
        "time": "Sat Jul 07 22:20:36 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 10 22:17:13 2007 -0700"
      },
      "message": "[NETFILTER]: Add u32 match\n\nAlong comes... xt_u32, a revamped ipt_u32 from POM-NG,\nPlus:\n\n    *\t2007-06-02: added ipv6 support\n\n    *\t2007-06-05: uses kmalloc for the big buffer\n\n    *   2007-06-05: added inversion\n\n    *   2007-06-20: use skb_copy_bits() and get rid of the big buffer\n        and lock (suggested by Pablo Neira Ayuso)\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@gmx.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e1931b784a8de324abf310fa3b5e3f25d3988233",
      "tree": "3f553c7fed76a21efc96cc0eb4fa7bd69722f94d",
      "parents": [
        "ccb79bdce71f2c04cfa9bfcbaf4d37e2f963d684"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@gmx.de",
        "time": "Sat Jul 07 22:16:26 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 10 22:16:59 2007 -0700"
      },
      "message": "[NETFILTER]: x_tables: switch xt_target-\u003echeckentry to bool\n\nSwitch the return type of target checkentry functions to boolean.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@gmx.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "ccb79bdce71f2c04cfa9bfcbaf4d37e2f963d684"
}
