Re: [PATCHv3] qla2xxx: Correct compilation issues when CONFIG_MODULES=n.

Randy Dunlap
2009-09-13T21:02:16Z

On Sat, 12 Sep 2009 09:43:56 -0700 Andrew Vasquez wrote:

> Randy Dunlap noted:
>
> when CONFIG_MODULES=n:
>
> drivers/scsi/qla2xxx/qla_os.c:2685: error: dereferencing pointer to incomplete type
>
> in
>
> kobject_uevent_env(&(&vha->hw->pdev->driver->driver)->owner->mkobj.kobj,
> KOBJ_CHANGE, envp);
>
> Trigger kobject event on the 'struct device' hanging off the pci_dev.
>
> Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>

That works. Thanks for your persistence.

Acked-by: Randy Dunlap <randy.dunlap@oracle.com>

> ---
>
> On Fri, 11 Sep 2009, James Bottomley wrote:
>
> > > diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c
> > > index 29396c0..369a270 100644
> > > --- a/drivers/scsi/qla2xxx/qla_os.c
> > > +++ b/drivers/scsi/qla2xxx/qla_os.c
> > > @@ -2683,8 +2683,7 @@ qla2x00_uevent_emit(struct scsi_qla_host *vha, u32 code)
> > > /* do nothing */
> > > break;
> > > }
> > > - kobject_uevent_env(&(&vha->hw->pdev->driver->driver)->owner->mkobj.kobj,
> > > - KOBJ_CHANGE, envp);
> > > + kobject_uevent_env(&(&vha->hw->pdev->dev)->kobj, KOBJ_CHANGE, envp);
> >
> > Much better. Of course to be perfect, you might like to remember that
> > (&x)->y is actually x.y
> >
> > so
> >
> > kobject_uevent_env(&vha->hw->pdev->dev.kobj, ...
>
> Ahh, of course... Perfection...the enemy of progress...
>
> diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c
> index 29396c0..86f337f 100644
> --- a/drivers/scsi/qla2xxx/qla_os.c
> +++ b/drivers/scsi/qla2xxx/qla_os.c
> @@ -2683,8 +2683,7 @@ qla2x00_uevent_emit(struct scsi_qla_host *vha, u32 code)
> /* do nothing */
> break;
> }
> - kobject_uevent_env(&(&vha->hw->pdev->driver->driver)->owner->mkobj.kobj,
> - KOBJ_CHANGE, envp);
> + kobject_uevent_env(&vha->hw->pdev->dev.kobj, KOBJ_CHANGE, envp);
> }
>
> void

---
~Randy
LPC 2009, Sept. 23-25, Portland, Oregon