• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6.36/drivers/edac/

Lines Matching defs:edac_dev

115 /* Function to 'show' fields from the edac_dev 'ctl_info' structure */
119 struct edac_device_ctl_info *edac_dev = to_ctl_info(kobj);
123 return ctl_info_attr->show(edac_dev, buffer);
127 /* Function to 'store' fields into the edac_dev 'ctl_info' structure */
132 struct edac_device_ctl_info *edac_dev = to_ctl_info(kobj);
136 return ctl_info_attr->store(edac_dev, buffer, count);
140 /* edac_dev file operations for an 'ctl_info' */
202 struct edac_device_ctl_info *edac_dev = to_edacdev(kobj);
204 debugf4("%s() control index=%d\n", __func__, edac_dev->dev_idx);
207 module_put(edac_dev->owner);
212 kfree(edac_dev);
230 int edac_device_register_sysfs_main_kobj(struct edac_device_ctl_info *edac_dev)
246 edac_dev->edac_class = edac_class;
249 memset(&edac_dev->kobj, 0, sizeof(struct kobject));
254 edac_dev->owner = THIS_MODULE;
256 if (!try_module_get(edac_dev->owner)) {
262 err = kobject_init_and_add(&edac_dev->kobj, &ktype_device_ctrl,
264 "%s", edac_dev->name);
267 __func__, edac_dev->name);
270 kobject_uevent(&edac_dev->kobj, KOBJ_ADD);
277 __func__, edac_dev->name);
283 module_put(edac_dev->owner);
294 struct edac_device_ctl_info *edac_dev)
298 __func__, kobject_name(&edac_dev->kobj));
307 kobject_put(&edac_dev->kobj);
310 /* edac_dev -> instance information */
351 /* Function to 'show' fields from the edac_dev 'instance' structure */
363 /* Function to 'store' fields into the edac_dev 'instance' structure */
376 /* edac_dev file operations for an 'instance' */
397 /* list of edac_dev 'instance' attributes */
404 /* The 'ktype' for each edac_dev 'instance' */
411 /* edac_dev -> instance -> block information */
453 /* Function to 'show' fields from the edac_dev 'block' structure */
465 /* Function to 'store' fields into the edac_dev 'block' structure */
479 /* edac_dev file operations for a 'block' */
495 /* list of edac_dev 'block' attributes */
502 /* The 'ktype' for each edac_dev 'block' */
514 static int edac_device_create_block(struct edac_device_ctl_info *edac_dev,
534 main_kobj = kobject_get(&edac_dev->kobj);
585 * edac_device_delete_block(edac_dev,block);
587 static void edac_device_delete_block(struct edac_device_ctl_info *edac_dev,
618 static int edac_device_create_instance(struct edac_device_ctl_info *edac_dev,
626 instance = &edac_dev->instances[idx];
631 instance->ctl = edac_dev;
636 main_kobj = kobject_get(&edac_dev->kobj);
644 &edac_dev->kobj, "%s", instance->name);
657 err = edac_device_create_block(edac_dev, instance,
662 edac_device_delete_block(edac_dev,
686 static void edac_device_delete_instance(struct edac_device_ctl_info *edac_dev,
692 instance = &edac_dev->instances[idx];
696 edac_device_delete_block(edac_dev, &instance->blocks[i]);
709 static int edac_device_create_instances(struct edac_device_ctl_info *edac_dev)
717 for (i = 0; i < edac_dev->nr_instances; i++) {
718 err = edac_device_create_instance(edac_dev, i);
722 edac_device_delete_instance(edac_dev, j);
731 * edac_device_delete_instances(edac_dev);
734 static void edac_device_delete_instances(struct edac_device_ctl_info *edac_dev)
739 for (i = 0; i < edac_dev->nr_instances; i++)
740 edac_device_delete_instance(edac_dev, i);
743 /* edac_dev sysfs ctor/dtor code */
750 struct edac_device_ctl_info *edac_dev)
755 sysfs_attrib = edac_dev->sysfs_attributes;
761 err = sysfs_create_file(&edac_dev->kobj,
779 struct edac_device_ctl_info *edac_dev)
787 sysfs_attrib = edac_dev->sysfs_attributes;
790 sysfs_remove_file(&edac_dev->kobj,
811 int edac_device_create_sysfs(struct edac_device_ctl_info *edac_dev)
814 struct kobject *edac_kobj = &edac_dev->kobj;
816 debugf0("%s() idx=%d\n", __func__, edac_dev->dev_idx);
819 err = edac_device_add_main_sysfs_attributes(edac_dev);
829 &edac_dev->dev->kobj, EDAC_DEVICE_SYMLINK);
840 err = edac_device_create_instances(edac_dev);
849 __func__, edac_dev->dev_idx);
856 sysfs_remove_link(&edac_dev->kobj, EDAC_DEVICE_SYMLINK);
859 edac_device_remove_main_sysfs_attributes(edac_dev);
870 void edac_device_remove_sysfs(struct edac_device_ctl_info *edac_dev)
875 edac_device_remove_main_sysfs_attributes(edac_dev);
878 sysfs_remove_link(&edac_dev->kobj, EDAC_DEVICE_SYMLINK);
881 edac_device_delete_instances(edac_dev);