+ if (platform->set_os_boot_sensor)
+ platform->set_os_boot_sensor(platform);
+}
+
+static int get_sysinfo(struct platform *p, struct system_info *sysinfo)
+{
+ struct platform_powerpc *platform = p->platform_data;
+ char *buf, *filename;
+ int len, rc;
+
+ filename = talloc_asprintf(platform, "%smodel", devtree_dir);
+ rc = read_file(platform, filename, &buf, &len);
+ if (rc == 0)
+ sysinfo->type = talloc_steal(sysinfo, buf);
+ talloc_free(filename);
+
+ filename = talloc_asprintf(platform, "%ssystem-id", devtree_dir);
+ rc = read_file(platform, filename, &buf, &len);
+ if (rc == 0)
+ sysinfo->identifier = talloc_steal(sysinfo, buf);
+ talloc_free(filename);
+
+ sysinfo->bmc_mac = talloc_zero_size(sysinfo, HWADDR_SIZE);
+
+ if (platform->ipmi) {
+ ipmi_get_bmc_mac(platform->ipmi, sysinfo->bmc_mac);
+ ipmi_get_bmc_versions(platform->ipmi, sysinfo);
+ }