)]}'
{
  "commit": "10a0ef39fbd1d484c2bbc1ffd83d57ecef209140",
  "tree": "2659f907c2039e0730d69fb8dac6e6f8e5b3cd34",
  "parents": [
    "ea7415512a07add2b09c070c9a5d1950833cf9b3"
  ],
  "author": {
    "name": "Ivan Kokshaysky",
    "email": "ink@jurassic.park.msu.ru",
    "time": "Tue Feb 17 13:46:53 2009 +0300"
  },
  "committer": {
    "name": "Jesse Barnes",
    "email": "jbarnes@hobbes.lan",
    "time": "Thu Mar 19 19:29:36 2009 -0700"
  },
  "message": "PCI/alpha: pci sysfs resources\n\nThis closes http://bugzilla.kernel.org/show_bug.cgi?id\u003d10893\nwhich is a showstopper for X development on alpha.\n\nThe generic HAVE_PCI_MMAP code (drivers/pci-sysfs.c) is not\nvery useful since we have to deal with three different types\nof MMIO address spaces: sparse and dense mappings for old\nev4/ev5 machines and \"normal\" 1:1 MMIO space (bwx) for ev56 and\nlater.\nAlso \"write combine\" mappings are meaningless on alpha - roughly\nspeaking, alpha does write combining, IO reordering and other\noptimizations by default, unless user splits IO accesses\nwith memory barriers.\n\nI think the cleanest way to deal with resource files on alpha\nis to convert the default no-op pci_create_resource_files() and\npci_remove_resource_files() for !HAVE_PCI_MMAP case into __weak\nfunctions and override them with alpha specific ones.\n\nAnother alpha hook is needed for \"legacy_\" resource files\nto handle sparse addressing (pci_adjust_legacy_attr).\n\nWith the \"standard\" resourceN files on ev56/ev6 libpciaccess\nworks \"out of the box\". Handling of resourceN_sparse/resourceN_dense\nfiles on older machines obviously requires some userland work.\n\nSparse/dense stuff has been tested on sx164 (pca56/pyxis, normally\nuses bwx IO) with the kernel hacked into \"cia compatible\" mode.\n\nSigned-off-by: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2a14302c17a337194cf3df0a7d20ae4dfa28273d",
      "old_mode": 33188,
      "old_path": "arch/alpha/include/asm/pci.h",
      "new_id": "cb04eaa6ba33d13fb7be187c2bcd67ea626a2bfa",
      "new_mode": 33188,
      "new_path": "arch/alpha/include/asm/pci.h"
    },
    {
      "type": "modify",
      "old_id": "b4697759a1235ad60ce5458fcd6b896fb4f24e1d",
      "old_mode": 33188,
      "old_path": "arch/alpha/kernel/Makefile",
      "new_id": "a427538252f878aa664520e5c3f6f6d7ee844513",
      "new_mode": 33188,
      "new_path": "arch/alpha/kernel/Makefile"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6ea822e7f724dfbbf26e4b0692e7377ee58a0c6b",
      "new_mode": 33188,
      "new_path": "arch/alpha/kernel/pci-sysfs.c"
    },
    {
      "type": "modify",
      "old_id": "dfc4e0ddf241b57a93c8e94d3f81a583a772074c",
      "old_mode": 33188,
      "old_path": "drivers/pci/pci-sysfs.c",
      "new_id": "1c8929801400f99489543ed44e486a98a77945a6",
      "new_mode": 33188,
      "new_path": "drivers/pci/pci-sysfs.c"
    }
  ]
}
