Re: [PATCH 4/4] Make Emulex lpfc driver legacy I/O port free

From: Kenji Kaneshige
Date: Wed Jun 07 2006 - 08:27:12 EST


Christoph Hellwig wrote:
On Wed, Jun 07, 2006 at 12:15:34PM +0900, Kenji Kaneshige wrote:

This patch makes Emulex lpfc driver legacy I/O port free.


Your interface for this is really horrible ;-)


+ int bars = pci_select_bars(pdev, IORESOURCE_MEM);

- if (pci_enable_device(pdev))
+ if (pci_enable_device_bars(pdev, bars))
goto out;
- if (pci_request_regions(pdev, LPFC_DRIVER_NAME))
+ if (pci_request_selected_regions(pdev, bars, LPFC_DRIVER_NAME))
goto out_disable_device;


Please make this something like:

if (pci_enable_device_noioport(pdev))
goto out;
if (pci_request_regions(pdev, LPFC_DRIVER_NAME))
goto out_disable_device;

as in:

- get rid of this awkward pci_select_bars function, the pci_enable* function
should do all the work and add a flag to struct pci_dev so that all other
functions do the right thing.



No. Your idea is very similar to the idea of previous version of my patche
which had a bug. The problem is that it doesn't work if pci_request_regions()
is called before pci_enable_device*() (This is the correct order, though so
many drivers breaks this rule).

Thanks,
Kenji Kaneshige

-
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/