Messages in this thread | | | Date | Wed, 11 Apr 2012 15:22:56 -0700 | From | Asai Thambi S P <> | Subject | Re: [PATCH] block: mtip32xx: remove HOTPLUG_PCI_PCIE dependancy |
| |
On 4/11/2012 1:40 PM, Greg KH wrote:
> On Wed, Apr 11, 2012 at 01:33:39PM -0700, Asai Thambi S P wrote: >> On 4/11/2012 12:57 PM, Jens Axboe wrote: >> >>> On 2012-04-11 20:34, Greg KH wrote: >>>> This removes the HOTPLUG_PCI_PCIE dependency on the driver and makes it >>>> depend on PCI. >>> >>> I think it's an old dependency. I've built and run it here without as >>> well, and no functional issues either. >>> >>> Sam/Asai? >>> >> >> >> Both driver and device will work fine without PCIe hotplug dependency. This >> dependency is required for supporting surprise removal and surprise insertion >> of the device on systems with PCIe hotplug controller. > > But that's not a driver-specific thing at all. All PCI drivers need to > be able to handle this (I like how you constantly check the pci id, > that's cute.) > > So I think a basic dependancy on PCI should be fine here.
The P320 is different from existing PCIe devices supporting surprise removal and surprise insertion (SRSI) capability (aka hotplug). We equate the hotplug functionality enabled by PCIe hotplug controllers to that of any other storage endpoint (SAS, SATA, FC, etc). For those devices, hotplug functionality is enabled by the transport layer and propagated up to host storage stack for handling.
There are two types of users for P320 device – 1) those with systems that have PCIe hotplug controllers and intend to use hotplug and 2) those who do not need or intend to use hotplug. The HOTPLUG_PCI_PCIE dependency enables users in the first bucket to use the device’s capability without affecting those in the second bucket. While there aren’t many systems today that have PCIe hotplug controllers, you will begin to see such systems very soon.
The mtip32xx driver depends on remove() being called for graceful handling of surprise removal events. Such cleanup is necessary to enable clean surprise insertion of the same/different device in the same slot. We do check the PCI id in non-fast path code to detect the surprise removal and fail any outstanding I/Os with -ENODEV, but the driver still depends on the pci core with help from the pcie hotplug module to call remove() for cleanup, hence the HOTPLUG_PCI_PCIE dependency.
-- Regards, Asai Thambi -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |