On Thu, 19 Mar 2009, Alex Chiang wrote: > * Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>: > > > + > > > +struct bus_attribute pci_bus_attrs[] = { > > > + __ATTR(rescan, S_IWUSR, NULL, bus_rescan_store), > > > + __ATTR_NULL > > > +}; > > > +#endif > > > > Why CONFIG_HOTPLUG rather than CONFIG_HOTPLUG_PCI (or similar)? > > I first started out with CONFIG_HOTPLUG_PCI but then all that > stuff got compiled out, and I couldn't figure out why at the > time. HOTPLUG_PCI is a subset of HOTPLUG. It gives you support for actual hotplug hardware. The rescan/remove functions don't do anything to hotplug hardware and don't use any code from the pci hotplug core (which is designed to support hotplug hardware). Rescan and remove just need the ability to unbind a driver from device, delete a device and create a new device. Which HOTPLUG gives us. So, we use HOTPLUG because that's all we need. The idea is to make the sysfs interface for PCI have the most features it can support. If we wanted to make the interface not have remove/rescan unless needed, then using HOTPLUG_PCI wouldn't make much sense. It would be better to have a new option "PCI remove/rescan sysfs interface" or something that turned it on. But it isn't much code, so I don't think it's necessary to do that. -- 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