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/