diff options
author | Michel Dänzer <michel.daenzer@amd.com> | 2017-11-30 18:28:01 +0100 |
---|---|---|
committer | Michel Dänzer <michel@daenzer.net> | 2017-12-01 16:52:01 +0100 |
commit | 85c6b0b00ab894116880d2338776727ccff2d5c3 (patch) | |
tree | a4d8d3738b77fb3ab1edc1cf04294671cf97baff /amdgpu/amdgpu_asic_id.c | |
parent | bc21168fa924d3fc4a000492e861f50a1a135b25 (diff) |
amdgpu: Clean up amdgpu_parse_asic_ids error handling
* Move error message printing into amdgpu_parse_asic_ids and make it
return void
* Print only "Invalid format" error message if parse_one_line returns
-EINVAL
* Use strerror instead of printing the (negative) error code in hex
Acked-by: Slava Abramov <slava.abramov@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'amdgpu/amdgpu_asic_id.c')
-rw-r--r-- | amdgpu/amdgpu_asic_id.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/amdgpu/amdgpu_asic_id.c b/amdgpu/amdgpu_asic_id.c index e8218974..eb42bbc2 100644 --- a/amdgpu/amdgpu_asic_id.c +++ b/amdgpu/amdgpu_asic_id.c @@ -109,7 +109,7 @@ out: return r; } -int amdgpu_parse_asic_ids(struct amdgpu_asic_id **p_asic_id_table) +void amdgpu_parse_asic_ids(struct amdgpu_asic_id **p_asic_id_table) { struct amdgpu_asic_id *asic_id_table; struct amdgpu_asic_id *id; @@ -126,7 +126,7 @@ int amdgpu_parse_asic_ids(struct amdgpu_asic_id **p_asic_id_table) if (!fp) { fprintf(stderr, "%s: %s\n", AMDGPU_ASIC_ID_TABLE, strerror(errno)); - return -EINVAL; + return; } asic_id_table = calloc(table_max_size + 1, @@ -177,8 +177,6 @@ int amdgpu_parse_asic_ids(struct amdgpu_asic_id **p_asic_id_table) line_num++; continue; } - fprintf(stderr, "Invalid format: %s: line %d: %s\n", - AMDGPU_ASIC_ID_TABLE, line_num, line); goto free; } @@ -201,6 +199,14 @@ int amdgpu_parse_asic_ids(struct amdgpu_asic_id **p_asic_id_table) memset(id, 0, sizeof(struct amdgpu_asic_id)); free: + if (r == -EINVAL) { + fprintf(stderr, "Invalid format: %s: line %d: %s\n", + AMDGPU_ASIC_ID_TABLE, line_num, line); + } else if (r) { + fprintf(stderr, "%s: Cannot parse ASIC IDs: %s\n", + __func__, strerror(-r)); + } + free(line); if (r && asic_id_table) { @@ -215,6 +221,4 @@ close: fclose(fp); *p_asic_id_table = asic_id_table; - - return r; } |