)]}'
{
  "commit": "8e02f8581cd2f9c12a03be7641d5c2c427170feb",
  "tree": "eef042716811ef6dcb15be51352a2405a6cc4a96",
  "parents": [
    "83d420ba92bdd52127e4548ae8050a48f655ce3b"
  ],
  "author": {
    "name": "Alex Dubov",
    "email": "oakad@yahoo.com",
    "time": "Fri Dec 08 16:50:51 2006 +1100"
  },
  "committer": {
    "name": "Pierre Ossman",
    "email": "drzeus@drzeus.cx",
    "time": "Sun Feb 04 20:54:07 2007 +0100"
  },
  "message": "tifm_sd: restructure initialization, removal and command handling\n\nIn order to support correct suspend and resume several changes were needed:\n1. Switch from work_struct to tasklet for command handling. When device\nsuspend is called workqueues are already frozen and can not be used.\n2. Separate host initialization code from driver\u0027s probe and don\u0027t rely\non interrupts for host initialization. This, in turn, addresses two\nproblems:\n a) Resume needs to re-initialize the host, but can not assume that\n    device interrupts were already re-armed.\n b) Previously, probe will return successfully before really knowing\n    the state of the host, as host interrupts were not armed in time.\n    Now it uses polling to determine the real host state before returning.\n3. Separate termination code from driver\u0027s remove. Termination may be caused\nby resume, if media changed type or became unavailable during suspend.\n\nSigned-off-by: Alex Dubov \u003coakad@yahoo.com\u003e\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2ab7add78f94259c79106dceb6eeeeacbcf952c2",
      "old_mode": 33188,
      "old_path": "drivers/misc/tifm_7xx1.c",
      "new_id": "50c4cdabb654a1e411bfcbb07b144f6e9b2ec2f5",
      "new_mode": 33188,
      "new_path": "drivers/misc/tifm_7xx1.c"
    },
    {
      "type": "modify",
      "old_id": "d61df5c3ac367cd8e38650c1c44c19db99f3785d",
      "old_mode": 33188,
      "old_path": "drivers/misc/tifm_core.c",
      "new_id": "21eb0ab7c32976c83e7213d5027e30016f7e7969",
      "new_mode": 33188,
      "new_path": "drivers/misc/tifm_core.c"
    },
    {
      "type": "modify",
      "old_id": "5817a138a1e43caf5ed19275292e3d87e2c217e8",
      "old_mode": 33188,
      "old_path": "drivers/mmc/tifm_sd.c",
      "new_id": "85a5974318b43299cc4e663bec66c7e3f6d98397",
      "new_mode": 33188,
      "new_path": "drivers/mmc/tifm_sd.c"
    },
    {
      "type": "modify",
      "old_id": "dfb8052eee5eb730938ae32a70ed579aed37cf86",
      "old_mode": 33188,
      "old_path": "include/linux/tifm.h",
      "new_id": "9caa28e2a63c229954a474a2eaa770d8735a8181",
      "new_mode": 33188,
      "new_path": "include/linux/tifm.h"
    }
  ]
}
