Lines Matching refs:top_obj

459 static ssize_t uv_pci_type_show(struct uv_pci_top_obj *top_obj, char *buf)  in uv_pci_type_show()  argument
461 return scnprintf(buf, PAGE_SIZE, "%s\n", top_obj->type); in uv_pci_type_show()
464 static ssize_t uv_pci_location_show(struct uv_pci_top_obj *top_obj, char *buf) in uv_pci_location_show() argument
466 return scnprintf(buf, PAGE_SIZE, "%s\n", top_obj->location); in uv_pci_location_show()
469 static ssize_t uv_pci_iio_stack_show(struct uv_pci_top_obj *top_obj, char *buf) in uv_pci_iio_stack_show() argument
471 return sprintf(buf, "%d\n", top_obj->iio_stack); in uv_pci_iio_stack_show()
474 static ssize_t uv_pci_ppb_addr_show(struct uv_pci_top_obj *top_obj, char *buf) in uv_pci_ppb_addr_show() argument
476 return scnprintf(buf, PAGE_SIZE, "%s\n", top_obj->ppb_addr); in uv_pci_ppb_addr_show()
479 static ssize_t uv_pci_slot_show(struct uv_pci_top_obj *top_obj, char *buf) in uv_pci_slot_show() argument
481 return sprintf(buf, "%d\n", top_obj->slot); in uv_pci_slot_show()
486 ssize_t (*show)(struct uv_pci_top_obj *top_obj, char *buf);
487 ssize_t (*store)(struct uv_pci_top_obj *top_obj, const char *buf, size_t size);
503 struct uv_pci_top_obj *top_obj = to_uv_pci_top_obj(kobj); in uv_pci_top_release() local
505 kfree(top_obj->type); in uv_pci_top_release()
506 kfree(top_obj->location); in uv_pci_top_release()
507 kfree(top_obj->ppb_addr); in uv_pci_top_release()
508 kfree(top_obj); in uv_pci_top_release()
514 struct uv_pci_top_obj *top_obj = to_uv_pci_top_obj(kobj); in pci_top_type_show() local
522 return entry->show(top_obj, buf); in pci_top_type_show()
534 static int init_pci_top_obj(struct uv_pci_top_obj *top_obj, char *line) in init_pci_top_obj() argument
564 top_obj->iio_stack = -1; in init_pci_top_obj()
565 top_obj->slot = -1; in init_pci_top_obj()
576 location, type, &top_obj->iio_stack); in init_pci_top_obj()
579 top_obj->type = kstrdup(type, GFP_KERNEL); in init_pci_top_obj()
580 if (!top_obj->type) in init_pci_top_obj()
582 top_obj->location = kstrdup(location, GFP_KERNEL); in init_pci_top_obj()
583 if (!top_obj->location) { in init_pci_top_obj()
584 kfree(top_obj->type); in init_pci_top_obj()
593 type, ppb_addr, &top_obj->slot); in init_pci_top_obj()
596 top_obj->type = kstrdup(type, GFP_KERNEL); in init_pci_top_obj()
597 if (!top_obj->type) in init_pci_top_obj()
599 top_obj->ppb_addr = kstrdup(ppb_addr, GFP_KERNEL); in init_pci_top_obj()
600 if (!top_obj->ppb_addr) { in init_pci_top_obj()
601 kfree(top_obj->type); in init_pci_top_obj()
607 top_obj->kobj.kset = uv_pcibus_kset; in init_pci_top_obj()
609 ret = kobject_init_and_add(&top_obj->kobj, &uv_pci_top_attr_type, NULL, "%s", line); in init_pci_top_obj()
613 if (top_obj->type) { in init_pci_top_obj()
614 ret = sysfs_create_file(&top_obj->kobj, &uv_pci_type_attribute.attr); in init_pci_top_obj()
618 if (top_obj->location) { in init_pci_top_obj()
619 ret = sysfs_create_file(&top_obj->kobj, &uv_pci_location_attribute.attr); in init_pci_top_obj()
623 if (top_obj->iio_stack >= 0) { in init_pci_top_obj()
624 ret = sysfs_create_file(&top_obj->kobj, &uv_pci_iio_stack_attribute.attr); in init_pci_top_obj()
628 if (top_obj->ppb_addr) { in init_pci_top_obj()
629 ret = sysfs_create_file(&top_obj->kobj, &uv_pci_ppb_addr_attribute.attr); in init_pci_top_obj()
633 if (top_obj->slot >= 0) { in init_pci_top_obj()
634 ret = sysfs_create_file(&top_obj->kobj, &uv_pci_slot_attribute.attr); in init_pci_top_obj()
639 kobject_uevent(&top_obj->kobj, KOBJ_ADD); in init_pci_top_obj()
643 kobject_put(&top_obj->kobj); in init_pci_top_obj()