17 #include <linux/device.h>
19 #include <linux/slab.h>
21 #include <linux/stat.h>
72 return sprintf(page,
"tilera\n");
76 #define HV_CONF_ATTR(name, conf) \
77 static ssize_t name ## _show(struct device *dev, \
78 struct device_attribute *attr, \
81 return get_hv_confstr(page, conf); \
83 static DEVICE_ATTR(name, 0444, name ## _show, NULL);
103 &dev_attr_board_part.attr,
104 &dev_attr_board_serial.attr,
105 &dev_attr_board_revision.attr,
106 &dev_attr_board_description.attr,
107 &dev_attr_mezz_part.attr,
108 &dev_attr_mezz_serial.attr,
109 &dev_attr_mezz_revision.attr,
110 &dev_attr_mezz_description.attr,
111 &dev_attr_cpumod_part.attr,
112 &dev_attr_cpumod_serial.attr,
113 &dev_attr_cpumod_revision.attr,
114 &dev_attr_cpumod_description.attr,
115 &dev_attr_switch_control.attr,
121 .attrs = board_attrs,
128 hvconfig_bin_read(
struct file *filp,
struct kobject *kobj,
130 char *
buf, loff_t off,
size_t count)
141 if (count > size - off)
153 memcpy(buf, hvc + off, count);
160 static int __init create_sysfs_entries(
void)
164 #define create_cpu_attr(name) \
166 err = device_create_file(cpu_subsys.dev_root, &dev_attr_##name);
172 #define create_hv_attr(name) \
174 err = sysfs_create_file(hypervisor_kobj, &dev_attr_##name.attr);
184 hvconfig_bin.attr.name =
"hvconfig";
185 hvconfig_bin.attr.mode =
S_IRUGO;
186 hvconfig_bin.read = hvconfig_bin_read;