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

From: Andrew Vasquez <[email-masked]>
Date: Sat, 12 Sep 2009 09:43:56 -0700

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 <[email-masked]>
---

	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