mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Michael Ellerman <mpe@ellerman.id.au>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-kernel@vger.kernel.org,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Paul Mackerras <paulus@samba.org>,
	Vineet Gupta <vgupta@synopsys.com>,
	Bart Van Assche <bart.vanassche@sandisk.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Joerg Roedel <jroedel@suse.de>, Johan Hovold <johan@kernel.org>,
	Alexey Kardashevskiy <aik@ozlabs.ru>,
	Krzysztof Kozlowski <krzk@kernel.org>,
	linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH 11/16] powerpc: vio_cmo: use dev_groups and not dev_attrs for bus_type
Date: Fri, 09 Jun 2017 21:23:10 +1000	[thread overview]
Message-ID: <87a85hiew1.fsf@concordia.ellerman.id.au> (raw)
In-Reply-To: <20170609054402.GA12563@kroah.com>

Greg Kroah-Hartman <gregkh@linuxfoundation.org> writes:

> On Fri, Jun 09, 2017 at 08:53:22AM +1000, Michael Ellerman wrote:
>> Greg Kroah-Hartman <gregkh@linuxfoundation.org> writes:
>> 
>> > On Thu, Jun 08, 2017 at 11:12:10PM +1000, Michael Ellerman wrote:
>> >> Greg Kroah-Hartman <gregkh@linuxfoundation.org> 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@kernel.crashing.org>
>> >> > Cc: Paul Mackerras <paulus@samba.org>
>> >> > Cc: Michael Ellerman <mpe@ellerman.id.au>
>> >> > Cc: Vineet Gupta <vgupta@synopsys.com>
>> >> > Cc: Bart Van Assche <bart.vanassche@sandisk.com>
>> >> > Cc: Robin Murphy <robin.murphy@arm.com>
>> >> > Cc: Joerg Roedel <jroedel@suse.de>
>> >> > Cc: Johan Hovold <johan@kernel.org>
>> >> > Cc: Alexey Kardashevskiy <aik@ozlabs.ru>
>> >> > Cc: Krzysztof Kozlowski <krzk@kernel.org>
>> >> > Cc: <linuxppc-dev@lists.ozlabs.org>
>> >> > Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>> >> > ---
>> >> >  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


cheers


diff --git a/arch/powerpc/platforms/pseries/vio.c b/arch/powerpc/platforms/pseries/vio.c
index 738196fd7e57..117beb9e8786 100644
--- a/arch/powerpc/platforms/pseries/vio.c
+++ b/arch/powerpc/platforms/pseries/vio.c
@@ -955,7 +955,7 @@ static ssize_t cmo_##name##_show(struct device *dev,                    \
 	return sprintf(buf, "%lu\n", to_vio_dev(dev)->cmo.name);        \
 }
 
-static ssize_t viodev_cmo_allocs_failed_show(struct device *dev,
+static ssize_t cmo_allocs_failed_show(struct device *dev,
 		struct device_attribute *attr, char *buf)
 {
 	struct vio_dev *viodev = to_vio_dev(dev);
@@ -993,9 +993,11 @@ static ssize_t name_show(struct device *, struct device_attribute *, char *);
 static ssize_t devspec_show(struct device *, struct device_attribute *, char *);
 static ssize_t modalias_show(struct device *dev, struct device_attribute *attr,
 			     char *buf);
-static DEVICE_ATTR_RO(name);
-static DEVICE_ATTR_RO(devspec);
-static DEVICE_ATTR_RO(modalias);
+
+static struct device_attribute dev_attr_name;
+static struct device_attribute dev_attr_devspec;
+static struct device_attribute dev_attr_modalias;
+
 static DEVICE_ATTR_RO(cmo_entitled);
 static DEVICE_ATTR_RO(cmo_allocated);
 static DEVICE_ATTR_RW(cmo_desired);
@@ -1016,11 +1018,12 @@ ATTRIBUTE_GROUPS(vio_cmo_dev);
 /* sysfs bus functions and data structures for CMO */
 
 #define viobus_cmo_rd_attr(name)                                        \
-static ssize_t cmo_##name##_show(struct bus_type *bt, char *buf)        \
+static ssize_t cmo_bus_##name##_show(struct bus_type *bt, char *buf)    \
 {                                                                       \
 	return sprintf(buf, "%lu\n", vio_cmo.name);                     \
 }                                                                       \
-static BUS_ATTR_RO(cmo_##name)
+static struct bus_attribute bus_attr_cmo_bus_##name =			\
+	__ATTR(cmo_##name, S_IRUGO, cmo_bus_##name##_show, NULL)
 
 #define viobus_cmo_pool_rd_attr(name, var)                              \
 static ssize_t                                                          \
@@ -1058,11 +1061,11 @@ static ssize_t cmo_high_store(struct bus_type *bt, const char *buf,
 static BUS_ATTR_RW(cmo_high);
 
 static struct attribute *vio_bus_attrs[] = {
-	&bus_attr_cmo_entitled.attr,
-	&bus_attr_cmo_spare.attr,
-	&bus_attr_cmo_min.attr,
-	&bus_attr_cmo_desired.attr,
-	&bus_attr_cmo_curr.attr,
+	&bus_attr_cmo_bus_entitled.attr,
+	&bus_attr_cmo_bus_spare.attr,
+	&bus_attr_cmo_bus_min.attr,
+	&bus_attr_cmo_bus_desired.attr,
+	&bus_attr_cmo_bus_curr.attr,
 	&bus_attr_cmo_high.attr,
 	&bus_attr_cmo_reserve_size.attr,
 	&bus_attr_cmo_excess_size.attr,

  reply	other threads:[~2017-06-09 11:23 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-06 19:22 [PATCH 00/16] Driver core: remove bus_type.dev_attrs Greg Kroah-Hartman
2017-06-06 19:22 ` [PATCH 01/16] arm: ecard: use dev_groups and not dev_attrs for bus_type Greg Kroah-Hartman
2017-06-06 19:22 ` [PATCH 02/16] mips: sgi-ip22: " Greg Kroah-Hartman
2017-06-06 19:22 ` [PATCH 03/16] parisc: parisc_bus_type: " Greg Kroah-Hartman
2017-06-06 19:22 ` [PATCH 04/16] amba: " Greg Kroah-Hartman
2017-06-06 19:22 ` [PATCH 05/16] rpmsg: " Greg Kroah-Hartman
2017-06-06 19:33   ` Bjorn Andersson
2017-06-06 19:22 ` [PATCH 06/16] sh: superhyway: " Greg Kroah-Hartman
2017-06-06 19:22 ` [PATCH 07/16] macintosh: " Greg Kroah-Hartman
2017-06-06 19:22 ` [PATCH 08/16] powerpc: ps3: " Greg Kroah-Hartman
2017-06-06 21:33   ` Geoff Levand
2017-06-07 10:17   ` Greg Kroah-Hartman
2017-06-06 19:22 ` [PATCH 09/16] powerpc: ibmebus: " Greg Kroah-Hartman
2017-06-06 19:22 ` [PATCH 10/16] powerpc: vio: " Greg Kroah-Hartman
2017-06-06 19:30   ` Greg Kroah-Hartman
2017-06-06 23:04     ` Benjamin Herrenschmidt
2017-06-07  5:45       ` Greg Kroah-Hartman
2017-06-07  5:56         ` Benjamin Herrenschmidt
2017-06-07  8:58     ` [PATCH 10/16 v2] " Greg Kroah-Hartman
2017-06-06 19:22 ` [PATCH 11/16] powerpc: vio_cmo: " Greg Kroah-Hartman
2017-06-08 13:12   ` Michael Ellerman
2017-06-08 13:39     ` Greg Kroah-Hartman
2017-06-08 22:53       ` Michael Ellerman
2017-06-09  5:44         ` Greg Kroah-Hartman
2017-06-09 11:23           ` Michael Ellerman [this message]
2017-06-10 12:48             ` Greg Kroah-Hartman
2017-06-12  6:58             ` Greg Kroah-Hartman
2017-06-13 10:09               ` Michael Ellerman
2017-06-06 19:22 ` [PATCH 12/16] hwtracing: intel_th: " Greg Kroah-Hartman
2017-06-06 19:22 ` [PATCH 13/16] hid: intel-ish-hid: " Greg Kroah-Hartman
2017-06-06 22:33   ` Srinivas Pandruvada
2017-06-07 13:40   ` Jiri Kosina
2017-06-06 19:22 ` [PATCH 14/16] sparc: vio: " Greg Kroah-Hartman
2017-06-06 19:36   ` David Miller
2017-06-06 19:22 ` [PATCH 15/16] tty: serdev: " Greg Kroah-Hartman
2017-06-09 23:56   ` Stephen Rothwell
2017-06-10  0:01     ` Stephen Rothwell
2017-06-10 11:58       ` Greg Kroah-Hartman
2017-06-06 19:22 ` [PATCH 16/16] driver-core: remove struct bus_type.dev_attrs Greg Kroah-Hartman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87a85hiew1.fsf@concordia.ellerman.id.au \
    --to=mpe@ellerman.id.au \
    --cc=aik@ozlabs.ru \
    --cc=bart.vanassche@sandisk.com \
    --cc=benh@kernel.crashing.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=johan@kernel.org \
    --cc=jroedel@suse.de \
    --cc=krzk@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=paulus@samba.org \
    --cc=robin.murphy@arm.com \
    --cc=vgupta@synopsys.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome