)]}'
{
  "commit": "c63d9184aaef45d5a970f045ae901bf9f7221108",
  "tree": "424ae7b122e2ff722d5fdf3ba486b701bd9bd052",
  "parents": [
    "72c02ff4b0ea4111d4f2632ba102506683607749"
  ],
  "author": {
    "name": "Anastasia Klimchuk",
    "email": "aklm@chromium.org",
    "time": "Tue Jul 06 16:18:44 2021 +1000"
  },
  "committer": {
    "name": "Nico Huber",
    "email": "nico.h@gmx.de",
    "time": "Sun Jan 29 12:29:02 2023 +0000"
  },
  "message": "spi_master: Use new API to register shutdown function\n\nThis allows spi masters to register shutdown function in spi_master\nstruct, which means there is no need to call register_shutdown in init\nfunction, since this call is now a part of register_spi_master.\n\nAs a consequence of using new API, two things are happening here:\n1) No resource leakage anymore in case register_shutdown() would fail,\n2) Fixed propagation of register_spi_master() return values.\n\nBasic testing: when I comment out free(data) in linux_spi_shutdown, test\nfails with error\n../linux_spi.c:235: note: block 0x55a4db276510 allocated here\nERROR: linux_spi_init_and_shutdown_test_success leaked 1 block(s)\nMeans, shutdown function is invoked.\n\nTested:  1) builds and ninja test including CB:56911\n2) On ARMv7 device\nflashrom -p linux_spi -V\n-\u003e using linux_spi, chip found\n3) On x86_64 AMD device\nflashrom -p internal -V\n-\u003e this is actually using sb600spi, chip found\n\nflashrom-stable: Updated `dirtyjtag_spi` which was added earlier.\n\nChange-Id: Ib60300f9ddb295a255d5ef3f8da0e07064207140\nSigned-off-by: Anastasia Klimchuk \u003caklm@chromium.org\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/56103\nOriginal-Reviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nOriginal-Reviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nOriginal-Reviewed-by: Edward O\u0027Callaghan \u003cquasisec@chromium.org\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72231\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": "9c29b8018abf48181702fc405e72334215bf23d0",
      "old_mode": 33188,
      "old_path": "buspirate_spi.c",
      "new_id": "efd3e8b533259d9e6c885cb679f8afbe5d56bbf6",
      "new_mode": 33188,
      "new_path": "buspirate_spi.c"
    },
    {
      "type": "modify",
      "old_id": "e26f9e91e445fd267c428ef669ba127963605421",
      "old_mode": 33188,
      "old_path": "ch341a_spi.c",
      "new_id": "3f27298916d46aee2e732f6f54a673a27381dc0d",
      "new_mode": 33188,
      "new_path": "ch341a_spi.c"
    },
    {
      "type": "modify",
      "old_id": "af1f23fa5d6a4e8934b66b86358f065852001489",
      "old_mode": 33188,
      "old_path": "dediprog.c",
      "new_id": "c7f96c67de6fa43b7ac39a10a0119ea9428578ab",
      "new_mode": 33188,
      "new_path": "dediprog.c"
    },
    {
      "type": "modify",
      "old_id": "d39d686f8b5a077fbf0bee3c9d55f9522287dbf2",
      "old_mode": 33188,
      "old_path": "digilent_spi.c",
      "new_id": "128c95c869a92f0f605eb47eaf98890711372dfb",
      "new_mode": 33188,
      "new_path": "digilent_spi.c"
    },
    {
      "type": "modify",
      "old_id": "e7d86645401a1a11093abe18d911d140c0644d94",
      "old_mode": 33188,
      "old_path": "dirtyjtag_spi.c",
      "new_id": "47b553df9860e42f4928eb81ef746f90e29a2db5",
      "new_mode": 33188,
      "new_path": "dirtyjtag_spi.c"
    },
    {
      "type": "modify",
      "old_id": "b37a60ed6762083b72046a667d4c2fa9d5805ffc",
      "old_mode": 33188,
      "old_path": "ft2232_spi.c",
      "new_id": "78dbb69ddb9785f4b8ba9e9c1454696105ebe609",
      "new_mode": 33188,
      "new_path": "ft2232_spi.c"
    },
    {
      "type": "modify",
      "old_id": "589447aba1b026d8c8b8d2094ee759aa13226446",
      "old_mode": 33188,
      "old_path": "jlink_spi.c",
      "new_id": "fd149088ffa17233e0b43d87a3a8dd505290eee1",
      "new_mode": 33188,
      "new_path": "jlink_spi.c"
    },
    {
      "type": "modify",
      "old_id": "ea43f9d027fc77f0c9b75cd34fd3be118e532323",
      "old_mode": 33188,
      "old_path": "linux_spi.c",
      "new_id": "390038f9c0032d0ba35720d3cdac485e9baeaf45",
      "new_mode": 33188,
      "new_path": "linux_spi.c"
    },
    {
      "type": "modify",
      "old_id": "460a3821551fc8b17881202838f2bd313a887c96",
      "old_mode": 33188,
      "old_path": "mstarddc_spi.c",
      "new_id": "cf00898145ce1e58b6d63f5286f00a8e34e8cabf",
      "new_mode": 33188,
      "new_path": "mstarddc_spi.c"
    },
    {
      "type": "modify",
      "old_id": "6e274ac5fbe781a910d219fe3432b9ff3d5788d9",
      "old_mode": 33188,
      "old_path": "ni845x_spi.c",
      "new_id": "75e5312bdc7dd19958da0935e30f4095e9c095de",
      "new_mode": 33188,
      "new_path": "ni845x_spi.c"
    },
    {
      "type": "modify",
      "old_id": "62641f25bc184267dcd7e08d72582ebc86a348cd",
      "old_mode": 33188,
      "old_path": "pickit2_spi.c",
      "new_id": "bcf48fc7283bad8c59b0d3430d9310e4b85378a0",
      "new_mode": 33188,
      "new_path": "pickit2_spi.c"
    },
    {
      "type": "modify",
      "old_id": "50b5c85f446a5c387f7f6566454fdbaca31bd8a8",
      "old_mode": 33188,
      "old_path": "stlinkv3_spi.c",
      "new_id": "c7ee33b9ae448bb3a472862543d7bf82f5d314c9",
      "new_mode": 33188,
      "new_path": "stlinkv3_spi.c"
    }
  ]
}
