diff options
Diffstat (limited to 'drivers/edac')
-rw-r--r-- | drivers/edac/edac_device_sysfs.c | 107 |
1 files changed, 0 insertions, 107 deletions
diff --git a/drivers/edac/edac_device_sysfs.c b/drivers/edac/edac_device_sysfs.c index 69305e637810..849d569dd2ce 100644 --- a/drivers/edac/edac_device_sysfs.c +++ b/drivers/edac/edac_device_sysfs.c @@ -21,113 +21,6 @@ #define to_edacdev(k) container_of(k, struct edac_device_ctl_info, kobj) #define to_edacdev_attr(a) container_of(a, struct edacdev_attribute, attr) -#ifdef DKT - -static ssize_t edac_dev_ue_count_show(struct edac_device_ctl_info *edac_dev, - char *data) -{ - return sprintf(data, "%d\n", edac_dev->ue_count); -} - -static ssize_t edac_dev_ce_count_show(struct edac_device_ctl_info *edac_dev, - char *data) -{ - return sprintf(data, "%d\n", edac_dev->ce_count); -} - -static ssize_t edac_dev_seconds_show(struct edac_device_ctl_info *edac_dev, - char *data) -{ - return sprintf(data, "%ld\n", (jiffies - edac_dev->start_time) / HZ); -} - -static ssize_t edac_dev_ctl_name_show(struct edac_device_ctl_info *edac_dev, - char *data) -{ - return sprintf(data, "%s\n", edac_dev->ctl_name); -} - -struct edacdev_attribute { - struct attribute attr; - ssize_t(*show) (struct edac_device_ctl_info *, char *); - ssize_t(*store) (struct edac_device_ctl_info *, const char *, size_t); -}; - -/* EDAC DEVICE show/store functions for top most object */ -static ssize_t edacdev_show(struct kobject *kobj, struct attribute *attr, - char *buffer) -{ - struct edac_device_ctl_info *edac_dev = to_edacdev(kobj); - struct edacdev_attribute *edacdev_attr = to_edacdev_attr(attr); - - if (edacdev_attr->show) - return edacdev_attr->show(edac_dev, buffer); - - return -EIO; -} - -static ssize_t edacdev_store(struct kobject *kobj, struct attribute *attr, - const char *buffer, size_t count) -{ - struct edac_device_ctl_info *edac_dev = to_edacdev(kobj); - struct edacdev_attribute *edacdev_attr = to_edacdev_attr(attr); - - if (edacdev_attr->store) - return edacdev_attr->store(edac_dev, buffer, count); - - return -EIO; -} - -static struct sysfs_ops edac_dev_ops = { - .show = edacdev_show, - .store = edacdev_store -}; - -#define EDACDEV_ATTR(_name,_mode,_show,_store) \ -static struct edacdev_attribute edac_dev_attr_##_name = { \ - .attr = {.name = __stringify(_name), .mode = _mode }, \ - .show = _show, \ - .store = _store, \ -}; - -/* default Control file */ -EDACDEV_ATTR(reset_counters, S_IWUSR, NULL, edac_dev_reset_counters_store); - -/* default Attribute files */ -EDACDEV_ATTR(mc_name, S_IRUGO, edac_dev_ctl_name_show, NULL); -EDACDEV_ATTR(seconds_since_reset, S_IRUGO, edac_dev_seconds_show, NULL); -EDACDEV_ATTR(ue_count, S_IRUGO, edac_dev_ue_count_show, NULL); -EDACDEV_ATTR(ce_count, S_IRUGO, edac_dev_ce_count_show, NULL); - -static struct edacdev_attribute *edacdev_attr[] = { - &edacdev_attr_reset_counters, - &edacdev_attr_mc_name, - &edacdev_attr_seconds_since_reset, - &edacdev_attr_ue_count, - &edacdev_attr_ce_count, - NULL -}; - -/* - * Release of a Edac Device controlling instance - */ -static void edac_dev_instance_release(struct kobject *kobj) -{ - struct edac_device_ctl_info *edac_dev; - - edac_dev = to_edacdev(kobj); - debugf0("%s() idx=%d\n", __func__, edac_dev->dev_idx); - complete(&edac_dev->kobj_complete); -} - -static struct kobj_type ktype_device = { - .release = edac_dev_instance_release, - .sysfs_ops = &edacdev_ops, - .default_attrs = (struct attribute **)edacdev_attr, -}; - -#endif - /************************** edac_device sysfs code and data **************/ /* |