)]}'
{"id":"flashprog~481","triplet_id":"flashprog~main~I7ecc12e1b74ca11f2be1b3472d6e470da44bfef1","project":"flashprog","branch":"main","topic":"bus_probing","attention_set":{},"removed_from_attention_set":{"1000000":{"account":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"last_update":"2026-07-18 10:21:18.000000000","reason":"\u003cGERRIT_ACCOUNT_1000000\u003e replied on the change","reason_account":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]}}},"hashtags":[],"change_id":"I7ecc12e1b74ca11f2be1b3472d6e470da44bfef1","subject":"libflashprog: Start a new API for chip enumeration","status":"MERGED","created":"2026-04-13 12:35:04.000000000","updated":"2026-07-18 10:21:45.000000000","submitted":"2026-07-18 10:21:45.000000000","submitter":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"total_comment_count":4,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"497-bus_probing","meta_rev_id":"ed279e7859be59a216e6cb48e4bf5769ccbad8ca","_number":481,"virtual_id_number":481,"owner":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"actions":{},"labels":{"Code-Review":{"approved":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"all":[{"tag":"autogenerated:gerrit:merged","value":2,"date":"2026-07-18 10:21:45.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]}],"values":{"-2":"Do not submit","-1":"I would prefer that you didn\u0027t submit this"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me, approved"},"default_value":0},"Verified":{"approved":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"all":[{"tag":"autogenerated:gerrit:merged","value":1,"date":"2026-07-18 10:21:45.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]}],"values":{"-1":"Fails"," 0":"No score","+1":"Verified"},"default_value":0}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]}]},"pending_reviewers":{},"reviewer_updates":[],"messages":[{"id":"8df3ca9c9e82cae48833af754dda68e726a175bd","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2026-04-13 12:35:04.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"c7641d31bf06337f3184da974d10b016855f415f","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2026-06-17 19:12:27.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"6ac4a8854b268b9041327c92392eec753c9d7a8d","author":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2026-06-19 21:59:27.000000000","message":"Patch Set 2: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"0b9b2f632102e648fa641d95e790ec20c851f2bb","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2026-06-24 17:36:37.000000000","message":"Uploaded patch set 3.\n\nOutdated Votes:\n* Code-Review+1 (copy condition: \"changekind:NO_CHANGE OR changekind:NO_CODE_CHANGE OR changekind:TRIVIAL_REBASE OR is:MIN\")\n","accounts_in_message":[],"_revision_number":3},{"id":"cf51accf132cc3f9d9fb4c09df97e1e9ab270402","author":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2026-07-04 16:08:35.000000000","message":"Patch Set 3: Code-Review+2 Verified+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"c80af3d5ae6cfbe9c4b11d9ab8a9a9639bf06a81","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2026-07-04 21:28:48.000000000","message":"Uploaded patch set 4: Patch Set 3 was rebased.\n\nCopied Votes:\n* Code-Review+2 (copy condition: \"changekind:NO_CHANGE OR changekind:NO_CODE_CHANGE OR **changekind:TRIVIAL_REBASE** OR is:MIN\")\n* Verified+1 (copy condition: \"changekind:NO_CHANGE OR changekind:NO_CODE_CHANGE OR **changekind:TRIVIAL_REBASE**\")\n","accounts_in_message":[],"_revision_number":4},{"id":"cdc5d87653b921f3e6f20d2db4f745363ac2ba22","author":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2026-07-09 11:47:54.000000000","message":"Patch Set 4: Code-Review+1 Verified+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"b2ecd504e441e5e290a86fdb1b076fe1478ba910","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2026-07-13 14:29:57.000000000","message":"Uploaded patch set 5.\n\nOutdated Votes:\n* Code-Review+1 (copy condition: \"changekind:NO_CHANGE OR changekind:NO_CODE_CHANGE OR changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1 (copy condition: \"changekind:NO_CHANGE OR changekind:NO_CODE_CHANGE OR changekind:TRIVIAL_REBASE\")\n","accounts_in_message":[],"_revision_number":5},{"id":"bf877772639f7cf857a44a0e3f2f9f4d3292dc31","author":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2026-07-13 14:31:44.000000000","message":"Patch Set 5: Code-Review+2 Verified+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":5},{"id":"8238ef18fed100781b46ab047cf5b08444f0fb5c","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2026-07-18 10:20:47.000000000","message":"Uploaded patch set 6.\n\nOutdated Votes:\n* Code-Review+2 (copy condition: \"changekind:NO_CHANGE OR changekind:NO_CODE_CHANGE OR changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1 (copy condition: \"changekind:NO_CHANGE OR changekind:NO_CODE_CHANGE OR changekind:TRIVIAL_REBASE\")\n","accounts_in_message":[],"_revision_number":6},{"id":"bfc7d189aa55d8dd09f23d2015dbd266b737c912","author":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2026-07-18 10:21:18.000000000","message":"Patch Set 6: Code-Review+2 Verified+1","accounts_in_message":[],"_revision_number":6},{"id":"ed279e7859be59a216e6cb48e4bf5769ccbad8ca","tag":"autogenerated:gerrit:merged","author":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2026-07-18 10:21:45.000000000","message":"Change has been successfully rebased and submitted as 48d4a0437ecc25d7c23df16fa1eda0d8f4ae5156","accounts_in_message":[],"_revision_number":7}],"current_revision_number":7,"current_revision":"48d4a0437ecc25d7c23df16fa1eda0d8f4ae5156","revisions":{"d8909d452a4cde914a26baff8022ec67a6cab891":{"kind":"REWORK","_number":1,"created":"2026-04-13 12:35:04.000000000","uploader":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"ref":"refs/changes/81/481/1","fetch":{"anonymous http":{"url":"https://review.sourcearcade.org/flashprog","ref":"refs/changes/81/481/1","commands":{"Branch":"git fetch https://review.sourcearcade.org/flashprog refs/changes/81/481/1 \u0026\u0026 git checkout -b change-481 FETCH_HEAD","Checkout":"git fetch https://review.sourcearcade.org/flashprog refs/changes/81/481/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.sourcearcade.org/flashprog refs/changes/81/481/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.sourcearcade.org/flashprog refs/changes/81/481/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.sourcearcade.org/flashprog refs/changes/81/481/1","Reset To":"git fetch https://review.sourcearcade.org/flashprog refs/changes/81/481/1 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"7aec673a70bb5c856bbe99b8e62c9da0838ddbb0","subject":"Export bus probing functions","web_links":[{"name":"browse","url":"/plugins/gitiles/flashprog/+/7aec673a70bb5c856bbe99b8e62c9da0838ddbb0"}]}],"author":{"name":"Nico Huber","email":"nico.h@gmx.de","date":"2026-03-08 15:07:28.000000000","tz":60},"committer":{"name":"Nico Huber","email":"nico.h@gmx.de","date":"2026-03-24 21:50:49.000000000","tz":60},"subject":"libflashprog: Start a new API for chip enumeration","message":"libflashprog: Start a new API for chip enumeration\n\nFor now, allow to query all chips, their vendor, name and size.\n\nThere\u0027s a tricky optimization coming up: We don\u0027t want to allocate\nadditional memory when enumerating the chip database. But, we also\nwant to use the same API interface to access information about de-\ntected chips, which requires dynamic memory.  So we have to handle\nthese distinct cases explicitly. We make the distinction either by\n`struct flashprog_chips *`, which will be NULL to denote the flash\ndatabase, or by chip_from_db(), which returns true if the provided\npointer is within the database range.\n\nChange-Id: I7ecc12e1b74ca11f2be1b3472d6e470da44bfef1\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\n","web_links":[{"name":"browse","url":"/plugins/gitiles/flashprog/+/d8909d452a4cde914a26baff8022ec67a6cab891"}]},"branch":"refs/heads/main"},"f1db37045dbf6780ce0cefc4bfb10a223d61567d":{"kind":"REWORK","_number":2,"created":"2026-06-17 19:12:27.000000000","uploader":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"ref":"refs/changes/81/481/2","fetch":{"anonymous http":{"url":"https://review.sourcearcade.org/flashprog","ref":"refs/changes/81/481/2","commands":{"Branch":"git fetch https://review.sourcearcade.org/flashprog refs/changes/81/481/2 \u0026\u0026 git checkout -b change-481 FETCH_HEAD","Checkout":"git fetch https://review.sourcearcade.org/flashprog refs/changes/81/481/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.sourcearcade.org/flashprog refs/changes/81/481/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.sourcearcade.org/flashprog refs/changes/81/481/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.sourcearcade.org/flashprog refs/changes/81/481/2","Reset To":"git fetch https://review.sourcearcade.org/flashprog refs/changes/81/481/2 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"7aec673a70bb5c856bbe99b8e62c9da0838ddbb0","subject":"Export bus probing functions","web_links":[{"name":"browse","url":"/plugins/gitiles/flashprog/+/7aec673a70bb5c856bbe99b8e62c9da0838ddbb0"}]}],"author":{"name":"Nico Huber","email":"nico.h@gmx.de","date":"2026-03-08 15:07:28.000000000","tz":60},"committer":{"name":"Nico Huber","email":"nico.h@gmx.de","date":"2026-06-16 10:36:42.000000000","tz":120},"subject":"libflashprog: Start a new API for chip enumeration","message":"libflashprog: Start a new API for chip enumeration\n\nFor now, allow to query all chips, their vendor, name and size.\n\nThere\u0027s a tricky optimization coming up: We don\u0027t want to allocate\nadditional memory when enumerating the chip database. But, we also\nwant to use the same API interface to access information about de-\ntected chips, which requires dynamic memory.  So we have to handle\nthese distinct cases explicitly. We make the distinction either by\n`struct flashprog_chips *`, which will be NULL to denote the flash\ndatabase, or by chip_from_db(), which returns true if the provided\npointer is within the database range.\n\nChange-Id: I7ecc12e1b74ca11f2be1b3472d6e470da44bfef1\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\n","web_links":[{"name":"browse","url":"/plugins/gitiles/flashprog/+/f1db37045dbf6780ce0cefc4bfb10a223d61567d"}]},"branch":"refs/heads/main"},"c0231e1b7163bf4f9713860afa7326ab134c568d":{"kind":"REWORK","_number":3,"created":"2026-06-24 17:36:37.000000000","uploader":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"ref":"refs/changes/81/481/3","fetch":{"anonymous http":{"url":"https://review.sourcearcade.org/flashprog","ref":"refs/changes/81/481/3","commands":{"Branch":"git fetch https://review.sourcearcade.org/flashprog refs/changes/81/481/3 \u0026\u0026 git checkout -b change-481 FETCH_HEAD","Checkout":"git fetch https://review.sourcearcade.org/flashprog refs/changes/81/481/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.sourcearcade.org/flashprog refs/changes/81/481/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.sourcearcade.org/flashprog refs/changes/81/481/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.sourcearcade.org/flashprog refs/changes/81/481/3","Reset To":"git fetch https://review.sourcearcade.org/flashprog refs/changes/81/481/3 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"831c0124ab14b129f2ab2d9aee9a994e3dfbd8d2","subject":"Export bus probing functions","web_links":[{"name":"browse","url":"/plugins/gitiles/flashprog/+/831c0124ab14b129f2ab2d9aee9a994e3dfbd8d2"}]}],"author":{"name":"Nico Huber","email":"nico.h@gmx.de","date":"2026-03-08 15:07:28.000000000","tz":60},"committer":{"name":"Nico Huber","email":"nico.h@gmx.de","date":"2026-06-24 17:16:09.000000000","tz":120},"subject":"libflashprog: Start a new API for chip enumeration","message":"libflashprog: Start a new API for chip enumeration\n\nFor now, allow to query all chips, their vendor, name and size.\n\nThere\u0027s a tricky optimization coming up: We don\u0027t want to allocate\nadditional memory when enumerating the chip database. But, we also\nwant to use the same API interface to access information about de-\ntected chips, which requires dynamic memory.  So we have to handle\nthese distinct cases explicitly.  Where `struct flashprog_chips *`\nis used, we set it to the special value `FLASHCHIPS_DB`  to denote\nthe flash database. For `struct flashprog_chip *` pointers, we add\nchip_from_db(), which tells us whether the given pointer is within\nthe database range.\n\nChange-Id: I7ecc12e1b74ca11f2be1b3472d6e470da44bfef1\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\n","web_links":[{"name":"browse","url":"/plugins/gitiles/flashprog/+/c0231e1b7163bf4f9713860afa7326ab134c568d"}]},"branch":"refs/heads/main"},"fbf6d833f1e8849756483850112c5803a988d4b9":{"kind":"TRIVIAL_REBASE","_number":4,"created":"2026-07-04 21:28:48.000000000","uploader":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"ref":"refs/changes/81/481/4","fetch":{"anonymous http":{"url":"https://review.sourcearcade.org/flashprog","ref":"refs/changes/81/481/4","commands":{"Branch":"git fetch https://review.sourcearcade.org/flashprog refs/changes/81/481/4 \u0026\u0026 git checkout -b change-481 FETCH_HEAD","Checkout":"git fetch https://review.sourcearcade.org/flashprog refs/changes/81/481/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.sourcearcade.org/flashprog refs/changes/81/481/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.sourcearcade.org/flashprog refs/changes/81/481/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.sourcearcade.org/flashprog refs/changes/81/481/4","Reset To":"git fetch https://review.sourcearcade.org/flashprog refs/changes/81/481/4 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"4ea85906c5d4a443d39adbb26ead41b1b34a5495","subject":"Export bus probing functions","web_links":[{"name":"browse","url":"/plugins/gitiles/flashprog/+/4ea85906c5d4a443d39adbb26ead41b1b34a5495"}]}],"author":{"name":"Nico Huber","email":"nico.h@gmx.de","date":"2026-03-08 15:07:28.000000000","tz":60},"committer":{"name":"Nico Huber","email":"nico.h@gmx.de","date":"2026-07-04 20:54:42.000000000","tz":120},"subject":"libflashprog: Start a new API for chip enumeration","message":"libflashprog: Start a new API for chip enumeration\n\nFor now, allow to query all chips, their vendor, name and size.\n\nThere\u0027s a tricky optimization coming up: We don\u0027t want to allocate\nadditional memory when enumerating the chip database. But, we also\nwant to use the same API interface to access information about de-\ntected chips, which requires dynamic memory.  So we have to handle\nthese distinct cases explicitly.  Where `struct flashprog_chips *`\nis used, we set it to the special value `FLASHCHIPS_DB`  to denote\nthe flash database. For `struct flashprog_chip *` pointers, we add\nchip_from_db(), which tells us whether the given pointer is within\nthe database range.\n\nChange-Id: I7ecc12e1b74ca11f2be1b3472d6e470da44bfef1\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\n","web_links":[{"name":"browse","url":"/plugins/gitiles/flashprog/+/fbf6d833f1e8849756483850112c5803a988d4b9"}]},"branch":"refs/heads/main"},"50d15576c89291017224adfa8c6fb6c12aab81c7":{"kind":"REWORK","_number":5,"created":"2026-07-13 14:29:57.000000000","uploader":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"ref":"refs/changes/81/481/5","fetch":{"anonymous http":{"url":"https://review.sourcearcade.org/flashprog","ref":"refs/changes/81/481/5","commands":{"Branch":"git fetch https://review.sourcearcade.org/flashprog refs/changes/81/481/5 \u0026\u0026 git checkout -b change-481 FETCH_HEAD","Checkout":"git fetch https://review.sourcearcade.org/flashprog refs/changes/81/481/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.sourcearcade.org/flashprog refs/changes/81/481/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.sourcearcade.org/flashprog refs/changes/81/481/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.sourcearcade.org/flashprog refs/changes/81/481/5","Reset To":"git fetch https://review.sourcearcade.org/flashprog refs/changes/81/481/5 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"4ea85906c5d4a443d39adbb26ead41b1b34a5495","subject":"Export bus probing functions","web_links":[{"name":"browse","url":"/plugins/gitiles/flashprog/+/4ea85906c5d4a443d39adbb26ead41b1b34a5495"}]}],"author":{"name":"Nico Huber","email":"nico.h@gmx.de","date":"2026-03-08 15:07:28.000000000","tz":60},"committer":{"name":"Nico Huber","email":"nico.h@gmx.de","date":"2026-07-13 14:22:39.000000000","tz":120},"subject":"libflashprog: Start a new API for chip enumeration","message":"libflashprog: Start a new API for chip enumeration\n\nFor now, allow to query all chips, their vendor, name and size.\n\nThere\u0027s a tricky optimization coming up: We don\u0027t want to allocate\nadditional memory when enumerating the chip database. But, we also\nwant to use the same API interface to access information about de-\ntected chips, which requires dynamic memory.  So we have to handle\nthese distinct cases explicitly.  Where `struct flashprog_chips *`\nis used, we set it to the special value `FLASHCHIPS_DB`  to denote\nthe flash database. For `struct flashprog_chip *` pointers, we add\nchip_from_db(), which tells us whether the given pointer is within\nthe database range.\n\nChange-Id: I7ecc12e1b74ca11f2be1b3472d6e470da44bfef1\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\n","web_links":[{"name":"browse","url":"/plugins/gitiles/flashprog/+/50d15576c89291017224adfa8c6fb6c12aab81c7"}]},"branch":"refs/heads/main"},"a12506b4c7ba9a28cf40f346cae4e44f9a5195af":{"kind":"REWORK","_number":6,"created":"2026-07-18 10:20:47.000000000","uploader":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"ref":"refs/changes/81/481/6","fetch":{"anonymous http":{"url":"https://review.sourcearcade.org/flashprog","ref":"refs/changes/81/481/6","commands":{"Branch":"git fetch https://review.sourcearcade.org/flashprog refs/changes/81/481/6 \u0026\u0026 git checkout -b change-481 FETCH_HEAD","Checkout":"git fetch https://review.sourcearcade.org/flashprog refs/changes/81/481/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.sourcearcade.org/flashprog refs/changes/81/481/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.sourcearcade.org/flashprog refs/changes/81/481/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.sourcearcade.org/flashprog refs/changes/81/481/6","Reset To":"git fetch https://review.sourcearcade.org/flashprog refs/changes/81/481/6 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"af16565cb6d3885124d73d93bc2798b607436ee7","subject":"Export bus probing functions","web_links":[{"name":"browse","url":"/plugins/gitiles/flashprog/+/af16565cb6d3885124d73d93bc2798b607436ee7"}]}],"author":{"name":"Nico Huber","email":"nico.h@gmx.de","date":"2026-03-08 15:07:28.000000000","tz":60},"committer":{"name":"Nico Huber","email":"nico.h@gmx.de","date":"2026-07-18 08:27:46.000000000","tz":120},"subject":"libflashprog: Start a new API for chip enumeration","message":"libflashprog: Start a new API for chip enumeration\n\nFor now, allow to query all chips, their vendor, name and size.\n\nThere\u0027s a tricky optimization coming up: We don\u0027t want to allocate\nadditional memory when enumerating the chip database. But, we also\nwant to use the same API interface to access information about de-\ntected chips, which requires dynamic memory.  So we have to handle\nthese distinct cases explicitly.  Where `struct flashprog_chips *`\nis used, we set it to the special value `FLASHCHIPS_DB`  to denote\nthe flash database. For `struct flashprog_chip *` pointers, we add\nchip_from_db(), which tells us whether the given pointer is within\nthe database range.\n\nChange-Id: I7ecc12e1b74ca11f2be1b3472d6e470da44bfef1\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\n","web_links":[{"name":"browse","url":"/plugins/gitiles/flashprog/+/a12506b4c7ba9a28cf40f346cae4e44f9a5195af"}]},"branch":"refs/heads/main"},"48d4a0437ecc25d7c23df16fa1eda0d8f4ae5156":{"kind":"NO_CODE_CHANGE","_number":7,"created":"2026-07-18 10:21:45.000000000","uploader":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"ref":"refs/changes/81/481/7","fetch":{"anonymous http":{"url":"https://review.sourcearcade.org/flashprog","ref":"refs/changes/81/481/7","commands":{"Branch":"git fetch https://review.sourcearcade.org/flashprog refs/changes/81/481/7 \u0026\u0026 git checkout -b change-481 FETCH_HEAD","Checkout":"git fetch https://review.sourcearcade.org/flashprog refs/changes/81/481/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.sourcearcade.org/flashprog refs/changes/81/481/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.sourcearcade.org/flashprog refs/changes/81/481/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.sourcearcade.org/flashprog refs/changes/81/481/7","Reset To":"git fetch https://review.sourcearcade.org/flashprog refs/changes/81/481/7 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"484ef6184ec0da775deb9748c8a29f262b3f0eb7","subject":"Export bus probing functions","web_links":[{"name":"browse","url":"/plugins/gitiles/flashprog/+/484ef6184ec0da775deb9748c8a29f262b3f0eb7"}]}],"author":{"name":"Nico Huber","email":"nico.h@gmx.de","date":"2026-03-08 15:07:28.000000000","tz":60},"committer":{"name":"Nico Huber","email":"nico.h@gmx.de","date":"2026-07-18 10:21:45.000000000","tz":0},"subject":"libflashprog: Start a new API for chip enumeration","message":"libflashprog: Start a new API for chip enumeration\n\nFor now, allow to query all chips, their vendor, name and size.\n\nThere\u0027s a tricky optimization coming up: We don\u0027t want to allocate\nadditional memory when enumerating the chip database. But, we also\nwant to use the same API interface to access information about de-\ntected chips, which requires dynamic memory.  So we have to handle\nthese distinct cases explicitly.  Where `struct flashprog_chips *`\nis used, we set it to the special value `FLASHCHIPS_DB`  to denote\nthe flash database. For `struct flashprog_chip *` pointers, we add\nchip_from_db(), which tells us whether the given pointer is within\nthe database range.\n\nChange-Id: I7ecc12e1b74ca11f2be1b3472d6e470da44bfef1\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/481\n","web_links":[{"name":"browse","url":"/plugins/gitiles/flashprog/+/48d4a0437ecc25d7c23df16fa1eda0d8f4ae5156"}]},"branch":"refs/heads/main","description":"Rebase","conflicts":{"ours":"a12506b4c7ba9a28cf40f346cae4e44f9a5195af","theirs":"484ef6184ec0da775deb9748c8a29f262b3f0eb7","contains_conflicts":false}}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"CLOSED","labels":[{"label":"Code-Review","status":"OK","applied_by":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]}},{"label":"Verified","status":"OK","applied_by":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]}}]}],"submit_requirements":[{"name":"Verified","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Verified\u003dMAX -label:Verified\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX","-label:Verified\u003dMIN"],"failing_atoms":[],"atom_explanations":{}}},{"name":"Code-Review","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX","-label:Code-Review\u003dMIN"],"failing_atoms":[],"atom_explanations":{}}}]}
