Re: [Pcihpd-discuss] struct pci_bus, no release() function?

From: Greg KH
Date: Mon Aug 09 2004 - 02:07:02 EST


On Mon, Aug 02, 2004 at 03:15:28PM -0500, John Rose wrote:
> At probe time, pci_scan_bus_parented() allocates and registers a struct
> device for each PCI bus it scans. This generic device structure never
> gets assigned a "release" function.
>
> Attempts to unregister such a PCI Bus at runtime result in a kernel
> message like:
> Device 'pci0001:00' does not have a release() function, it is broken and
> must be fixed.

You're right, that should be fixed. Care to send a patch? Should just
be a 1 line change. You can tell no one else has tried to remove a root
bus device before...

> Are architectures free to assign their own release function for
> "devices" associated with struct pci_bus?

Why would they want to? It should just be set to pci_release_dev, like
all other struct pci_dev devices are, right?

> If so, does this have to happen at boot, or can it happen right before
> the remove?

Heh, you can't assign a release function after it is needed :)

thanks,

greg k-h
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/