Lines Matching refs:edev

57 	struct enclosure_device *edev;  in enclosure_find()  local
60 edev = list_prepare_entry(start, &container_list, node); in enclosure_find()
62 put_device(&start->edev); in enclosure_find()
64 list_for_each_entry_continue(edev, &container_list, node) { in enclosure_find()
65 struct device *parent = edev->edev.parent; in enclosure_find()
70 get_device(&edev->edev); in enclosure_find()
72 return edev; in enclosure_find()
99 struct enclosure_device *edev; in enclosure_for_each_device() local
102 list_for_each_entry(edev, &container_list, node) { in enclosure_for_each_device()
103 error = fn(edev, data); in enclosure_for_each_device()
127 struct enclosure_device *edev = in enclosure_register() local
135 if (!edev) in enclosure_register()
138 edev->components = components; in enclosure_register()
140 edev->edev.class = &enclosure_class; in enclosure_register()
141 edev->edev.parent = get_device(dev); in enclosure_register()
142 edev->cb = cb; in enclosure_register()
143 dev_set_name(&edev->edev, "%s", name); in enclosure_register()
144 err = device_register(&edev->edev); in enclosure_register()
149 edev->component[i].number = -1; in enclosure_register()
150 edev->component[i].slot = -1; in enclosure_register()
151 edev->component[i].power_status = -1; in enclosure_register()
155 list_add_tail(&edev->node, &container_list); in enclosure_register()
158 return edev; in enclosure_register()
161 put_device(edev->edev.parent); in enclosure_register()
162 kfree(edev); in enclosure_register()
174 void enclosure_unregister(struct enclosure_device *edev) in enclosure_unregister() argument
179 list_del(&edev->node); in enclosure_unregister()
182 for (i = 0; i < edev->components; i++) in enclosure_unregister()
183 if (edev->component[i].number != -1) in enclosure_unregister()
184 device_unregister(&edev->component[i].cdev); in enclosure_unregister()
187 edev->cb = &enclosure_null_callbacks; in enclosure_unregister()
188 device_unregister(&edev->edev); in enclosure_unregister()
237 struct enclosure_device *edev = to_enclosure_device(cdev); in enclosure_release() local
240 kfree(edev); in enclosure_release()
255 enclosure_component_find_by_name(struct enclosure_device *edev, in enclosure_component_find_by_name() argument
262 if (!edev || !name || !name[0]) in enclosure_component_find_by_name()
265 for (i = 0; i < edev->components; i++) { in enclosure_component_find_by_name()
266 ecomp = &edev->component[i]; in enclosure_component_find_by_name()
292 enclosure_component_alloc(struct enclosure_device *edev, in enclosure_component_alloc() argument
302 if (number >= edev->components) in enclosure_component_alloc()
305 ecomp = &edev->component[number]; in enclosure_component_alloc()
313 cdev->parent = get_device(&edev->edev); in enclosure_component_alloc()
323 while (enclosure_component_find_by_name(edev, newname)) in enclosure_component_alloc()
374 int enclosure_add_device(struct enclosure_device *edev, int component, in enclosure_add_device() argument
380 if (!edev || component >= edev->components) in enclosure_add_device()
383 cdev = &edev->component[component]; in enclosure_add_device()
410 int enclosure_remove_device(struct enclosure_device *edev, struct device *dev) in enclosure_remove_device() argument
415 if (!edev || !dev) in enclosure_remove_device()
418 for (i = 0; i < edev->components; i++) { in enclosure_remove_device()
419 cdev = &edev->component[i]; in enclosure_remove_device()
439 struct enclosure_device *edev = to_enclosure_device(cdev); in components_show() local
441 return snprintf(buf, 40, "%d\n", edev->components); in components_show()
449 struct enclosure_device *edev = to_enclosure_device(cdev); in id_show() local
451 if (edev->cb->show_id) in id_show()
452 return edev->cb->show_id(edev, buf); in id_show()
491 struct enclosure_device *edev = to_enclosure_device(cdev->parent); in get_component_fault() local
494 if (edev->cb->get_fault) in get_component_fault()
495 edev->cb->get_fault(edev, ecomp); in get_component_fault()
503 struct enclosure_device *edev = to_enclosure_device(cdev->parent); in set_component_fault() local
507 if (edev->cb->set_fault) in set_component_fault()
508 edev->cb->set_fault(edev, ecomp, val); in set_component_fault()
515 struct enclosure_device *edev = to_enclosure_device(cdev->parent); in get_component_status() local
518 if (edev->cb->get_status) in get_component_status()
519 edev->cb->get_status(edev, ecomp); in get_component_status()
527 struct enclosure_device *edev = to_enclosure_device(cdev->parent); in set_component_status() local
539 if (enclosure_status[i] && edev->cb->set_status) { in set_component_status()
540 edev->cb->set_status(edev, ecomp, i); in set_component_status()
549 struct enclosure_device *edev = to_enclosure_device(cdev->parent); in get_component_active() local
552 if (edev->cb->get_active) in get_component_active()
553 edev->cb->get_active(edev, ecomp); in get_component_active()
561 struct enclosure_device *edev = to_enclosure_device(cdev->parent); in set_component_active() local
565 if (edev->cb->set_active) in set_component_active()
566 edev->cb->set_active(edev, ecomp, val); in set_component_active()
573 struct enclosure_device *edev = to_enclosure_device(cdev->parent); in get_component_locate() local
576 if (edev->cb->get_locate) in get_component_locate()
577 edev->cb->get_locate(edev, ecomp); in get_component_locate()
585 struct enclosure_device *edev = to_enclosure_device(cdev->parent); in set_component_locate() local
589 if (edev->cb->set_locate) in set_component_locate()
590 edev->cb->set_locate(edev, ecomp, val); in set_component_locate()
598 struct enclosure_device *edev = to_enclosure_device(cdev->parent); in get_component_power_status() local
601 if (edev->cb->get_power_status) in get_component_power_status()
602 edev->cb->get_power_status(edev, ecomp); in get_component_power_status()
606 return (edev->cb->get_power_status) ? -EIO : -ENOTTY; in get_component_power_status()
615 struct enclosure_device *edev = to_enclosure_device(cdev->parent); in set_component_power_status() local
628 if (edev->cb->set_power_status) in set_component_power_status()
629 edev->cb->set_power_status(edev, ecomp, val); in set_component_power_status()