)]}'
{
  "commit": "0d2b45ee8afc1f41670f08a6b3cf666805598543",
  "tree": "32e89b901580fe8efd218ed252c197872f27b6bc",
  "parents": [
    "48d4a0437ecc25d7c23df16fa1eda0d8f4ae5156"
  ],
  "author": {
    "name": "Nico Huber",
    "email": "nico.h@gmx.de",
    "time": "Mon Mar 23 22:42:46 2026 +0100"
  },
  "committer": {
    "name": "Nico Huber",
    "email": "nico.h@gmx.de",
    "time": "Sat Jul 18 10:21:45 2026 +0000"
  },
  "message": "libflashprog: Allow to query bus types, voltage, and test status\n\nThis is mostly an export of the long stable internal structures. We do\nsome renames, though,  and provide the voltage range as floating point\nnumbers. While we are at it, also rename:\n* flashprog_test_status.wp      \u003d\u003e .block_protection,\n* BUS_PROG                      \u003d\u003e BUS_OPAQUE,\n* BUS_NONSPI                    \u003d\u003e BUS_PRESPI.\nThe last one is a pseudonym for the older, memory-mapped buses, and\ndoesn\u0027t include BUS_OPAQUE.\n\nAlso try to name the captured test state consistently, either `tested`\nor `status`.\n\nChange-Id: Ibefb923fa5f566daa804651aa1a9bfe5602ca364\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/482\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ad03fb70b5821f2fe9c8649ed57ac868e7889f44",
      "old_mode": 33188,
      "old_path": "amd_rom3read.c",
      "new_id": "98ba5d29693ddcd453642a681cb67e5d8a2181c8",
      "new_mode": 33188,
      "new_path": "amd_rom3read.c"
    },
    {
      "type": "modify",
      "old_id": "6e8d723a7ef399ac98c8a118bd57a1694c303234",
      "old_mode": 33188,
      "old_path": "chipset_enable.c",
      "new_id": "2953c4b5833436938bd583c89a961976a523fae0",
      "new_mode": 33188,
      "new_path": "chipset_enable.c"
    },
    {
      "type": "modify",
      "old_id": "b9357ea0970f2670dd9d7f081fdf9406396baac4",
      "old_mode": 33188,
      "old_path": "dummyflasher.c",
      "new_id": "ca2a6a8dbbff2e0ce77b9c6a65bd5635e9c6472e",
      "new_mode": 33188,
      "new_path": "dummyflasher.c"
    },
    {
      "type": "modify",
      "old_id": "6987de880c3b6ffd46ef827bb6bbd63811919088",
      "old_mode": 33188,
      "old_path": "flashchips.c",
      "new_id": "e38f5e467b42536ea4a49748f9eeea45483c3ca2",
      "new_mode": 33188,
      "new_path": "flashchips.c"
    },
    {
      "type": "modify",
      "old_id": "2c27eb57531fd993c671c216eb9026af0db7ee87",
      "old_mode": 33188,
      "old_path": "flashprog.c",
      "new_id": "d042c5867f12e46a1c294349e9f77c27b9837935",
      "new_mode": 33188,
      "new_path": "flashprog.c"
    },
    {
      "type": "modify",
      "old_id": "75c0250c74aa1201bf1dd0ff921827c2ec553664",
      "old_mode": 33188,
      "old_path": "include/flash.h",
      "new_id": "3ad9d1f44bf01cf2ed4f416821f8368ce540412a",
      "new_mode": 33188,
      "new_path": "include/flash.h"
    },
    {
      "type": "modify",
      "old_id": "1f46be14ce14291b99b0e159544239a793a3021d",
      "old_mode": 33188,
      "old_path": "include/libflashprog.h",
      "new_id": "eec69ee3d9244066ccefab64f3c393577d3b8fec",
      "new_mode": 33188,
      "new_path": "include/libflashprog.h"
    },
    {
      "type": "modify",
      "old_id": "88a70476e957ff43758e6930de7735d17dcbf395",
      "old_mode": 33188,
      "old_path": "include/programmer.h",
      "new_id": "31c95f75e44b9bd190abc4894d50151dcc31e496",
      "new_mode": 33188,
      "new_path": "include/programmer.h"
    },
    {
      "type": "modify",
      "old_id": "7f9713a1c718e05ac13944b95a2da042acb531cf",
      "old_mode": 33188,
      "old_path": "internal.c",
      "new_id": "4c2a28bff15a09cbb95a7c6b59fe4a8bb0034c1b",
      "new_mode": 33188,
      "new_path": "internal.c"
    },
    {
      "type": "modify",
      "old_id": "c13f7e424baa4828577125b08e5c079ba86c7321",
      "old_mode": 33188,
      "old_path": "libflashprog.map",
      "new_id": "709db87c129da032b5ed8ec3e01dd5f5655accc5",
      "new_mode": 33188,
      "new_path": "libflashprog.map"
    },
    {
      "type": "modify",
      "old_id": "ec4adbca8ec78eba68d49f9b8f8d5461f1996e8f",
      "old_mode": 33188,
      "old_path": "libflashprog/chips.c",
      "new_id": "0b43e6f20fbba368b52a32beb36bf6e8e95391c5",
      "new_mode": 33188,
      "new_path": "libflashprog/chips.c"
    },
    {
      "type": "modify",
      "old_id": "7a11b90c278d39e9afed9c8f8a83e3df50417eb4",
      "old_mode": 33188,
      "old_path": "opaque.c",
      "new_id": "6db03cc3dbc426d8b96e4ad1abdfa48383a08c61",
      "new_mode": 33188,
      "new_path": "opaque.c"
    },
    {
      "type": "modify",
      "old_id": "79d585b1ac44658da9b798d0221622ea233c2d36",
      "old_mode": 33188,
      "old_path": "print.c",
      "new_id": "cee7ab53875dbb6513be17cef00831a51e1dfe98",
      "new_mode": 33188,
      "new_path": "print.c"
    },
    {
      "type": "modify",
      "old_id": "5c3658890032eaa55fe37fd501fc84862f584758",
      "old_mode": 33188,
      "old_path": "print_wiki.c",
      "new_id": "52536a8986b13d2839884a981f5ad8b44e506c42",
      "new_mode": 33188,
      "new_path": "print_wiki.c"
    },
    {
      "type": "modify",
      "old_id": "30577acb84be5ca6dfd07c7b3a2ecbf22e9b7ad4",
      "old_mode": 33188,
      "old_path": "rayer_spi.c",
      "new_id": "718c53ddcd535db48ce16d27ae770e8547c205ea",
      "new_mode": 33188,
      "new_path": "rayer_spi.c"
    },
    {
      "type": "modify",
      "old_id": "a5969669c67c0da51d2958c62cf6d17e9b4a5736",
      "old_mode": 33188,
      "old_path": "serprog.c",
      "new_id": "674d0298428f2d935ff88cdfb82a4c3249d53c5d",
      "new_mode": 33188,
      "new_path": "serprog.c"
    }
  ]
}
