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

Andrew Vasquez
2009-09-12T16:43:54Z

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

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