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

From: Greg Kroah-Hartman
Date: Mon Jun 12 2017 - 03:06:59 EST


On Fri, Jun 09, 2017 at 09:23:10PM +1000, Michael Ellerman wrote:
> Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> writes:
>
> > On Fri, Jun 09, 2017 at 08:53:22AM +1000, Michael Ellerman wrote:
> >> Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> writes:
> >>
> >> > On Thu, Jun 08, 2017 at 11:12:10PM +1000, Michael Ellerman wrote:
> >> >> Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> 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 <benh@xxxxxxxxxxxxxxxxxxx>
> >> >> > Cc: Paul Mackerras <paulus@xxxxxxxxx>
> >> >> > Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
> >> >> > Cc: Vineet Gupta <vgupta@xxxxxxxxxxxx>
> >> >> > Cc: Bart Van Assche <bart.vanassche@xxxxxxxxxxx>
> >> >> > Cc: Robin Murphy <robin.murphy@xxxxxxx>
> >> >> > Cc: Joerg Roedel <jroedel@xxxxxxx>
> >> >> > Cc: Johan Hovold <johan@xxxxxxxxxx>
> >> >> > Cc: Alexey Kardashevskiy <aik@xxxxxxxxx>
> >> >> > Cc: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
> >> >> > Cc: <linuxppc-dev@xxxxxxxxxxxxxxxx>
> >> >> > Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> >> >> > ---
> >> >> > 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