)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1000160,"name":"Paul Fertser","email":"fercerpav@gmail.com","username":"pfertser"},"change_message_id":"19ec40d1311127613482c4274e40be268a496513","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"76f79dfe_d076355a","updated":"2023-05-18 05:47:17.000000000","message":"Where is the USB level protocol documented?\n\nMight make sense to have this in our Gerrit so that when one searches for information this patch pops up to be used kinda as a reference for possible proper implementation.","commit_id":"a1c18153af493866b0dbf27a0bf3a45a654940b6"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"7fa43ca6a5060e3c9e22dc5ba6c1597ac45f53bb","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"ee020753_24bef155","updated":"2025-08-24 10:49:55.000000000","message":"I think this can be abandoned","commit_id":"1df8d1820f5d497217da3dde51c50e4e921303cd"},{"author":{"_account_id":1000410,"name":"Oleksij Rempel","email":"linux@rempel-privat.de","username":"olerem"},"change_message_id":"296332817805ebdba435390e2cbf03767ace8114","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"e556be90_ba941a5b","updated":"2023-05-19 04:58:08.000000000","message":"This code drop depends on external not open source library. It is a no go.","commit_id":"1df8d1820f5d497217da3dde51c50e4e921303cd"},{"author":{"_account_id":1000160,"name":"Paul Fertser","email":"fercerpav@gmail.com","username":"pfertser"},"change_message_id":"1959734eeb7994e9e53a166cccfd8ef70b47798e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"6f560ff1_52ddf5d9","updated":"2023-05-18 07:37:38.000000000","message":"reito, you can spare the effort of trying minor cosmetic changes to this patch, it\u0027s obviously unmergeable either way.","commit_id":"1df8d1820f5d497217da3dde51c50e4e921303cd"},{"author":{"_account_id":1002195,"name":"Matthias Jentsch","display_name":"EasyDevKits","email":"info@easydevkits.com","username":"EasyDevKits"},"change_message_id":"be55caf112727eb816daf9110bec667731e79915","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"0b894b71_ff06b23e","in_reply_to":"e556be90_ba941a5b","updated":"2023-09-30 18:52:52.000000000","message":"I don\u0027t see which external not open source library is dropped in by this change. The dependency to libusb is already in OpenOCD.\nBut anyway the build should work.","commit_id":"1df8d1820f5d497217da3dde51c50e4e921303cd"},{"author":{"_account_id":1002195,"name":"Matthias Jentsch","display_name":"EasyDevKits","email":"info@easydevkits.com","username":"EasyDevKits"},"change_message_id":"759a9a4f2189aa65afad29835ec90f24cd6aefa9","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"35c31c31_3c80cff6","in_reply_to":"ee020753_24bef155","updated":"2025-08-24 13:46:59.000000000","message":"Yes, I think also so. Now we have already support for CH347 JTAG chips","commit_id":"1df8d1820f5d497217da3dde51c50e4e921303cd"}],"src/jtag/drivers/ch347.c":[{"author":{"_account_id":1000160,"name":"Paul Fertser","email":"fercerpav@gmail.com","username":"pfertser"},"change_message_id":"134be29411153a4f43dfbc02ed380baca0ec7f0c","unresolved":true,"context_lines":[{"line_number":687,"context_line":"    unsigned long RxLen \u003d 4096;"},{"line_number":688,"context_line":""},{"line_number":689,"context_line":"    if (uhModule \u003d\u003d 0) {"},{"line_number":690,"context_line":"        uhModule \u003d LoadLibrary(\"CH347DLL.DLL\");"},{"line_number":691,"context_line":"        if (uhModule) {"},{"line_number":692,"context_line":"            upOpenDev \u003d (pCH347OpenDevice)(void*)GetProcAddress(uhModule, \"CH347OpenDevice\");"},{"line_number":693,"context_line":"            upCloseDev \u003d (pCH347CloseDevice)(void*)GetProcAddress(uhModule, \"CH347CloseDevice\");"}],"source_content_type":"text/x-csrc","patch_set":4,"id":"ee1a6348_af3d571b","line":690,"updated":"2023-09-30 19:05:07.000000000","message":"CH347DLL.DLL is the proprietary external library in question. This is absolutely not the way to add support to OpenOCD.","commit_id":"1df8d1820f5d497217da3dde51c50e4e921303cd"},{"author":{"_account_id":1002195,"name":"Matthias Jentsch","display_name":"EasyDevKits","email":"info@easydevkits.com","username":"EasyDevKits"},"change_message_id":"5924302e79fcbd27cc0c644c73a421199100965b","unresolved":false,"context_lines":[{"line_number":687,"context_line":"    unsigned long RxLen \u003d 4096;"},{"line_number":688,"context_line":""},{"line_number":689,"context_line":"    if (uhModule \u003d\u003d 0) {"},{"line_number":690,"context_line":"        uhModule \u003d LoadLibrary(\"CH347DLL.DLL\");"},{"line_number":691,"context_line":"        if (uhModule) {"},{"line_number":692,"context_line":"            upOpenDev \u003d (pCH347OpenDevice)(void*)GetProcAddress(uhModule, \"CH347OpenDevice\");"},{"line_number":693,"context_line":"            upCloseDev \u003d (pCH347CloseDevice)(void*)GetProcAddress(uhModule, \"CH347CloseDevice\");"}],"source_content_type":"text/x-csrc","patch_set":4,"id":"634104aa_13b3b4df","line":690,"in_reply_to":"ee1a6348_af3d571b","updated":"2023-09-30 19:14:03.000000000","message":"Thanks for clearify this.","commit_id":"1df8d1820f5d497217da3dde51c50e4e921303cd"}]}
