)]}'
{
  "commit": "ccf3672d530170c98c734dfc5db07d64bcbad2ad",
  "tree": "0cbe9a0856429412b9e026baf77cec9e117c6896",
  "parents": [
    "2f5f6ad9390c1ebbf738d130dbfe80b60eaa167e"
  ],
  "author": {
    "name": "Steven Rostedt",
    "email": "srostedt@redhat.com",
    "time": "Tue Jun 05 09:44:25 2012 -0400"
  },
  "committer": {
    "name": "Steven Rostedt",
    "email": "rostedt@goodmis.org",
    "time": "Thu Jul 19 13:18:22 2012 -0400"
  },
  "message": "ftrace: Consolidate arch dependent functions with \u0027list\u0027 function\n\nAs the function tracer starts to get more features, the support for\ntheses features will spread out throughout the different architectures\nover time. These features boil down to what each arch does in the\nmcount trampoline (the ftrace_caller).\n\nCurrently there\u0027s two features that are not the same throughout the\narchs.\n\n 1) Support to stop function tracing before the callback\n 2) passing of the ftrace ops\n\nBoth of these require placing an indirect function to support the\nfeatures if the mcount trampoline does not.\n\nOn a side note, for all architectures, when more than one callback\nis registered to the function tracer, an intermediate \u0027list\u0027 function\nis called by the mcount trampoline to iterate through the callbacks\nthat are registered.\n\nInstead of making a separate function for each of these features,\nand requiring several indirect calls, just use the single \u0027list\u0027 function\nas the intermediate, to handle all cases. If an arch does not support\nthe \u0027stop function tracing\u0027 or the passing of ftrace ops, just force\nit to use the list function that will handle the features required.\n\nThis makes the code cleaner and simpler and removes a lot of\n #ifdefs in the code.\n\nLink: http://lkml.kernel.org/r/20120612225424.495625483@goodmis.org\n\nReviewed-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2d5964119885981685ceeb4db68f761d1bd9fc92",
      "old_mode": 33188,
      "old_path": "include/linux/ftrace.h",
      "new_id": "3651fdc3bec9d4caa96b1c61476ef3a5a6ed5a96",
      "new_mode": 33188,
      "new_path": "include/linux/ftrace.h"
    },
    {
      "type": "modify",
      "old_id": "4f2ab9352a682a79f6811e3c3eed88e4d20eec1d",
      "old_mode": 33188,
      "old_path": "kernel/trace/ftrace.c",
      "new_id": "4cbca2e6eb706781401deef6b32333f4b7d3ac36",
      "new_mode": 33188,
      "new_path": "kernel/trace/ftrace.c"
    }
  ]
}
