Lines Matching refs:slot

22 	struct pci_slot *slot = to_pci_slot(kobj);  in pci_slot_attr_show()  local
24 return attribute->show ? attribute->show(slot, buf) : -EIO; in pci_slot_attr_show()
30 struct pci_slot *slot = to_pci_slot(kobj); in pci_slot_attr_store() local
32 return attribute->store ? attribute->store(slot, buf, len) : -EIO; in pci_slot_attr_store()
40 static ssize_t address_read_file(struct pci_slot *slot, char *buf) in address_read_file() argument
42 if (slot->number == 0xff) in address_read_file()
44 pci_domain_nr(slot->bus), in address_read_file()
45 slot->bus->number); in address_read_file()
48 pci_domain_nr(slot->bus), in address_read_file()
49 slot->bus->number, in address_read_file()
50 slot->number); in address_read_file()
92 static ssize_t max_speed_read_file(struct pci_slot *slot, char *buf) in max_speed_read_file() argument
94 return bus_speed_read(slot->bus->max_bus_speed, buf); in max_speed_read_file()
97 static ssize_t cur_speed_read_file(struct pci_slot *slot, char *buf) in cur_speed_read_file() argument
99 return bus_speed_read(slot->bus->cur_bus_speed, buf); in cur_speed_read_file()
105 struct pci_slot *slot = to_pci_slot(kobj); in pci_slot_release() local
107 dev_dbg(&slot->bus->dev, "dev %02x, released physical slot %s\n", in pci_slot_release()
108 slot->number, pci_slot_name(slot)); in pci_slot_release()
111 list_for_each_entry(dev, &slot->bus->devices, bus_list) in pci_slot_release()
112 if (PCI_SLOT(dev->devfn) == slot->number) in pci_slot_release()
113 dev->slot = NULL; in pci_slot_release()
116 list_del(&slot->list); in pci_slot_release()
118 kfree(slot); in pci_slot_release()
179 static int rename_slot(struct pci_slot *slot, const char *name) in rename_slot() argument
184 if (strcmp(pci_slot_name(slot), name) == 0) in rename_slot()
191 result = kobject_rename(&slot->kobj, slot_name); in rename_slot()
199 struct pci_slot *slot; in pci_dev_assign_slot() local
202 list_for_each_entry(slot, &dev->bus->slots, list) in pci_dev_assign_slot()
203 if (PCI_SLOT(dev->devfn) == slot->number) in pci_dev_assign_slot()
204 dev->slot = slot; in pci_dev_assign_slot()
210 struct pci_slot *slot; in get_slot() local
213 list_for_each_entry(slot, &parent->slots, list) in get_slot()
214 if (slot->number == slot_nr) { in get_slot()
215 kobject_get(&slot->kobj); in get_slot()
216 return slot; in get_slot()
265 struct pci_slot *slot; in pci_create_slot() local
278 slot = get_slot(parent, slot_nr); in pci_create_slot()
279 if (slot) { in pci_create_slot()
281 if ((err = slot->hotplug ? -EBUSY : 0) in pci_create_slot()
282 || (err = rename_slot(slot, name))) { in pci_create_slot()
283 kobject_put(&slot->kobj); in pci_create_slot()
284 slot = NULL; in pci_create_slot()
292 slot = kzalloc(sizeof(*slot), GFP_KERNEL); in pci_create_slot()
293 if (!slot) { in pci_create_slot()
298 slot->bus = parent; in pci_create_slot()
299 slot->number = slot_nr; in pci_create_slot()
301 slot->kobj.kset = pci_slots_kset; in pci_create_slot()
309 err = kobject_init_and_add(&slot->kobj, &pci_slot_ktype, NULL, in pci_create_slot()
314 INIT_LIST_HEAD(&slot->list); in pci_create_slot()
315 list_add(&slot->list, &parent->slots); in pci_create_slot()
320 dev->slot = slot; in pci_create_slot()
324 slot_nr, pci_slot_name(slot)); in pci_create_slot()
329 return slot; in pci_create_slot()
331 kfree(slot); in pci_create_slot()
332 slot = ERR_PTR(err); in pci_create_slot()
345 void pci_destroy_slot(struct pci_slot *slot) in pci_destroy_slot() argument
347 dev_dbg(&slot->bus->dev, "dev %02x, dec refcount to %d\n", in pci_destroy_slot()
348 slot->number, atomic_read(&slot->kobj.kref.refcount) - 1); in pci_destroy_slot()
351 kobject_put(&slot->kobj); in pci_destroy_slot()
367 struct hotplug_slot *slot = pci_slot->hotplug; in pci_hp_create_module_link() local
371 if (!slot || !slot->ops) in pci_hp_create_module_link()
373 kobj = kset_find_obj(module_kset, slot->ops->mod_name); in pci_hp_create_module_link()