)]}'
{
  "commit": "bf54e1462b9192fdef7ea9e2bc44fdc16a4b87bc",
  "tree": "31ec8e4e13b76d22b7bf9f93ea620e88911fe416",
  "parents": [
    "850bb6f23b93c04ce1e4509a87fa607dc17d97c1"
  ],
  "author": {
    "name": "Stefan Richter",
    "email": "stefanr@s5r6.in-berlin.de",
    "time": "Fri Jul 16 22:25:51 2010 +0200"
  },
  "committer": {
    "name": "Stefan Richter",
    "email": "stefanr@s5r6.in-berlin.de",
    "time": "Fri Jul 23 13:36:28 2010 +0200"
  },
  "message": "firewire: cdev: add PHY packet reception\n\nAdd an FW_CDEV_IOC_RECEIVE_PHY_PACKETS ioctl() and\nFW_CDEV_EVENT_PHY_PACKET_RECEIVED poll()/read() event for /dev/fw*.\nThis can be used to get information from remote PHYs by remote access\nPHY packets.\n\nThis is also the 2nd half of the functionality (the receive part) to\nsupport a userspace implementation of a VersaPHY transaction layer.\n\nSafety considerations:\n\n  - PHY packets are generally broadcasts, hence some kind of elevated\n    privileges should be required of a process to be able to listen in\n    on PHY packets.  This implementation assumes that a process that is\n    allowed to open the /dev/fw* of a local node does have this\n    privilege.\n\n    There was an inconclusive discussion about introducing POSIX\n    capabilities as a means to check for user privileges for these\n    kinds of operations.\n\nOther limitations:\n\n  - PHY packet reception may be switched on by ioctl() but cannot be\n    switched off again.  It would be trivial to provide an off switch,\n    but this is not worth the code.  The client should simply close()\n    the fd then, or just ignore further events.\n\n  - For sake of simplicity of API and kernel-side implementation, no\n    filter per packet content is provided.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0c312c4bb4bd08f9bd7c716a94648c8730ebc6cc",
      "old_mode": 33188,
      "old_path": "drivers/firewire/core-card.c",
      "new_id": "6d1cfae6aad47723a6511fa22bced7873b0ddb7d",
      "new_mode": 33188,
      "new_path": "drivers/firewire/core-card.c"
    },
    {
      "type": "modify",
      "old_id": "f95719926487755c0d7dccc3e2ae9719038f5e59",
      "old_mode": 33188,
      "old_path": "drivers/firewire/core-cdev.c",
      "new_id": "0425dd5dfcd39bade92337071f78f9e9731bf7a9",
      "new_mode": 33188,
      "new_path": "drivers/firewire/core-cdev.c"
    },
    {
      "type": "modify",
      "old_id": "e2e4dc624fb61898f1850310d00e37d87379a961",
      "old_mode": 33188,
      "old_path": "drivers/firewire/core-transaction.c",
      "new_id": "6f225cacbc3da74af00913bff9c71c563d209f39",
      "new_mode": 33188,
      "new_path": "drivers/firewire/core-transaction.c"
    },
    {
      "type": "modify",
      "old_id": "ff6c90922001b0d8222326e6110ff9b171e20b55",
      "old_mode": 33188,
      "old_path": "drivers/firewire/core.h",
      "new_id": "3102b6b63438890fe6984eba19cfdbf677df7b92",
      "new_mode": 33188,
      "new_path": "drivers/firewire/core.h"
    },
    {
      "type": "modify",
      "old_id": "bb6a92bc9e6a2bfc8211a877a345d18462011a45",
      "old_mode": 33188,
      "old_path": "drivers/firewire/ohci.c",
      "new_id": "08afccc66333c877e17882858137a3e025defad1",
      "new_mode": 33188,
      "new_path": "drivers/firewire/ohci.c"
    },
    {
      "type": "modify",
      "old_id": "5bc051b9a0137d02df16c00c1b5f7bbdf752f8c8",
      "old_mode": 33188,
      "old_path": "include/linux/firewire-cdev.h",
      "new_id": "b8740916079441af54e30764a8037d07f3fcef26",
      "new_mode": 33188,
      "new_path": "include/linux/firewire-cdev.h"
    },
    {
      "type": "modify",
      "old_id": "0c38b8e97722fdb46b5908f611002e6900119980",
      "old_mode": 33188,
      "old_path": "include/linux/firewire.h",
      "new_id": "d974aa4a24c9e7c17fd317ac990c8c965e83007c",
      "new_mode": 33188,
      "new_path": "include/linux/firewire.h"
    }
  ]
}
