Lines Matching refs:top_obj

461 static ssize_t uv_pci_type_show(struct uv_pci_top_obj *top_obj, char *buf)  in uv_pci_type_show()  argument
463 return sysfs_emit(buf, "%s\n", top_obj->type); in uv_pci_type_show()
466 static ssize_t uv_pci_location_show(struct uv_pci_top_obj *top_obj, char *buf) in uv_pci_location_show() argument
468 return sysfs_emit(buf, "%s\n", top_obj->location); in uv_pci_location_show()
471 static ssize_t uv_pci_iio_stack_show(struct uv_pci_top_obj *top_obj, char *buf) in uv_pci_iio_stack_show() argument
473 return sprintf(buf, "%d\n", top_obj->iio_stack); in uv_pci_iio_stack_show()
476 static ssize_t uv_pci_ppb_addr_show(struct uv_pci_top_obj *top_obj, char *buf) in uv_pci_ppb_addr_show() argument
478 return sysfs_emit(buf, "%s\n", top_obj->ppb_addr); in uv_pci_ppb_addr_show()
481 static ssize_t uv_pci_slot_show(struct uv_pci_top_obj *top_obj, char *buf) in uv_pci_slot_show() argument
483 return sprintf(buf, "%d\n", top_obj->slot); in uv_pci_slot_show()
488 ssize_t (*show)(struct uv_pci_top_obj *top_obj, char *buf);
489 ssize_t (*store)(struct uv_pci_top_obj *top_obj, const char *buf, size_t size);
505 struct uv_pci_top_obj *top_obj = to_uv_pci_top_obj(kobj); in uv_pci_top_release() local
507 kfree(top_obj->type); in uv_pci_top_release()
508 kfree(top_obj->location); in uv_pci_top_release()
509 kfree(top_obj->ppb_addr); in uv_pci_top_release()
510 kfree(top_obj); in uv_pci_top_release()
516 struct uv_pci_top_obj *top_obj = to_uv_pci_top_obj(kobj); in pci_top_type_show() local
524 return entry->show(top_obj, buf); in pci_top_type_show()
536 static int init_pci_top_obj(struct uv_pci_top_obj *top_obj, char *line) in init_pci_top_obj() argument
566 top_obj->iio_stack = -1; in init_pci_top_obj()
567 top_obj->slot = -1; in init_pci_top_obj()
578 location, type, &top_obj->iio_stack); in init_pci_top_obj()
581 top_obj->type = kstrdup(type, GFP_KERNEL); in init_pci_top_obj()
582 if (!top_obj->type) in init_pci_top_obj()
584 top_obj->location = kstrdup(location, GFP_KERNEL); in init_pci_top_obj()
585 if (!top_obj->location) { in init_pci_top_obj()
586 kfree(top_obj->type); in init_pci_top_obj()
595 type, ppb_addr, &top_obj->slot); in init_pci_top_obj()
598 top_obj->type = kstrdup(type, GFP_KERNEL); in init_pci_top_obj()
599 if (!top_obj->type) in init_pci_top_obj()
601 top_obj->ppb_addr = kstrdup(ppb_addr, GFP_KERNEL); in init_pci_top_obj()
602 if (!top_obj->ppb_addr) { in init_pci_top_obj()
603 kfree(top_obj->type); in init_pci_top_obj()
609 top_obj->kobj.kset = uv_pcibus_kset; in init_pci_top_obj()
611 ret = kobject_init_and_add(&top_obj->kobj, &uv_pci_top_attr_type, NULL, "%s", line); in init_pci_top_obj()
615 if (top_obj->type) { in init_pci_top_obj()
616 ret = sysfs_create_file(&top_obj->kobj, &uv_pci_type_attribute.attr); in init_pci_top_obj()
620 if (top_obj->location) { in init_pci_top_obj()
621 ret = sysfs_create_file(&top_obj->kobj, &uv_pci_location_attribute.attr); in init_pci_top_obj()
625 if (top_obj->iio_stack >= 0) { in init_pci_top_obj()
626 ret = sysfs_create_file(&top_obj->kobj, &uv_pci_iio_stack_attribute.attr); in init_pci_top_obj()
630 if (top_obj->ppb_addr) { in init_pci_top_obj()
631 ret = sysfs_create_file(&top_obj->kobj, &uv_pci_ppb_addr_attribute.attr); in init_pci_top_obj()
635 if (top_obj->slot >= 0) { in init_pci_top_obj()
636 ret = sysfs_create_file(&top_obj->kobj, &uv_pci_slot_attribute.attr); in init_pci_top_obj()
641 kobject_uevent(&top_obj->kobj, KOBJ_ADD); in init_pci_top_obj()
645 kobject_put(&top_obj->kobj); in init_pci_top_obj()