Subject: Re: [PATCH 11/16] powerpc: vio_cmo: use dev_groups and not dev_attrs for bus_type

From: Greg Kroah-Hartman <[email-masked]>
Date: Mon, 12 Jun 2017 08:58:10 +0200

On Fri, Jun 09, 2017 at 09:23:10PM +1000, Michael Ellerman wrote:
> Greg Kroah-Hartman <[email-masked]> writes:
> 
> > On Fri, Jun 09, 2017 at 08:53:22AM +1000, Michael Ellerman wrote:
> >> Greg Kroah-Hartman <[email-masked]> writes:
> >> 
> >> > On Thu, Jun 08, 2017 at 11:12:10PM +1000, Michael Ellerman wrote:
> >> >> Greg Kroah-Hartman <[email-masked]> writes:
> >> >> 
> >> >> > The dev_attrs field has long been "depreciated" and is finally being
> >> >> > removed, so move the driver to use the "correct" dev_groups field
> >> >> > instead for struct bus_type.
> >> >> >
> >> >> > Cc: Benjamin Herrenschmidt <[email-masked]>
> >> >> > Cc: Paul Mackerras <[email-masked]>
> >> >> > Cc: Michael Ellerman <[email-masked]>
> >> >> > Cc: Vineet Gupta <[email-masked]>
> >> >> > Cc: Bart Van Assche <[email-masked]>
> >> >> > Cc: Robin Murphy <[email-masked]>
> >> >> > Cc: Joerg Roedel <[email-masked]>
> >> >> > Cc: Johan Hovold <[email-masked]>
> >> >> > Cc: Alexey Kardashevskiy <[email-masked]>
> >> >> > Cc: Krzysztof Kozlowski <[email-masked]>
> >> >> > Cc: <[email-masked]>
> >> >> > Signed-off-by: Greg Kroah-Hartman <[email-masked]>
> >> >> > ---
> >> >> >  arch/powerpc/platforms/pseries/vio.c | 37 +++++++++++++++++++++---------------
> >> >> >  1 file changed, 22 insertions(+), 15 deletions(-)
> >> >> 
> >> >> This one needed a bit more work to get building, the incremental diff is
> >> >> below. We need a forward declaration of name, devspec and modalias,
> >> >> which is a bit weird, but that's how the code is currently structured.
> >> >> And there's dev and bus attributes with the same name, so that needed an
> >> >> added "bus".
> >> >> 
> >> >> I booted v2 of patch 10 and this one and everything looks identical to
> >> >> upstream.
> >> >
> >> > Ah, many thanks, this was on my todo list to fix up today.
> >> >
> >> > But you renamed the sysfs files when you added "bus" to the function
> >> > names, are you sure you want to do that?  I don't mind, but if you
> >> > happen to have userspace tools that look at those files, they just broke
> >> > :(
> >> 
> >> Ugh crap, no that won't work.
> >> 
> >> I didn't see it when I tested because my machine doesn't have the CMO
> >> feature enabled.
> >> 
> >> I guess we have to open code some of the BUS_ATTR_RO() etc. so we can
> >> avoid the name clash.
> >
> > Or split it into multiple files, I've solved this that way in the past.
> > You shouldn't have to "open code" BUS_ATTR_RO().
> 
> It just requires one use of __ATTR(), which seems simpler than splitting
> the file in two.
> 
> Here's a new incremental diff against your patch.
> 
> I confirmed none of the cmo names changed, result after is:
> 
> ./devices/vio/cmo_desired
> ./devices/vio/cmo_allocated
> ./devices/vio/cmo_entitled
> ./devices/vio/cmo_allocs_failed
> ./devices/vio/71000000/cmo_desired
> ./devices/vio/71000000/cmo_allocated
> ./devices/vio/71000000/cmo_entitled
> ./devices/vio/71000000/cmo_allocs_failed
> ./devices/vio/30000000/cmo_desired
> ./devices/vio/30000000/cmo_allocated
> ./devices/vio/30000000/cmo_entitled
> ./devices/vio/30000000/cmo_allocs_failed
> ./devices/vio/2000/cmo_desired
> ./devices/vio/2000/cmo_allocated
> ./devices/vio/2000/cmo_entitled
> ./devices/vio/2000/cmo_allocs_failed
> ./bus/vio/cmo_high
> ./bus/vio/cmo_spare
> ./bus/vio/cmo_reserve_size
> ./bus/vio/cmo_desired
> ./bus/vio/cmo_entitled
> ./bus/vio/cmo_excess_free
> ./bus/vio/cmo_excess_size
> ./bus/vio/cmo_min
> ./bus/vio/cmo_curr

Thanks for this, it seems to have passed all of the 0-day testing.  I'll
go apply it to my "real" tree now, thanks again for the help.

greg k-h