Re: [PATCH] block: mtip32xx: remove HOTPLUG_PCI_PCIE dependancy

From: Asai Thambi S P
Date: Wed Apr 11 2012 - 18:23:00 EST


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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/