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

From: Randy Dunlap <[email-masked]>
Date: Sun, 13 Sep 2009 14:02:05 -0700

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

That works.  Thanks for your persistence.

Acked-by: Randy Dunlap <[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

---
~Randy
LPC 2009, Sept. 23-25, Portland, Oregon
http://linuxplumbersconf.org/2009/