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()
91 static ssize_t max_speed_read_file(struct pci_slot *slot, char *buf) in max_speed_read_file() argument
93 return bus_speed_read(slot->bus->max_bus_speed, buf); in max_speed_read_file()
96 static ssize_t cur_speed_read_file(struct pci_slot *slot, char *buf) in cur_speed_read_file() argument
98 return bus_speed_read(slot->bus->cur_bus_speed, buf); in cur_speed_read_file()
104 struct pci_slot *slot = to_pci_slot(kobj); in pci_slot_release() local
106 dev_dbg(&slot->bus->dev, "dev %02x, released physical slot %s\n", in pci_slot_release()
107 slot->number, pci_slot_name(slot)); in pci_slot_release()
109 list_for_each_entry(dev, &slot->bus->devices, bus_list) in pci_slot_release()
110 if (PCI_SLOT(dev->devfn) == slot->number) in pci_slot_release()
111 dev->slot = NULL; in pci_slot_release()
113 list_del(&slot->list); in pci_slot_release()
115 kfree(slot); in pci_slot_release()
176 static int rename_slot(struct pci_slot *slot, const char *name) in rename_slot() argument
181 if (strcmp(pci_slot_name(slot), name) == 0) in rename_slot()
188 result = kobject_rename(&slot->kobj, slot_name); in rename_slot()
196 struct pci_slot *slot; in get_slot() local
200 list_for_each_entry(slot, &parent->slots, list) in get_slot()
201 if (slot->number == slot_nr) { in get_slot()
202 kobject_get(&slot->kobj); in get_slot()
203 return slot; in get_slot()
252 struct pci_slot *slot; in pci_create_slot() local
265 slot = get_slot(parent, slot_nr); in pci_create_slot()
266 if (slot) { in pci_create_slot()
268 if ((err = slot->hotplug ? -EBUSY : 0) in pci_create_slot()
269 || (err = rename_slot(slot, name))) { in pci_create_slot()
270 kobject_put(&slot->kobj); in pci_create_slot()
271 slot = NULL; in pci_create_slot()
279 slot = kzalloc(sizeof(*slot), GFP_KERNEL); in pci_create_slot()
280 if (!slot) { in pci_create_slot()
285 slot->bus = parent; in pci_create_slot()
286 slot->number = slot_nr; in pci_create_slot()
288 slot->kobj.kset = pci_slots_kset; in pci_create_slot()
296 err = kobject_init_and_add(&slot->kobj, &pci_slot_ktype, NULL, in pci_create_slot()
301 INIT_LIST_HEAD(&slot->list); in pci_create_slot()
302 list_add(&slot->list, &parent->slots); in pci_create_slot()
306 dev->slot = slot; in pci_create_slot()
309 slot_nr, pci_slot_name(slot)); in pci_create_slot()
314 return slot; in pci_create_slot()
316 kfree(slot); in pci_create_slot()
317 slot = ERR_PTR(err); in pci_create_slot()
330 void pci_destroy_slot(struct pci_slot *slot) in pci_destroy_slot() argument
332 dev_dbg(&slot->bus->dev, "dev %02x, dec refcount to %d\n", in pci_destroy_slot()
333 slot->number, atomic_read(&slot->kobj.kref.refcount) - 1); in pci_destroy_slot()
336 kobject_put(&slot->kobj); in pci_destroy_slot()
352 struct hotplug_slot *slot = pci_slot->hotplug; in pci_hp_create_module_link() local
356 if (!slot || !slot->ops) in pci_hp_create_module_link()
358 kobj = kset_find_obj(module_kset, slot->ops->mod_name); in pci_hp_create_module_link()