* Kenji Kaneshige <kaneshige.kenji@xxxxxxxxxxxxxx>: > > I'm sorry, but I forgot to tell you one important thing. Now we > are trying to change pci slot management API to setup > pci_slot->hotplug. We must consider how to implement the > counterpart to clean up pci_slot->hotplug at the same time. My > current idea is adding hotplug arg to pci_destroy_slot(), but > it seems a little ugly... Ugh, I'm not sure which is worse, an unbalanced API vs passing a hotplug_slot to pci_destroy_slot. pci_destroy_slot should never touch the pci_slot->hotplug argument, I think, because it is possible for non-hotplug callers to call pci_create_slot. I think the rule should just be: - all hotplug drivers must use pci_hp_register/deregister - hotplug drivers must pass a valid hotplug_slot argument - all detection drivers must use pci_create/destroy_slot - detection drivers must pass NULL for hotplug_slot If you prefer, we could wrap pci_create_slot for detection drivers: struct pci_slot *pci_slot_register(struct pci_bus *parent, int slot_nr, const char *name) { return pci_create_slot(parent, slot_nr, name, NULL); } EXPORT_SYMBOL_GPL(pci_slot_register); And then do not export pci_create_slot(). Hm? /ac -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html