Lines Matching refs:slot

21 	struct pci_slot *slot = to_pci_slot(kobj);  in pci_slot_attr_show()  local
23 return attribute->show ? attribute->show(slot, buf) : -EIO; in pci_slot_attr_show()
29 struct pci_slot *slot = to_pci_slot(kobj); in pci_slot_attr_store() local
31 return attribute->store ? attribute->store(slot, buf, len) : -EIO; in pci_slot_attr_store()
39 static ssize_t address_read_file(struct pci_slot *slot, char *buf) in address_read_file() argument
41 if (slot->number == 0xff) in address_read_file()
43 pci_domain_nr(slot->bus), in address_read_file()
44 slot->bus->number); in address_read_file()
47 pci_domain_nr(slot->bus), in address_read_file()
48 slot->bus->number, in address_read_file()
49 slot->number); in address_read_file()
57 static ssize_t max_speed_read_file(struct pci_slot *slot, char *buf) in max_speed_read_file() argument
59 return bus_speed_read(slot->bus->max_bus_speed, buf); in max_speed_read_file()
62 static ssize_t cur_speed_read_file(struct pci_slot *slot, char *buf) in cur_speed_read_file() argument
64 return bus_speed_read(slot->bus->cur_bus_speed, buf); in cur_speed_read_file()
70 struct pci_slot *slot = to_pci_slot(kobj); in pci_slot_release() local
72 dev_dbg(&slot->bus->dev, "dev %02x, released physical slot %s\n", in pci_slot_release()
73 slot->number, pci_slot_name(slot)); in pci_slot_release()
76 list_for_each_entry(dev, &slot->bus->devices, bus_list) in pci_slot_release()
77 if (PCI_SLOT(dev->devfn) == slot->number) in pci_slot_release()
78 dev->slot = NULL; in pci_slot_release()
81 list_del(&slot->list); in pci_slot_release()
83 kfree(slot); in pci_slot_release()
145 static int rename_slot(struct pci_slot *slot, const char *name) in rename_slot() argument
150 if (strcmp(pci_slot_name(slot), name) == 0) in rename_slot()
157 result = kobject_rename(&slot->kobj, slot_name); in rename_slot()
165 struct pci_slot *slot; in pci_dev_assign_slot() local
168 list_for_each_entry(slot, &dev->bus->slots, list) in pci_dev_assign_slot()
169 if (PCI_SLOT(dev->devfn) == slot->number) in pci_dev_assign_slot()
170 dev->slot = slot; in pci_dev_assign_slot()
176 struct pci_slot *slot; in get_slot() local
179 list_for_each_entry(slot, &parent->slots, list) in get_slot()
180 if (slot->number == slot_nr) { in get_slot()
181 kobject_get(&slot->kobj); in get_slot()
182 return slot; in get_slot()
231 struct pci_slot *slot; in pci_create_slot() local
244 slot = get_slot(parent, slot_nr); in pci_create_slot()
245 if (slot) { in pci_create_slot()
247 if ((err = slot->hotplug ? -EBUSY : 0) in pci_create_slot()
248 || (err = rename_slot(slot, name))) { in pci_create_slot()
249 kobject_put(&slot->kobj); in pci_create_slot()
250 slot = NULL; in pci_create_slot()
258 slot = kzalloc(sizeof(*slot), GFP_KERNEL); in pci_create_slot()
259 if (!slot) { in pci_create_slot()
264 slot->bus = parent; in pci_create_slot()
265 slot->number = slot_nr; in pci_create_slot()
267 slot->kobj.kset = pci_slots_kset; in pci_create_slot()
272 kfree(slot); in pci_create_slot()
276 INIT_LIST_HEAD(&slot->list); in pci_create_slot()
277 list_add(&slot->list, &parent->slots); in pci_create_slot()
279 err = kobject_init_and_add(&slot->kobj, &pci_slot_ktype, NULL, in pci_create_slot()
282 kobject_put(&slot->kobj); in pci_create_slot()
289 dev->slot = slot; in pci_create_slot()
293 slot_nr, pci_slot_name(slot)); in pci_create_slot()
298 return slot; in pci_create_slot()
300 slot = ERR_PTR(err); in pci_create_slot()
313 void pci_destroy_slot(struct pci_slot *slot) in pci_destroy_slot() argument
315 dev_dbg(&slot->bus->dev, "dev %02x, dec refcount to %d\n", in pci_destroy_slot()
316 slot->number, kref_read(&slot->kobj.kref) - 1); in pci_destroy_slot()
319 kobject_put(&slot->kobj); in pci_destroy_slot()
335 struct hotplug_slot *slot = pci_slot->hotplug; in pci_hp_create_module_link() local
339 if (!slot || !slot->ops) in pci_hp_create_module_link()
341 kobj = kset_find_obj(module_kset, slot->mod_name); in pci_hp_create_module_link()