cpu: clean up

Change read_file to spa_cpu_read_file and remove static because it might
not be used for some cpus.
Use spa_cpu_read_file in arm cpu detection.
This commit is contained in:
Wim Taymans 2023-01-12 12:20:30 +01:00
parent bba452695e
commit da26563a83
2 changed files with 4 additions and 27 deletions

View file

@ -49,37 +49,14 @@ static char *get_cpuinfo_line(char *cpuinfo, const char *tag)
return strndup(colon, end - colon); return strndup(colon, end - colon);
} }
static char *get_cpuinfo(void)
{
char *cpuinfo;
int n, fd;
cpuinfo = malloc(MAX_BUFFER);
if ((fd = open("/proc/cpuinfo", O_RDONLY | O_CLOEXEC, 0)) < 0) {
free(cpuinfo);
return NULL;
}
if ((n = read(fd, cpuinfo, MAX_BUFFER-1)) < 0) {
free(cpuinfo);
close(fd);
return NULL;
}
cpuinfo[n] = 0;
close(fd);
return cpuinfo;
}
static int static int
arm_init(struct impl *impl) arm_init(struct impl *impl)
{ {
uint32_t flags = 0; uint32_t flags = 0;
char *cpuinfo, *line; char *cpuinfo, *line, buffer[MAX_BUFFER];
int arch; int arch;
if (!(cpuinfo = get_cpuinfo())) { if (!(cpuinfo = spa_cpu_read_file("/proc/cpuinfo", buffer, sizeof(buffer)))) {
spa_log_warn(impl->log, "%p: Can't read cpuinfo", impl); spa_log_warn(impl->log, "%p: Can't read cpuinfo", impl);
return 1; return 1;
} }

View file

@ -59,7 +59,7 @@ struct impl {
uint32_t vm_type; uint32_t vm_type;
}; };
static char *read_file(const char *name, char *buffer, size_t len) char *spa_cpu_read_file(const char *name, char *buffer, size_t len)
{ {
int n, fd; int n, fd;
@ -175,7 +175,7 @@ impl_cpu_get_vm_type(void *object)
SPA_FOR_EACH_ELEMENT_VAR(dmi_vendors, dv) { SPA_FOR_EACH_ELEMENT_VAR(dmi_vendors, dv) {
char buffer[256], *s; char buffer[256], *s;
if ((s = read_file(*dv, buffer, sizeof(buffer))) == NULL) if ((s = spa_cpu_read_file(*dv, buffer, sizeof(buffer))) == NULL)
continue; continue;
SPA_FOR_EACH_ELEMENT_VAR(dmi_vendor_table, t) { SPA_FOR_EACH_ELEMENT_VAR(dmi_vendor_table, t) {