)]}'
{
  "commit": "db0d4db22a78d31c59087f7057b8f1612fecc35d",
  "tree": "e2d84ee2c816d4bef066806863a3937792a08581",
  "parents": [
    "cfcfc9eca2bcbd26a8e206baeb005b055dbf8e37"
  ],
  "author": {
    "name": "Marc Zyngier",
    "email": "marc.zyngier@arm.com",
    "time": "Sat Nov 12 16:09:49 2011 +0000"
  },
  "committer": {
    "name": "Marc Zyngier",
    "email": "marc.zyngier@arm.com",
    "time": "Tue Nov 15 18:13:03 2011 +0000"
  },
  "message": "ARM: gic: allow GIC to support non-banked setups\n\nThe GIC support code is heavily using the fact that hardware\nimplementations are exposing banked registers. Unfortunately, it\nlooks like at least one GIC implementation (EXYNOS) offers both\nthe distributor and the CPU interfaces at different addresses,\ndepending on the CPU.\n\nThis problem is solved by allowing the distributor and CPU interface\naddresses to be per-cpu variables for the platforms that require it.\nThe EXYNOS code is updated not to mess with the GIC internals while\nhandling interrupts, and struct gic_chip_data is back to being private.\nThe DT binding for the gic is updated to allow an optional \"cpu-offset\"\nvalue, which is used to compute the various base addresses.\n\nFinally, a new config option (GIC_NON_BANKED) is used to control this\nfeature, so the overhead is only present on kernels compiled with\nsupport for EXYNOS.\n\nTested on Origen (EXYNOS4) and Panda (OMAP4).\n\nCc: Kukjin Kim \u003ckgene.kim@samsung.com\u003e\nCc: Will Deacon \u003cwill.deacon@arm.com\u003e\nCc: Thomas Abraham \u003cthomas.abraham@linaro.org\u003e\nAcked-by: Rob Herring \u003crob.herring@calxeda.com\u003e\nSigned-off-by: Marc Zyngier \u003cmarc.zyngier@arm.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "52916b4aa1fe9b70201b2fd44f3b91893c76600b",
      "old_mode": 33188,
      "old_path": "Documentation/devicetree/bindings/arm/gic.txt",
      "new_id": "9b4b82a721b64b5cea6309b2d81ab09c0f4f47aa",
      "new_mode": 33188,
      "new_path": "Documentation/devicetree/bindings/arm/gic.txt"
    },
    {
      "type": "modify",
      "old_id": "74df9ca2be316e2df49f164df3ec680366a41a6b",
      "old_mode": 33188,
      "old_path": "arch/arm/common/Kconfig",
      "new_id": "a3beda1213da08ccae33fe86996371addd295d4d",
      "new_mode": 33188,
      "new_path": "arch/arm/common/Kconfig"
    },
    {
      "type": "modify",
      "old_id": "0e6ae470c94f26589c0721a059dfaded9b2f30b1",
      "old_mode": 33188,
      "old_path": "arch/arm/common/gic.c",
      "new_id": "43cb6f1a7cf2e31ad364405f9217ba7a08d5c1b9",
      "new_mode": 33188,
      "new_path": "arch/arm/common/gic.c"
    },
    {
      "type": "modify",
      "old_id": "3e91f22046f55d602550c1a0961312f2c9d4ba33",
      "old_mode": 33188,
      "old_path": "arch/arm/include/asm/hardware/gic.h",
      "new_id": "2721d90625e59f5d91a924bb60aefdacdf9fa6c1",
      "new_mode": 33188,
      "new_path": "arch/arm/include/asm/hardware/gic.h"
    },
    {
      "type": "modify",
      "old_id": "90ec247f3b375f498e20f46c20e25fe2c943b54a",
      "old_mode": 33188,
      "old_path": "arch/arm/mach-exynos/cpu.c",
      "new_id": "e92e464bdbba7d8d0e7302ccb58660742b3cad6d",
      "new_mode": 33188,
      "new_path": "arch/arm/mach-exynos/cpu.c"
    },
    {
      "type": "modify",
      "old_id": "69ffb2fb38755c795a541903e0a4071237be71fa",
      "old_mode": 33188,
      "old_path": "arch/arm/mach-exynos/platsmp.c",
      "new_id": "60bc45e3e7099045560f71bf4aaf29664341e488",
      "new_mode": 33188,
      "new_path": "arch/arm/mach-exynos/platsmp.c"
    },
    {
      "type": "modify",
      "old_id": "9b9968fa8695b05b0fa4edb3784dc90fd000126f",
      "old_mode": 33188,
      "old_path": "arch/arm/plat-s5p/Kconfig",
      "new_id": "8167ce66188c65c19f6d9efda34b718f7acf7c0b",
      "new_mode": 33188,
      "new_path": "arch/arm/plat-s5p/Kconfig"
    }
  ]
}
