Lines Matching refs:device
455 static void ib_device_release(struct device *device) in ib_device_release() argument
457 struct ib_device *dev = container_of(device, struct ib_device, dev); in ib_device_release()
462 static int ib_device_uevent(struct device *device, in ib_device_uevent() argument
465 struct ib_device *dev = container_of(device, struct ib_device, dev); in ib_device_uevent()
520 static int add_port(struct ib_device *device, int port_num, in add_port() argument
529 ret = ib_query_port(device, port_num, &attr); in add_port()
537 p->ibdev = device; in add_port()
541 device->ports_parent, in add_port()
576 ret = port_callback(device, port_num, &p->kobj); in add_port()
581 list_add_tail(&p->kobj.entry, &device->port_list); in add_port()
614 static ssize_t show_node_type(struct device *device, in show_node_type() argument
617 struct ib_device *dev = container_of(device, struct ib_device, dev); in show_node_type()
630 static ssize_t show_sys_image_guid(struct device *device, in show_sys_image_guid() argument
633 struct ib_device *dev = container_of(device, struct ib_device, dev); in show_sys_image_guid()
648 static ssize_t show_node_guid(struct device *device, in show_node_guid() argument
651 struct ib_device *dev = container_of(device, struct ib_device, dev); in show_node_guid()
660 static ssize_t show_node_desc(struct device *device, in show_node_desc() argument
663 struct ib_device *dev = container_of(device, struct ib_device, dev); in show_node_desc()
668 static ssize_t set_node_desc(struct device *device, in set_node_desc() argument
672 struct ib_device *dev = container_of(device, struct ib_device, dev); in set_node_desc()
706 static ssize_t show_protocol_stat(const struct device *device, in show_protocol_stat() argument
710 struct ib_device *dev = container_of(device, struct ib_device, dev); in show_protocol_stat()
724 static ssize_t show_##name(struct device *device, \
727 return show_protocol_stat(device, attr, buf, \
819 static void free_port_list_attributes(struct ib_device *device) in free_port_list_attributes() argument
823 list_for_each_entry_safe(p, t, &device->port_list, entry) { in free_port_list_attributes()
832 kobject_put(device->ports_parent); in free_port_list_attributes()
835 int ib_device_register_sysfs(struct ib_device *device, in ib_device_register_sysfs() argument
839 struct device *class_dev = &device->dev; in ib_device_register_sysfs()
844 class_dev->parent = device->dma_device; in ib_device_register_sysfs()
845 dev_set_name(class_dev, "%s", device->name); in ib_device_register_sysfs()
846 dev_set_drvdata(class_dev, device); in ib_device_register_sysfs()
848 INIT_LIST_HEAD(&device->port_list); in ib_device_register_sysfs()
860 device->ports_parent = kobject_create_and_add("ports", in ib_device_register_sysfs()
862 if (!device->ports_parent) { in ib_device_register_sysfs()
867 if (device->node_type == RDMA_NODE_IB_SWITCH) { in ib_device_register_sysfs()
868 ret = add_port(device, 0, port_callback); in ib_device_register_sysfs()
872 for (i = 1; i <= device->phys_port_cnt; ++i) { in ib_device_register_sysfs()
873 ret = add_port(device, i, port_callback); in ib_device_register_sysfs()
879 if (device->node_type == RDMA_NODE_RNIC && device->get_protocol_stats) { in ib_device_register_sysfs()
888 free_port_list_attributes(device); in ib_device_register_sysfs()
897 void ib_device_unregister_sysfs(struct ib_device *device) in ib_device_unregister_sysfs() argument
900 struct kobject *kobj_dev = kobject_get(&device->dev.kobj); in ib_device_unregister_sysfs()
903 if (device->node_type == RDMA_NODE_RNIC && device->get_protocol_stats) in ib_device_unregister_sysfs()
906 free_port_list_attributes(device); in ib_device_unregister_sysfs()
909 device_remove_file(&device->dev, ib_class_attributes[i]); in ib_device_unregister_sysfs()
911 device_unregister(&device->dev); in ib_device_unregister_sysfs()