Lines Matching full: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()
93 static ssize_t max_speed_read_file(struct pci_slot *slot, char *buf) in max_speed_read_file() argument
95 return bus_speed_read(slot->bus->max_bus_speed, buf); in max_speed_read_file()
98 static ssize_t cur_speed_read_file(struct pci_slot *slot, char *buf) in cur_speed_read_file() argument
100 return bus_speed_read(slot->bus->cur_bus_speed, buf); in cur_speed_read_file()
106 struct pci_slot *slot = to_pci_slot(kobj); in pci_slot_release() local
108 dev_dbg(&slot->bus->dev, "dev %02x, released physical slot %s\n", in pci_slot_release()
109 slot->number, pci_slot_name(slot)); in pci_slot_release()
112 list_for_each_entry(dev, &slot->bus->devices, bus_list) in pci_slot_release()
113 if (PCI_SLOT(dev->devfn) == slot->number) in pci_slot_release()
114 dev->slot = NULL; in pci_slot_release()
117 list_del(&slot->list); in pci_slot_release()
119 kfree(slot); in pci_slot_release()
180 static int rename_slot(struct pci_slot *slot, const char *name) in rename_slot() argument
185 if (strcmp(pci_slot_name(slot), name) == 0) in rename_slot()
192 result = kobject_rename(&slot->kobj, slot_name); in rename_slot()
200 struct pci_slot *slot; in pci_dev_assign_slot() local
203 list_for_each_entry(slot, &dev->bus->slots, list) in pci_dev_assign_slot()
204 if (PCI_SLOT(dev->devfn) == slot->number) in pci_dev_assign_slot()
205 dev->slot = slot; in pci_dev_assign_slot()
211 struct pci_slot *slot; in get_slot() local
214 list_for_each_entry(slot, &parent->slots, list) in get_slot()
215 if (slot->number == slot_nr) { in get_slot()
216 kobject_get(&slot->kobj); in get_slot()
217 return slot; in get_slot()
224 * pci_create_slot - create or increment refcount for physical PCI slot
242 * The first slot is assigned N
243 * The second slot is assigned N-1
244 * The third slot is assigned N-2
249 * a slot. There is one notable exception - pSeries (rpaphp), where the
251 * the slot. In this scenario, the caller may pass -1 for @slot_nr.
259 * the 'placeholder' slot will not be displayed.
266 struct pci_slot *slot; in pci_create_slot() local
276 * Hotplug drivers are allowed to rename an existing slot, in pci_create_slot()
279 slot = get_slot(parent, slot_nr); in pci_create_slot()
280 if (slot) { in pci_create_slot()
282 if ((err = slot->hotplug ? -EBUSY : 0) in pci_create_slot()
283 || (err = rename_slot(slot, name))) { in pci_create_slot()
284 kobject_put(&slot->kobj); in pci_create_slot()
285 slot = NULL; in pci_create_slot()
293 slot = kzalloc(sizeof(*slot), GFP_KERNEL); in pci_create_slot()
294 if (!slot) { in pci_create_slot()
299 slot->bus = parent; in pci_create_slot()
300 slot->number = slot_nr; in pci_create_slot()
302 slot->kobj.kset = pci_slots_kset; in pci_create_slot()
310 err = kobject_init_and_add(&slot->kobj, &pci_slot_ktype, NULL, in pci_create_slot()
315 INIT_LIST_HEAD(&slot->list); in pci_create_slot()
316 list_add(&slot->list, &parent->slots); in pci_create_slot()
321 dev->slot = slot; in pci_create_slot()
324 dev_dbg(&parent->dev, "dev %02x, created physical slot %s\n", in pci_create_slot()
325 slot_nr, pci_slot_name(slot)); in pci_create_slot()
330 return slot; in pci_create_slot()
332 kfree(slot); in pci_create_slot()
333 slot = ERR_PTR(err); in pci_create_slot()
339 * pci_destroy_slot - decrement refcount for physical PCI slot
340 * @slot: struct pci_slot to decrement
346 void pci_destroy_slot(struct pci_slot *slot) in pci_destroy_slot() argument
348 dev_dbg(&slot->bus->dev, "dev %02x, dec refcount to %d\n", in pci_destroy_slot()
349 slot->number, kref_read(&slot->kobj.kref) - 1); in pci_destroy_slot()
352 kobject_put(&slot->kobj); in pci_destroy_slot()
368 struct hotplug_slot *slot = pci_slot->hotplug; in pci_hp_create_module_link() local
372 if (!slot || !slot->ops) in pci_hp_create_module_link()
374 kobj = kset_find_obj(module_kset, slot->mod_name); in pci_hp_create_module_link()
407 pr_err("PCI: Slot initialization failure\n"); in pci_slot_init()