Subject: Re: [PATCH v2 6/7] PCI: Make sure VF's driver get attached after PF's

From: Eliezer Tamir <[email-masked]>
Date: Mon, 20 May 2013 15:58:37 +0300

On 20/05/2013 15:28, Or Gerlitz wrote:
> On Wed, May 15, 2013 at 7:12 PM, Greg Rose <[email-masked]> wrote:
>
>
>> I'm really not a fan of this.  Seems to me the tail is wagging the dog
>> here.  Fix the driver to work without a PF driver being present.
>
> Greg, Alex,
>
> As I wrote over the V1 thread, currently we can't go and patch mlx4 to
> use the sysfs API nor defer the call from within our probe function to
> enable sriov since  this requires some firmware change to allow
> enabling SRIOV after some  resources are initialized/provisioned.
> Hence the patch suggested here or any other patch we can agree on
> which will make sure that VF probing is done only once the PF is ready
> is preferred, I think.
>
Maybe do the following:
1. split the VF PCI IDs into a separate PCI_ID device table.
2. have two pci_driver structs, one for all of the PF IDS and one with 
the VF IDS.
3. only register the first pci_driver struct from mlx4_init().
4. register the one for the VFs once your PFs are all up and ready.

Eliezer