Subject: Re: linux-next: driver-core tree build warning

From: Stephen Rothwell <[email-masked]>
Date: Thu, 4 Feb 2010 18:10:32 +1100

Hi Greg,

On Tue, 2 Feb 2010 18:22:47 -0800 Greg KH <[email-masked]> wrote:
>
> On Fri, Jan 29, 2010 at 06:21:15PM +1100, Stephen Rothwell wrote:
> > 
> > > -static CLASS_ATTR(probe, S_IWUSR, NULL, cpu_probe_store);
> > > -static CLASS_ATTR(release, S_IWUSR, NULL, cpu_release_store);
> > > +static SYSDEV_ATTR(probe, S_IWUSR, NULL, cpu_probe_store);
> > 
> > This defines attr_probe as a "struct sysdev_attribute" whose attr element
> > is a "struct attribute".
> > 
> > > +static SYSDEV_ATTR(release, S_IWUSR, NULL, cpu_release_store);
> > >  #endif /* CONFIG_ARCH_CPU_PROBE_RELEASE */
> > >  
> > >  #else /* ... !CONFIG_HOTPLUG_CPU */
> > > @@ -261,8 +261,8 @@ int __init cpu_dev_init(void)
> > >  
> > >  static struct sysdev_class_attribute *cpu_sysdev_class_attrs[] = {
> > >  #ifdef CONFIG_ARCH_CPU_PROBE_RELEASE
> > > -	&class_attr_probe.attr,
> > > -	&class_attr_release.attr,
> > > +	&attr_probe.attr,
> > 
> > so here we are initialising a "struct sysdev_class_attribute *" with a
> > "struct attribute *".  Thus the warning.
> 
> Doh, sorry about that.  I've fixed it up now and pushed it out.

Still not right :-( &attr_probe and &attr_release are "struct
sysdev_attribute *" after this patch, but are being assigned to "struct
sysdev_class_attribute *" ...

-- 
Cheers,
Stephen Rothwell                    [email-masked]
http://www.canb.auug.org.au/~sfr/