)]}'
{
  "commit": "f876c0fd309cd7c2293ca4579f482bb28148f63c",
  "tree": "03319f9840dc35d9273aa71c435971855bee30f9",
  "parents": [
    "c19ef9b30bfbace8b50985af104c35ffad7e576f"
  ],
  "author": {
    "name": "Anastasia Klimchuk",
    "email": "aklm@chromium.org",
    "time": "Tue Apr 13 10:15:26 2021 +1000"
  },
  "committer": {
    "name": "Nico Huber",
    "email": "nico.h@gmx.de",
    "time": "Sun Jan 22 00:55:18 2023 +0000"
  },
  "message": "linux_spi.c: Separate shutdown from failed init cleanup\n\nShutdown function was covering two different jobs here:\n1) the actual shutdown which is run at the end of the driver\u0027s\nlifecycle and 2) cleanup in cases when initialisation failed.\nNow, shutdown is only doing its main job (#1), and the driver\nitself is doing cleanup when init fails (#2).\n\nThe good thing is that now resources are released/closed immediately\nin cases when init fails (vs shutdown function which was run at some\npoint later), and the driver leaves clean space after itself if init fails.\n\nAnd very importantly this unlocks API change which plans to move\nregister_shutdown inside register master API, see this\nhttps://review.coreboot.org/c/flashrom/+/51761\n\nChange-Id: I1c8da2878cd0e85a1e43ba9b4b8e6f3d9f38ae5c\nSigned-off-by: Anastasia Klimchuk \u003caklm@chromium.org\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/52284\nOriginal-Reviewed-by: Edward O\u0027Callaghan \u003cquasisec@chromium.org\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72168\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b561a22e4e276185b61b42afcb2e5ac9960ab10d",
      "old_mode": 33188,
      "old_path": "linux_spi.c",
      "new_id": "f717c9904fc28a502d35fe83a4e826ddea856504",
      "new_mode": 33188,
      "new_path": "linux_spi.c"
    }
  ]
}
