Lines Matching refs:top_obj

462 static ssize_t uv_pci_type_show(struct uv_pci_top_obj *top_obj, char *buf)  in uv_pci_type_show()  argument
464 return sysfs_emit(buf, "%s\n", top_obj->type); in uv_pci_type_show()
467 static ssize_t uv_pci_location_show(struct uv_pci_top_obj *top_obj, char *buf) in uv_pci_location_show() argument
469 return sysfs_emit(buf, "%s\n", top_obj->location); in uv_pci_location_show()
472 static ssize_t uv_pci_iio_stack_show(struct uv_pci_top_obj *top_obj, char *buf) in uv_pci_iio_stack_show() argument
474 return sysfs_emit(buf, "%d\n", top_obj->iio_stack); in uv_pci_iio_stack_show()
477 static ssize_t uv_pci_ppb_addr_show(struct uv_pci_top_obj *top_obj, char *buf) in uv_pci_ppb_addr_show() argument
479 return sysfs_emit(buf, "%s\n", top_obj->ppb_addr); in uv_pci_ppb_addr_show()
482 static ssize_t uv_pci_slot_show(struct uv_pci_top_obj *top_obj, char *buf) in uv_pci_slot_show() argument
484 return sysfs_emit(buf, "%d\n", top_obj->slot); in uv_pci_slot_show()
489 ssize_t (*show)(struct uv_pci_top_obj *top_obj, char *buf);
490 ssize_t (*store)(struct uv_pci_top_obj *top_obj, const char *buf, size_t size);
506 struct uv_pci_top_obj *top_obj = to_uv_pci_top_obj(kobj); in uv_pci_top_release() local
508 kfree(top_obj->type); in uv_pci_top_release()
509 kfree(top_obj->location); in uv_pci_top_release()
510 kfree(top_obj->ppb_addr); in uv_pci_top_release()
511 kfree(top_obj); in uv_pci_top_release()
517 struct uv_pci_top_obj *top_obj = to_uv_pci_top_obj(kobj); in pci_top_type_show() local
525 return entry->show(top_obj, buf); in pci_top_type_show()
537 static int init_pci_top_obj(struct uv_pci_top_obj *top_obj, char *line) in init_pci_top_obj() argument
567 top_obj->iio_stack = -1; in init_pci_top_obj()
568 top_obj->slot = -1; in init_pci_top_obj()
579 location, type, &top_obj->iio_stack); in init_pci_top_obj()
582 top_obj->type = kstrdup(type, GFP_KERNEL); in init_pci_top_obj()
583 if (!top_obj->type) in init_pci_top_obj()
585 top_obj->location = kstrdup(location, GFP_KERNEL); in init_pci_top_obj()
586 if (!top_obj->location) { in init_pci_top_obj()
587 kfree(top_obj->type); in init_pci_top_obj()
596 type, ppb_addr, &top_obj->slot); in init_pci_top_obj()
599 top_obj->type = kstrdup(type, GFP_KERNEL); in init_pci_top_obj()
600 if (!top_obj->type) in init_pci_top_obj()
602 top_obj->ppb_addr = kstrdup(ppb_addr, GFP_KERNEL); in init_pci_top_obj()
603 if (!top_obj->ppb_addr) { in init_pci_top_obj()
604 kfree(top_obj->type); in init_pci_top_obj()
610 top_obj->kobj.kset = uv_pcibus_kset; in init_pci_top_obj()
612 ret = kobject_init_and_add(&top_obj->kobj, &uv_pci_top_attr_type, NULL, "%s", line); in init_pci_top_obj()
616 if (top_obj->type) { in init_pci_top_obj()
617 ret = sysfs_create_file(&top_obj->kobj, &uv_pci_type_attribute.attr); in init_pci_top_obj()
621 if (top_obj->location) { in init_pci_top_obj()
622 ret = sysfs_create_file(&top_obj->kobj, &uv_pci_location_attribute.attr); in init_pci_top_obj()
626 if (top_obj->iio_stack >= 0) { in init_pci_top_obj()
627 ret = sysfs_create_file(&top_obj->kobj, &uv_pci_iio_stack_attribute.attr); in init_pci_top_obj()
631 if (top_obj->ppb_addr) { in init_pci_top_obj()
632 ret = sysfs_create_file(&top_obj->kobj, &uv_pci_ppb_addr_attribute.attr); in init_pci_top_obj()
636 if (top_obj->slot >= 0) { in init_pci_top_obj()
637 ret = sysfs_create_file(&top_obj->kobj, &uv_pci_slot_attribute.attr); in init_pci_top_obj()
642 kobject_uevent(&top_obj->kobj, KOBJ_ADD); in init_pci_top_obj()
646 kobject_put(&top_obj->kobj); in init_pci_top_obj()