• 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/drivers/edac/

Lines Matching refs:kobj

22 #define to_edacdev(k) container_of(k, struct edac_device_ctl_info, kobj)
112 #define to_ctl_info(k) container_of(k, struct edac_device_ctl_info, kobj)
116 static ssize_t edac_dev_ctl_info_show(struct kobject *kobj,
119 struct edac_device_ctl_info *edac_dev = to_ctl_info(kobj);
128 static ssize_t edac_dev_ctl_info_store(struct kobject *kobj,
132 struct edac_device_ctl_info *edac_dev = to_ctl_info(kobj);
176 * called when the reference count for the 'main' kobj
181 * That main kobj is initially set to one AND
185 * Each new internal kobj (in instances and blocks) then
189 * the 'main' kobj.
191 * When the main kobj reaches zero (0) then THIS function
198 * with its own 'main' kobj.
200 static void edac_device_ctrl_master_release(struct kobject *kobj)
202 struct edac_device_ctl_info *edac_dev = to_edacdev(kobj);
209 /* free the control struct containing the 'main' kobj
249 memset(&edac_dev->kobj, 0, sizeof(struct kobject));
262 err = kobject_init_and_add(&edac_dev->kobj, &ktype_device_ctrl,
263 &edac_class->kset.kobj,
270 kobject_uevent(&edac_dev->kobj, KOBJ_ADD);
298 __func__, kobject_name(&edac_dev->kobj));
307 kobject_put(&edac_dev->kobj);
327 #define to_instance(k) container_of(k, struct edac_device_instance, kobj)
331 static void edac_device_ctrl_instance_release(struct kobject *kobj)
337 /* map from this kobj to the main control struct
338 * and then dec the main kobj count
340 instance = to_instance(kobj);
341 kobject_put(&instance->ctl->kobj);
352 static ssize_t edac_dev_instance_show(struct kobject *kobj,
355 struct edac_device_instance *instance = to_instance(kobj);
364 static ssize_t edac_dev_instance_store(struct kobject *kobj,
368 struct edac_device_instance *instance = to_instance(kobj);
413 #define to_block(k) container_of(k, struct edac_device_block, kobj)
420 static ssize_t block_ue_count_show(struct kobject *kobj,
423 struct edac_device_block *block = to_block(kobj);
428 static ssize_t block_ce_count_show(struct kobject *kobj,
431 struct edac_device_block *block = to_block(kobj);
437 static void edac_device_ctrl_block_release(struct kobject *kobj)
443 /* get the container of the kobj */
444 block = to_block(kobj);
446 /* map from 'block kobj' to 'block->instance->controller->main_kobj'
449 kobject_put(&block->instance->ctl->kobj);
454 static ssize_t edac_dev_block_show(struct kobject *kobj,
461 return block_attr->show(kobj, attr, buffer);
466 static ssize_t edac_dev_block_store(struct kobject *kobj,
475 return block_attr->store(kobj, attr, buffer, count);
525 debugf4("%s() block kobj=%p block kobj->parent=%p\n",
526 __func__, &block->kobj, &block->kobj.parent);
529 memset(&block->kobj, 0, sizeof(struct kobject));
534 main_kobj = kobject_get(&edac_dev->kobj);
541 err = kobject_init_and_add(&block->kobj, &ktype_block_ctrl,
542 &instance->kobj,
560 "attrib->%p to kobj=%p\n",
563 sysfs_attrib, &block->kobj);
566 err = sysfs_create_file(&block->kobj,
572 kobject_uevent(&block->kobj, KOBJ_ADD);
578 kobject_put(&block->kobj);
601 sysfs_remove_file(&block->kobj,
609 kobject_put(&block->kobj);
629 memset(&instance->kobj, 0, sizeof(struct kobject));
636 main_kobj = kobject_get(&edac_dev->kobj);
643 err = kobject_init_and_add(&instance->kobj, &ktype_instance_ctrl,
644 &edac_dev->kobj, "%s", instance->name);
667 kobject_uevent(&instance->kobj, KOBJ_ADD);
676 kobject_put(&instance->kobj);
701 kobject_put(&instance->kobj);
761 err = sysfs_create_file(&edac_dev->kobj,
790 sysfs_remove_file(&edac_dev->kobj,
801 * and 'export' it to sysfs. The 'main' kobj should already have been
814 struct kobject *edac_kobj = &edac_dev->kobj;
829 &edac_dev->dev->kobj, EDAC_DEVICE_SYMLINK);
856 sysfs_remove_link(&edac_dev->kobj, EDAC_DEVICE_SYMLINK);
878 sysfs_remove_link(&edac_dev->kobj, EDAC_DEVICE_SYMLINK);