)]}'
{
  "commit": "5f7dc5d75076fd1c1fc6bc09f2467509d20db24a",
  "tree": "c105f8463607381acd7d02bdda75641b3f497e37",
  "parents": [
    "2f88d151cb8e73587983d7feccd70672ff6730fe"
  ],
  "author": {
    "name": "Ivan Kokshaysky",
    "email": "ink@jurassic.park.msu.ru",
    "time": "Thu Jan 15 13:51:19 2009 -0800"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Thu Jan 15 16:39:40 2009 -0800"
  },
  "message": "alpha: fix RTC on marvel\n\nUnlike other alphas, marvel doesn\u0027t have real PC-style CMOS clock hardware\n- RTC accesses are emulated via PAL calls.  Unfortunately, for unknown\nreason these calls work only on CPU #0.  So current implementation for\narbitrary CPU makes CMOS_READ/WRITE to be executed on CPU #0 via IPI.\nHowever, for obvious reason this doesn\u0027t work with standard\nget/set_rtc_time() functions, where a bunch of CMOS accesses is done with\ndisabled interrupts.\n\nSolved by making the IPI calls for entire get/set_rtc_time() functions,\nnot for individual CMOS accesses.  Which is also a lot more effective\nperformance-wise.\n\nThe patch is largely based on the code from Jay Estabrook.\nMy changes:\n- tweak asm-generic/rtc.h by adding a couple of #defines to\n  avoid a massive code duplication in arch/alpha/include/asm/rtc.h;\n- sys_marvel.c: fix get/set_rtc_time() return values (Jay\u0027s FIXMEs).\n\nNOTE: this fixes *only* LIB_RTC drivers.  Legacy (CONFIG_RTC) driver\nwont\u0027t work on marvel.  Actually I think that we should just disable\nCONFIG_RTC on alpha (maybe in 2.6.30?), like most other arches - AFAIK,\nall modern distributions use LIB_RTC anyway.\n\nSigned-off-by: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a86c083cdf7f19e6556c9267cc4912a2f3b28118",
      "old_mode": 33188,
      "old_path": "arch/alpha/include/asm/machvec.h",
      "new_id": "fea4ea75b79d20d08cac71369968a5d95c4a104b",
      "new_mode": 33188,
      "new_path": "arch/alpha/include/asm/machvec.h"
    },
    {
      "type": "modify",
      "old_id": "4e854b1333ebbd6595b6ae2cfe9d7af68c9f9a9b",
      "old_mode": 33188,
      "old_path": "arch/alpha/include/asm/rtc.h",
      "new_id": "1f7fba671ae68a25f204cf819e3e04bde362810e",
      "new_mode": 33188,
      "new_path": "arch/alpha/include/asm/rtc.h"
    },
    {
      "type": "modify",
      "old_id": "9cd8dca742a733f8791b850872f96d68e72497a7",
      "old_mode": 33188,
      "old_path": "arch/alpha/kernel/core_marvel.c",
      "new_id": "e302daecbe56cbe5ac5a9cca91046da88fad51da",
      "new_mode": 33188,
      "new_path": "arch/alpha/kernel/core_marvel.c"
    },
    {
      "type": "modify",
      "old_id": "466c9dff818192de44302c5feacd495c6a542c74",
      "old_mode": 33188,
      "old_path": "arch/alpha/kernel/machvec_impl.h",
      "new_id": "512685f78097a0ed5406e1e2226641cc007545c8",
      "new_mode": 33188,
      "new_path": "arch/alpha/kernel/machvec_impl.h"
    },
    {
      "type": "modify",
      "old_id": "708d5ca87782ad011019250399787e6e1c4258e5",
      "old_mode": 33188,
      "old_path": "arch/alpha/kernel/proto.h",
      "new_id": "fe14c6747cd651d56e07d10d6094f5671eb532c6",
      "new_mode": 33188,
      "new_path": "arch/alpha/kernel/proto.h"
    },
    {
      "type": "modify",
      "old_id": "2c3de97de46ca54416b7f52f6fc50bbac7684f6b",
      "old_mode": 33188,
      "old_path": "arch/alpha/kernel/sys_jensen.c",
      "new_id": "e2516f9a8967e45aa8c4df23f3de48cae1cdd67e",
      "new_mode": 33188,
      "new_path": "arch/alpha/kernel/sys_jensen.c"
    },
    {
      "type": "modify",
      "old_id": "828449cd263687c18bc278358a8e8e2c8c8a01be",
      "old_mode": 33188,
      "old_path": "arch/alpha/kernel/sys_marvel.c",
      "new_id": "c5a1a2438c678191eeb6bb1c39b518cdf1c4adc9",
      "new_mode": 33188,
      "new_path": "arch/alpha/kernel/sys_marvel.c"
    },
    {
      "type": "modify",
      "old_id": "e6a231435cbac57f90ffe77907af51cf4b5ccc4f",
      "old_mode": 33188,
      "old_path": "arch/alpha/kernel/time.c",
      "new_id": "b04e2cbf23a445cb441839a415f204e49665830e",
      "new_mode": 33188,
      "new_path": "arch/alpha/kernel/time.c"
    },
    {
      "type": "modify",
      "old_id": "89061c1a67d473f42c039780e0dcfa1506bec640",
      "old_mode": 33188,
      "old_path": "include/asm-generic/rtc.h",
      "new_id": "763e3b060f432542e07a6730a837185853418148",
      "new_mode": 33188,
      "new_path": "include/asm-generic/rtc.h"
    }
  ]
}
