)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1001661,"name":"Daniel Goehring","email":"dgoehrin@os.amperecomputing.com","username":"dgoehrin"},"change_message_id":"e9e29d76b58c0bf3b84a4451bc3964cb5731a85d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"09d03432_62c4ee98","updated":"2021-09-04 02:29:37.000000000","message":"I did a visual inspection and the code updates look good. I do have one minor question about the \"ARM_CS_PIDR_DESIGNER(pidr)\" definition in file arm_coresight.h.","commit_id":"b2338a3559c6f2fbbc9c2c2dfce3dd44831b44ca"},{"author":{"_account_id":1001661,"name":"Daniel Goehring","email":"dgoehrin@os.amperecomputing.com","username":"dgoehrin"},"change_message_id":"7e372ad0e27f6eda357b76c962486ec0a8cdc73a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"870feab2_d22e536a","updated":"2021-09-07 14:15:46.000000000","message":"Thanks for the update. Marked the issue resolved. Everything looks good to me.","commit_id":"b2338a3559c6f2fbbc9c2c2dfce3dd44831b44ca"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"bc99373eda05503de5191fe2310c81a1503b9094","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"97a966cc_8f33361d","updated":"2021-09-20 17:13:21.000000000","message":"I don\u0027t expect this patch to be exhaustive of all the possible coresight magic numbers. Something else would be added later.","commit_id":"de99d343f2ebc2888cf0a560bd07c6ee923e11c8"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"793df41eda7d3018ccd1839ae28f450124a01a33","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"165f4047_1ec11040","updated":"2021-09-16 13:07:51.000000000","message":"I have only fixed/updated/rebased the first 9 patches of this series. These are independent from adiv6 and can be merged soon.","commit_id":"de99d343f2ebc2888cf0a560bd07c6ee923e11c8"},{"author":{"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},"change_message_id":"c6db1de39f317b8a4b0bfc8fce047efcbfdab80d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"d6b8a0be_cd372714","updated":"2021-09-20 09:53:24.000000000","message":"just nitpicking","commit_id":"de99d343f2ebc2888cf0a560bd07c6ee923e11c8"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"ea5acf66b1d0f35d8b5d1fc861f90463db12765e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"8b367828_19e2cf3e","updated":"2021-09-20 18:06:41.000000000","message":"By changing this, few other patches in the series have to be changed too. focusing on the first 9 patches of the series, only 6448 get impacted, plus 6447 that get rebased.\nI will post again the remaining of the series once these first 9 get merged.","commit_id":"542b4f66756ce34172303b36baaaba7f067733db"},{"author":{"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},"change_message_id":"cf59f95efec5ad9904562b6a5c2ec76fe69ec1bd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"1203a9ff_80888f74","updated":"2021-09-20 19:29:19.000000000","message":"Thanks Antonio","commit_id":"bfd4feb442fe46ec348e98f9d9063d2770a89390"},{"author":{"_account_id":1001661,"name":"Daniel Goehring","email":"dgoehrin@os.amperecomputing.com","username":"dgoehrin"},"change_message_id":"851dece2ba6dcbb0d19fa04b181ccde4546e8521","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"c154c626_4a6a4988","updated":"2021-09-20 22:56:27.000000000","message":"only minor recommendation is moving the line inside the \u0027if\u0027 body as Antonio pointed out.","commit_id":"bfd4feb442fe46ec348e98f9d9063d2770a89390"}],"src/target/arm_adi_v5.c":[{"author":{"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},"change_message_id":"c6db1de39f317b8a4b0bfc8fce047efcbfdab80d","unresolved":true,"context_lines":[{"line_number":1002,"context_line":"\t\tif (retval !\u003d ERROR_OK)"},{"line_number":1003,"context_line":"\t\t\treturn retval;"},{"line_number":1004,"context_line":""},{"line_number":1005,"context_line":"\t\tcomponent_base \u003d dbgbase + (target_addr_t)(romentry \u0026 0xFFFFF000);"},{"line_number":1006,"context_line":""},{"line_number":1007,"context_line":"\t\tif (romentry \u0026 ARM_CS_ROMENTRY_PRESENT) {"},{"line_number":1008,"context_line":"\t\t\tuint32_t c_cid1;"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"07c8d667_fb62e283","line":1005,"range":{"start_line":1005,"start_character":56,"end_line":1005,"end_character":66},"updated":"2021-09-20 09:53:24.000000000","message":"still this magic value, maybe we could have a define or just a macro returning the component_base\nBTW, I see in dap_read_part_id (1) there is an assert using the complement of 0xFFFFF000, also in (2)\n\nso the same define could be used here and there.","commit_id":"b2338a3559c6f2fbbc9c2c2dfce3dd44831b44ca"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"bc99373eda05503de5191fe2310c81a1503b9094","unresolved":false,"context_lines":[{"line_number":1002,"context_line":"\t\tif (retval !\u003d ERROR_OK)"},{"line_number":1003,"context_line":"\t\t\treturn retval;"},{"line_number":1004,"context_line":""},{"line_number":1005,"context_line":"\t\tcomponent_base \u003d dbgbase + (target_addr_t)(romentry \u0026 0xFFFFF000);"},{"line_number":1006,"context_line":""},{"line_number":1007,"context_line":"\t\tif (romentry \u0026 ARM_CS_ROMENTRY_PRESENT) {"},{"line_number":1008,"context_line":"\t\t\tuint32_t c_cid1;"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"ce97a6e5_5d453c2d","line":1005,"range":{"start_line":1005,"start_character":56,"end_line":1005,"end_character":66},"in_reply_to":"07c8d667_fb62e283","updated":"2021-09-20 17:13:21.000000000","message":"Yes, but I will use different macros because related to different topic.\nThis mask should be name ARM_CS_ROMENTRY_OFFSET_MASK\nBy the way, this line should be moved inside the \u0027if\u0027 body below, no reason to stay here","commit_id":"b2338a3559c6f2fbbc9c2c2dfce3dd44831b44ca"},{"author":{"_account_id":1001661,"name":"Daniel Goehring","email":"dgoehrin@os.amperecomputing.com","username":"dgoehrin"},"change_message_id":"851dece2ba6dcbb0d19fa04b181ccde4546e8521","unresolved":false,"context_lines":[{"line_number":1002,"context_line":"\t\tif (retval !\u003d ERROR_OK)"},{"line_number":1003,"context_line":"\t\t\treturn retval;"},{"line_number":1004,"context_line":""},{"line_number":1005,"context_line":"\t\tcomponent_base \u003d dbgbase + (target_addr_t)(romentry \u0026 0xFFFFF000);"},{"line_number":1006,"context_line":""},{"line_number":1007,"context_line":"\t\tif (romentry \u0026 ARM_CS_ROMENTRY_PRESENT) {"},{"line_number":1008,"context_line":"\t\t\tuint32_t c_cid1;"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"d3c1025b_3ce37b51","line":1005,"range":{"start_line":1005,"start_character":56,"end_line":1005,"end_character":66},"in_reply_to":"ce97a6e5_5d453c2d","updated":"2021-09-20 22:56:27.000000000","message":"I second moving the line inside the \u0027if\u0027 body below.","commit_id":"b2338a3559c6f2fbbc9c2c2dfce3dd44831b44ca"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"f83387c41af454c2557325d4a58924a9f851017b","unresolved":false,"context_lines":[{"line_number":1002,"context_line":"\t\tif (retval !\u003d ERROR_OK)"},{"line_number":1003,"context_line":"\t\t\treturn retval;"},{"line_number":1004,"context_line":""},{"line_number":1005,"context_line":"\t\tcomponent_base \u003d dbgbase + (target_addr_t)(romentry \u0026 0xFFFFF000);"},{"line_number":1006,"context_line":""},{"line_number":1007,"context_line":"\t\tif (romentry \u0026 ARM_CS_ROMENTRY_PRESENT) {"},{"line_number":1008,"context_line":"\t\t\tuint32_t c_cid1;"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"a19a3e79_337a884f","line":1005,"range":{"start_line":1005,"start_character":56,"end_line":1005,"end_character":66},"in_reply_to":"d3c1025b_3ce37b51","updated":"2021-09-21 08:27:13.000000000","message":"I will do it, but not in this patch; this is only about using CS macros","commit_id":"b2338a3559c6f2fbbc9c2c2dfce3dd44831b44ca"},{"author":{"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},"change_message_id":"c6db1de39f317b8a4b0bfc8fce047efcbfdab80d","unresolved":true,"context_lines":[{"line_number":1044,"context_line":""},{"line_number":1045,"context_line":"static int dap_read_part_id(struct adiv5_ap *ap, target_addr_t component_base, uint32_t *cid, uint64_t *pid)"},{"line_number":1046,"context_line":"{"},{"line_number":1047,"context_line":"\tassert((component_base \u0026 0xFFF) \u003d\u003d 0);"},{"line_number":1048,"context_line":"\tassert(ap \u0026\u0026 cid \u0026\u0026 pid);"},{"line_number":1049,"context_line":""},{"line_number":1050,"context_line":"\tuint32_t cid0, cid1, cid2, cid3;"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"70f942e6_87b965ca","line":1047,"range":{"start_line":1047,"start_character":26,"end_line":1047,"end_character":31},"updated":"2021-09-20 09:53:24.000000000","message":"(1)","commit_id":"b2338a3559c6f2fbbc9c2c2dfce3dd44831b44ca"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"bc99373eda05503de5191fe2310c81a1503b9094","unresolved":false,"context_lines":[{"line_number":1044,"context_line":""},{"line_number":1045,"context_line":"static int dap_read_part_id(struct adiv5_ap *ap, target_addr_t component_base, uint32_t *cid, uint64_t *pid)"},{"line_number":1046,"context_line":"{"},{"line_number":1047,"context_line":"\tassert((component_base \u0026 0xFFF) \u003d\u003d 0);"},{"line_number":1048,"context_line":"\tassert(ap \u0026\u0026 cid \u0026\u0026 pid);"},{"line_number":1049,"context_line":""},{"line_number":1050,"context_line":"\tuint32_t cid0, cid1, cid2, cid3;"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"fac02608_a3431622","line":1047,"range":{"start_line":1047,"start_character":26,"end_line":1047,"end_character":31},"in_reply_to":"70f942e6_87b965ca","updated":"2021-09-20 17:13:21.000000000","message":"This instead should become:\nassert(IS_ALIGNED(component_base, 4096));","commit_id":"b2338a3559c6f2fbbc9c2c2dfce3dd44831b44ca"},{"author":{"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},"change_message_id":"c6db1de39f317b8a4b0bfc8fce047efcbfdab80d","unresolved":true,"context_lines":[{"line_number":1299,"context_line":"\tcommand_print(cmd, \"\\t\\tPart is 0x%\" PRIx16\", %s %s\", part_num, type, full);"},{"line_number":1300,"context_line":"\tcommand_print(cmd, \"\\t\\tComponent class is 0x%\" PRIx8 \", %s\", class, class_description[class]);"},{"line_number":1301,"context_line":""},{"line_number":1302,"context_line":"\tif (class \u003d\u003d ARM_CS_CLASS_0X1_ROM_TABLE) { /* ROM Table */"},{"line_number":1303,"context_line":"\t\tuint32_t memtype;"},{"line_number":1304,"context_line":"\t\tretval \u003d mem_ap_read_atomic_u32(ap, base_addr + ARM_CS_C1_MEMTYPE, \u0026memtype);"},{"line_number":1305,"context_line":"\t\tif (retval !\u003d ERROR_OK)"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"eff65ad9_154bfdd6","line":1302,"range":{"start_line":1302,"start_character":44,"end_line":1302,"end_character":59},"updated":"2021-09-20 09:53:24.000000000","message":"this comment is not needed anymore","commit_id":"b2338a3559c6f2fbbc9c2c2dfce3dd44831b44ca"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"bc99373eda05503de5191fe2310c81a1503b9094","unresolved":false,"context_lines":[{"line_number":1299,"context_line":"\tcommand_print(cmd, \"\\t\\tPart is 0x%\" PRIx16\", %s %s\", part_num, type, full);"},{"line_number":1300,"context_line":"\tcommand_print(cmd, \"\\t\\tComponent class is 0x%\" PRIx8 \", %s\", class, class_description[class]);"},{"line_number":1301,"context_line":""},{"line_number":1302,"context_line":"\tif (class \u003d\u003d ARM_CS_CLASS_0X1_ROM_TABLE) { /* ROM Table */"},{"line_number":1303,"context_line":"\t\tuint32_t memtype;"},{"line_number":1304,"context_line":"\t\tretval \u003d mem_ap_read_atomic_u32(ap, base_addr + ARM_CS_C1_MEMTYPE, \u0026memtype);"},{"line_number":1305,"context_line":"\t\tif (retval !\u003d ERROR_OK)"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"d62959c7_b162ef58","line":1302,"range":{"start_line":1302,"start_character":44,"end_line":1302,"end_character":59},"in_reply_to":"eff65ad9_154bfdd6","updated":"2021-09-20 17:13:21.000000000","message":"Ack","commit_id":"b2338a3559c6f2fbbc9c2c2dfce3dd44831b44ca"},{"author":{"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},"change_message_id":"c6db1de39f317b8a4b0bfc8fce047efcbfdab80d","unresolved":true,"context_lines":[{"line_number":1320,"context_line":"\t\t\t\t\ttabs, entry_offset, romentry);"},{"line_number":1321,"context_line":"\t\t\tif (romentry \u0026 0x01) {"},{"line_number":1322,"context_line":"\t\t\t\t/* Recurse. \"romentry\" is signed */"},{"line_number":1323,"context_line":"\t\t\t\tretval \u003d dap_rom_display(cmd, ap, base_addr + (int32_t)(romentry \u0026 0xFFFFF000), depth + 1);"},{"line_number":1324,"context_line":"\t\t\t\tif (retval !\u003d ERROR_OK)"},{"line_number":1325,"context_line":"\t\t\t\t\treturn retval;"},{"line_number":1326,"context_line":"\t\t\t} else if (romentry !\u003d 0) {"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"ac865230_ac95aa75","line":1323,"range":{"start_line":1323,"start_character":71,"end_line":1323,"end_character":81},"updated":"2021-09-20 09:53:24.000000000","message":"(2)","commit_id":"b2338a3559c6f2fbbc9c2c2dfce3dd44831b44ca"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"bc99373eda05503de5191fe2310c81a1503b9094","unresolved":false,"context_lines":[{"line_number":1320,"context_line":"\t\t\t\t\ttabs, entry_offset, romentry);"},{"line_number":1321,"context_line":"\t\t\tif (romentry \u0026 0x01) {"},{"line_number":1322,"context_line":"\t\t\t\t/* Recurse. \"romentry\" is signed */"},{"line_number":1323,"context_line":"\t\t\t\tretval \u003d dap_rom_display(cmd, ap, base_addr + (int32_t)(romentry \u0026 0xFFFFF000), depth + 1);"},{"line_number":1324,"context_line":"\t\t\t\tif (retval !\u003d ERROR_OK)"},{"line_number":1325,"context_line":"\t\t\t\t\treturn retval;"},{"line_number":1326,"context_line":"\t\t\t} else if (romentry !\u003d 0) {"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"308e7cce_98b9193d","line":1323,"range":{"start_line":1323,"start_character":71,"end_line":1323,"end_character":81},"in_reply_to":"ac865230_ac95aa75","updated":"2021-09-20 17:13:21.000000000","message":"and here reuse the macro ARM_CS_ROMENTRY_OFFSET_MASK","commit_id":"b2338a3559c6f2fbbc9c2c2dfce3dd44831b44ca"},{"author":{"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},"change_message_id":"c6db1de39f317b8a4b0bfc8fce047efcbfdab80d","unresolved":true,"context_lines":[{"line_number":1330,"context_line":"\t\t\t\tbreak;"},{"line_number":1331,"context_line":"\t\t\t}"},{"line_number":1332,"context_line":"\t\t}"},{"line_number":1333,"context_line":"\t} else if (class \u003d\u003d ARM_CS_CLASS_0X9_CS_COMPONENT) { /* CoreSight component */"},{"line_number":1334,"context_line":"\t\tconst char *major \u003d \"Reserved\", *subtype \u003d \"Reserved\";"},{"line_number":1335,"context_line":""},{"line_number":1336,"context_line":"\t\tuint32_t devtype;"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"0185af33_5f939f10","line":1333,"range":{"start_line":1333,"start_character":54,"end_line":1333,"end_character":79},"updated":"2021-09-20 09:53:24.000000000","message":"this is not needed as well","commit_id":"b2338a3559c6f2fbbc9c2c2dfce3dd44831b44ca"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"bc99373eda05503de5191fe2310c81a1503b9094","unresolved":false,"context_lines":[{"line_number":1330,"context_line":"\t\t\t\tbreak;"},{"line_number":1331,"context_line":"\t\t\t}"},{"line_number":1332,"context_line":"\t\t}"},{"line_number":1333,"context_line":"\t} else if (class \u003d\u003d ARM_CS_CLASS_0X9_CS_COMPONENT) { /* CoreSight component */"},{"line_number":1334,"context_line":"\t\tconst char *major \u003d \"Reserved\", *subtype \u003d \"Reserved\";"},{"line_number":1335,"context_line":""},{"line_number":1336,"context_line":"\t\tuint32_t devtype;"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"d201f67f_004a8398","line":1333,"range":{"start_line":1333,"start_character":54,"end_line":1333,"end_character":79},"in_reply_to":"0185af33_5f939f10","updated":"2021-09-20 17:13:21.000000000","message":"Ack","commit_id":"b2338a3559c6f2fbbc9c2c2dfce3dd44831b44ca"}],"src/target/arm_coresight.h":[{"author":{"_account_id":1001661,"name":"Daniel Goehring","email":"dgoehrin@os.amperecomputing.com","username":"dgoehrin"},"change_message_id":"e9e29d76b58c0bf3b84a4451bc3964cb5731a85d","unresolved":true,"context_lines":[{"line_number":30,"context_line":"#define ARM_CS_PIDR_PART(pidr)                  ((pidr) \u0026 0x0FFF)"},{"line_number":31,"context_line":"#define ARM_CS_PIDR_DESIGNER(pidr)              \\"},{"line_number":32,"context_line":"({                                              \\"},{"line_number":33,"context_line":"\ttypeof(pidr) _x \u003d (pidr);                   \\"},{"line_number":34,"context_line":"\t((_x \u003e\u003e 25) \u0026 0x780) | ((_x \u003e\u003e 12) \u0026 0x7F); \\"},{"line_number":35,"context_line":"})"},{"line_number":36,"context_line":"#define ARM_CS_PIDR_JEDEC                       BIT(19)"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"d1d0d98c_e33e42ee","line":33,"range":{"start_line":33,"start_character":0,"end_line":33,"end_character":1},"updated":"2021-09-04 02:29:37.000000000","message":"Out of curiosity, why perform the shift and mask operations on a temporary variable instead of the original variable?","commit_id":"b2338a3559c6f2fbbc9c2c2dfce3dd44831b44ca"},{"author":{"_account_id":1001661,"name":"Daniel Goehring","email":"dgoehrin@os.amperecomputing.com","username":"dgoehrin"},"change_message_id":"7e372ad0e27f6eda357b76c962486ec0a8cdc73a","unresolved":false,"context_lines":[{"line_number":30,"context_line":"#define ARM_CS_PIDR_PART(pidr)                  ((pidr) \u0026 0x0FFF)"},{"line_number":31,"context_line":"#define ARM_CS_PIDR_DESIGNER(pidr)              \\"},{"line_number":32,"context_line":"({                                              \\"},{"line_number":33,"context_line":"\ttypeof(pidr) _x \u003d (pidr);                   \\"},{"line_number":34,"context_line":"\t((_x \u003e\u003e 25) \u0026 0x780) | ((_x \u003e\u003e 12) \u0026 0x7F); \\"},{"line_number":35,"context_line":"})"},{"line_number":36,"context_line":"#define ARM_CS_PIDR_JEDEC                       BIT(19)"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"113f0ab6_0d090d3d","line":33,"range":{"start_line":33,"start_character":0,"end_line":33,"end_character":1},"in_reply_to":"ae4ac7b3_4e0be1e2","updated":"2021-09-07 14:15:46.000000000","message":"Ack","commit_id":"b2338a3559c6f2fbbc9c2c2dfce3dd44831b44ca"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"1c7c0328ec91f6614eccf3ea58eb9cf6764d3bcd","unresolved":true,"context_lines":[{"line_number":30,"context_line":"#define ARM_CS_PIDR_PART(pidr)                  ((pidr) \u0026 0x0FFF)"},{"line_number":31,"context_line":"#define ARM_CS_PIDR_DESIGNER(pidr)              \\"},{"line_number":32,"context_line":"({                                              \\"},{"line_number":33,"context_line":"\ttypeof(pidr) _x \u003d (pidr);                   \\"},{"line_number":34,"context_line":"\t((_x \u003e\u003e 25) \u0026 0x780) | ((_x \u003e\u003e 12) \u0026 0x7F); \\"},{"line_number":35,"context_line":"})"},{"line_number":36,"context_line":"#define ARM_CS_PIDR_JEDEC                       BIT(19)"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"ae4ac7b3_4e0be1e2","line":33,"range":{"start_line":33,"start_character":0,"end_line":33,"end_character":1},"in_reply_to":"d1d0d98c_e33e42ee","updated":"2021-09-04 07:39:18.000000000","message":"When one argument of the macro is reused inside the macro, there could be side effects if we write e.g. MACRO(x++); the increment would apply to every use of the argument. It\u0027s not an issue right now, but this code could be reused later on. It\u0027s a good habit to copy in a local variable the reused macro\u0027s arguments.\nAnother way to avoid this problem is to use inline functions, but then you need to specify the type of the arguments.\nThe new checkpatch (that I will push soon) detects these cases.","commit_id":"b2338a3559c6f2fbbc9c2c2dfce3dd44831b44ca"}]}
