mcp251xfd-dump: add support for dumps created with Linux kernel >= v5.18

This commit is contained in:
Marc Kleine-Budde
2023-01-03 20:31:54 +01:00
parent b4042d0205
commit f3b35e8e80
4 changed files with 355 additions and 332 deletions
+15
View File
@@ -45,6 +45,17 @@ int regmap_bulk_read(struct regmap *map, unsigned int reg,
return 0;
}
void mcp251xfd_dump_ring_init(struct mcp251xfd_ring *ring)
{
memset(ring, 0x0, sizeof(*ring));
ring->type = MCP251XFD_DUMP_UNKNOWN;
ring->head = MCP251XFD_DUMP_UNKNOWN;
ring->tail = MCP251XFD_DUMP_UNKNOWN;
ring->nr = (uint8_t)MCP251XFD_DUMP_UNKNOWN;
ring->fifo_nr = (uint8_t)MCP251XFD_DUMP_UNKNOWN;
}
int main(int argc, char *argv[])
{
struct mcp251xfd_mem mem = { };
@@ -55,6 +66,7 @@ int main(int argc, char *argv[])
.map = &map,
};
const char *file_path;
unsigned int i;
int opt, err;
struct option long_options[] = {
@@ -83,6 +95,9 @@ int main(int argc, char *argv[])
exit(EXIT_FAILURE);
}
for (i = 0; i < ARRAY_SIZE(priv.ring); i++)
mcp251xfd_dump_ring_init(&priv.ring[i]);
err = mcp251xfd_dev_coredump_read(&priv, &mem, file_path);
if (err)
err = mcp251xfd_regmap_read(&priv, &mem, file_path);