From: Karsten Keil <kkeil@linux-pingi.de>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-kernel@vger.kernel.org, Karsten Keil <isdn@linux-pingi.de>
Subject: Re: [PATCH 09/36] ISDN: convert class code to use dev_groups
Date: Fri, 26 Jul 2013 11:38:01 +0200 [thread overview]
Message-ID: <51F24379.6020708@linux-pingi.de> (raw)
In-Reply-To: <1374703539-9705-10-git-send-email-gregkh@linuxfoundation.org>
Am 25.07.2013 00:05, schrieb Greg Kroah-Hartman:
> The dev_attrs field of struct class is going away soon, dev_groups
> should be used instead. This converts the mISDN class code to use the
> correct field.
>
> Cc: Karsten Keil <isdn@linux-pingi.de>
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-by: Karsten Keil <isdn@linux-pingi.de>
> ---
>
> Karsten, feel free to apply this to your tree, or ACK it and I can take it
> through mine.
>
> drivers/isdn/mISDN/core.c | 64 ++++++++++++++++++++++++++---------------------
> 1 file changed, 36 insertions(+), 28 deletions(-)
>
> diff --git a/drivers/isdn/mISDN/core.c b/drivers/isdn/mISDN/core.c
> index da30c5cb..faf50546 100644
> --- a/drivers/isdn/mISDN/core.c
> +++ b/drivers/isdn/mISDN/core.c
> @@ -37,8 +37,8 @@ static void mISDN_dev_release(struct device *dev)
> /* nothing to do: the device is part of its parent's data structure */
> }
>
> -static ssize_t _show_id(struct device *dev,
> - struct device_attribute *attr, char *buf)
> +static ssize_t id_show(struct device *dev,
> + struct device_attribute *attr, char *buf)
> {
> struct mISDNdevice *mdev = dev_to_mISDN(dev);
>
> @@ -46,9 +46,10 @@ static ssize_t _show_id(struct device *dev,
> return -ENODEV;
> return sprintf(buf, "%d\n", mdev->id);
> }
> +static DEVICE_ATTR_RO(id);
>
> -static ssize_t _show_nrbchan(struct device *dev,
> - struct device_attribute *attr, char *buf)
> +static ssize_t nrbchan_show(struct device *dev,
> + struct device_attribute *attr, char *buf)
> {
> struct mISDNdevice *mdev = dev_to_mISDN(dev);
>
> @@ -56,9 +57,10 @@ static ssize_t _show_nrbchan(struct device *dev,
> return -ENODEV;
> return sprintf(buf, "%d\n", mdev->nrbchan);
> }
> +static DEVICE_ATTR_RO(nrbchan);
>
> -static ssize_t _show_d_protocols(struct device *dev,
> - struct device_attribute *attr, char *buf)
> +static ssize_t d_protocols_show(struct device *dev,
> + struct device_attribute *attr, char *buf)
> {
> struct mISDNdevice *mdev = dev_to_mISDN(dev);
>
> @@ -66,9 +68,10 @@ static ssize_t _show_d_protocols(struct device *dev,
> return -ENODEV;
> return sprintf(buf, "%d\n", mdev->Dprotocols);
> }
> +static DEVICE_ATTR_RO(d_protocols);
>
> -static ssize_t _show_b_protocols(struct device *dev,
> - struct device_attribute *attr, char *buf)
> +static ssize_t b_protocols_show(struct device *dev,
> + struct device_attribute *attr, char *buf)
> {
> struct mISDNdevice *mdev = dev_to_mISDN(dev);
>
> @@ -76,9 +79,10 @@ static ssize_t _show_b_protocols(struct device *dev,
> return -ENODEV;
> return sprintf(buf, "%d\n", mdev->Bprotocols | get_all_Bprotocols());
> }
> +static DEVICE_ATTR_RO(b_protocols);
>
> -static ssize_t _show_protocol(struct device *dev,
> - struct device_attribute *attr, char *buf)
> +static ssize_t protocol_show(struct device *dev,
> + struct device_attribute *attr, char *buf)
> {
> struct mISDNdevice *mdev = dev_to_mISDN(dev);
>
> @@ -86,17 +90,19 @@ static ssize_t _show_protocol(struct device *dev,
> return -ENODEV;
> return sprintf(buf, "%d\n", mdev->D.protocol);
> }
> +static DEVICE_ATTR_RO(protocol);
>
> -static ssize_t _show_name(struct device *dev,
> - struct device_attribute *attr, char *buf)
> +static ssize_t name_show(struct device *dev,
> + struct device_attribute *attr, char *buf)
> {
> strcpy(buf, dev_name(dev));
> return strlen(buf);
> }
> +static DEVICE_ATTR_RO(name);
>
> #if 0 /* hangs */
> -static ssize_t _set_name(struct device *dev, struct device_attribute *attr,
> - const char *buf, size_t count)
> +static ssize_t name_set(struct device *dev, struct device_attribute *attr,
> + const char *buf, size_t count)
> {
> int err = 0;
> char *out = kmalloc(count + 1, GFP_KERNEL);
> @@ -113,10 +119,11 @@ static ssize_t _set_name(struct device *dev, struct device_attribute *attr,
>
> return (err < 0) ? err : count;
> }
> +static DEVICE_ATTR_RW(name);
> #endif
>
> -static ssize_t _show_channelmap(struct device *dev,
> - struct device_attribute *attr, char *buf)
> +static ssize_t channelmap_show(struct device *dev,
> + struct device_attribute *attr, char *buf)
> {
> struct mISDNdevice *mdev = dev_to_mISDN(dev);
> char *bp = buf;
> @@ -127,18 +134,19 @@ static ssize_t _show_channelmap(struct device *dev,
>
> return bp - buf;
> }
> -
> -static struct device_attribute mISDN_dev_attrs[] = {
> - __ATTR(id, S_IRUGO, _show_id, NULL),
> - __ATTR(d_protocols, S_IRUGO, _show_d_protocols, NULL),
> - __ATTR(b_protocols, S_IRUGO, _show_b_protocols, NULL),
> - __ATTR(protocol, S_IRUGO, _show_protocol, NULL),
> - __ATTR(channelmap, S_IRUGO, _show_channelmap, NULL),
> - __ATTR(nrbchan, S_IRUGO, _show_nrbchan, NULL),
> - __ATTR(name, S_IRUGO, _show_name, NULL),
> -/* __ATTR(name, S_IRUGO | S_IWUSR, _show_name, _set_name), */
> - {}
> +static DEVICE_ATTR_RO(channelmap);
> +
> +static struct attribute *mISDN_attrs[] = {
> + &dev_attr_id.attr,
> + &dev_attr_d_protocols.attr,
> + &dev_attr_b_protocols.attr,
> + &dev_attr_protocol.attr,
> + &dev_attr_channelmap.attr,
> + &dev_attr_nrbchan.attr,
> + &dev_attr_name.attr,
> + NULL,
> };
> +ATTRIBUTE_GROUPS(mISDN);
>
> static int mISDN_uevent(struct device *dev, struct kobj_uevent_env *env)
> {
> @@ -162,7 +170,7 @@ static struct class mISDN_class = {
> .name = "mISDN",
> .owner = THIS_MODULE,
> .dev_uevent = mISDN_uevent,
> - .dev_attrs = mISDN_dev_attrs,
> + .dev_groups = mISDN_groups,
> .dev_release = mISDN_dev_release,
> .class_release = mISDN_class_release,
> };
>
next prev parent reply other threads:[~2013-07-26 9:38 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-24 22:05 [PATCH 00/36] remove dev_attrs usage in 'struct class' Greg Kroah-Hartman
2013-07-24 22:05 ` [PATCH 01/36] misc: c2port: use dev_bin_attrs instead of hand-coding it Greg Kroah-Hartman
2013-07-24 22:05 ` [PATCH 02/36] mips: convert vpe_class to use dev_groups Greg Kroah-Hartman
2013-07-24 22:05 ` [PATCH 03/36] bsr: convert bsr_class " Greg Kroah-Hartman
2013-07-24 22:05 ` [PATCH 04/36] tile: srom: convert srom_class " Greg Kroah-Hartman
2013-07-25 21:11 ` Chris Metcalf
2013-07-25 21:18 ` Greg Kroah-Hartman
2013-07-24 22:05 ` [PATCH 05/36] dma: convert dma_devclass " Greg Kroah-Hartman
2013-07-25 8:40 ` Vinod Koul
2013-07-24 22:05 ` [PATCH 06/36] devfreq: convert devfreq_class " Greg Kroah-Hartman
2013-07-24 22:05 ` [PATCH 07/36] extcon: convert extcon_class " Greg Kroah-Hartman
2013-07-24 23:53 ` Chanwoo Choi
2013-07-24 22:05 ` [PATCH 08/36] HID: roccat: convert class code " Greg Kroah-Hartman
2013-07-24 22:05 ` [PATCH 09/36] ISDN: " Greg Kroah-Hartman
2013-07-26 9:38 ` Karsten Keil [this message]
2013-07-24 22:05 ` [PATCH 10/36] leds: " Greg Kroah-Hartman
2013-07-26 19:18 ` Bryan Wu
2013-07-24 22:05 ` [PATCH 11/36] v4l2: " Greg Kroah-Hartman
2013-07-24 22:05 ` [PATCH 12/36] c2port: " Greg Kroah-Hartman
2013-07-24 22:05 ` [PATCH 13/36] enclosure: " Greg Kroah-Hartman
2013-07-24 22:05 ` [PATCH 14/36] PCI: " Greg Kroah-Hartman
2013-07-25 18:09 ` Bjorn Helgaas
2013-07-24 22:05 ` [PATCH 15/36] x86: wmi: " Greg Kroah-Hartman
2013-07-24 22:05 ` [PATCH 16/36] PPS: " Greg Kroah-Hartman
2013-07-24 22:05 ` [PATCH 17/36] PTP: " Greg Kroah-Hartman
2013-07-26 9:19 ` Richard Cochran
2013-07-24 22:05 ` [PATCH 18/36] regulator: " Greg Kroah-Hartman
2013-07-25 9:30 ` Mark Brown
2013-07-24 22:05 ` [PATCH 19/36] rtc: " Greg Kroah-Hartman
2013-07-28 13:23 ` Alessandro Zummo
2013-07-24 22:05 ` [PATCH 20/36] UIO: " Greg Kroah-Hartman
2013-07-24 22:05 ` [PATCH 21/36] cuse: " Greg Kroah-Hartman
2013-07-26 10:11 ` Miklos Szeredi
2013-07-24 22:05 ` [PATCH 22/36] staging: comedi: " Greg Kroah-Hartman
2013-07-24 22:11 ` H Hartley Sweeten
2013-07-24 22:26 ` Greg Kroah-Hartman
2013-07-24 22:05 ` [PATCH 23/36] backing-dev: " Greg Kroah-Hartman
2013-07-24 22:05 ` [PATCH 24/36] SCSI: OSD: " Greg Kroah-Hartman
2013-07-25 8:38 ` Boaz Harrosh
2013-07-24 22:05 ` [PATCH 25/36] SCSI: sd: " Greg Kroah-Hartman
2013-07-30 16:11 ` James Bottomley
2013-07-30 19:01 ` Greg Kroah-Hartman
2013-07-30 19:22 ` James Bottomley
2013-07-24 22:05 ` [PATCH 26/36] SCSI: st: " Greg Kroah-Hartman
2013-07-30 18:27 ` James Bottomley
2013-07-31 6:03 ` Kai Mäkisara
2013-07-24 22:05 ` [PATCH 27/36] video: backlight: " Greg Kroah-Hartman
2013-07-25 1:51 ` Jingoo Han
2013-07-24 22:05 ` [PATCH 28/36] video: backlight: lcd: " Greg Kroah-Hartman
2013-07-25 1:51 ` Jingoo Han
2013-07-24 22:05 ` [PATCH 29/36] video: output: " Greg Kroah-Hartman
2013-07-26 7:38 ` Tomi Valkeinen
2013-07-24 22:05 ` [PATCH 30/36] net: core: " Greg Kroah-Hartman
2013-07-26 22:40 ` David Miller
2013-07-24 22:05 ` [PATCH 31/36] net: ieee802154: " Greg Kroah-Hartman
2013-07-26 22:40 ` David Miller
2013-07-24 22:05 ` [PATCH 32/36] net: wireless: " Greg Kroah-Hartman
2013-07-25 7:50 ` Johannes Berg
2013-07-24 22:05 ` [PATCH 33/36] net: rfkill: " Greg Kroah-Hartman
2013-07-25 7:52 ` Johannes Berg
2013-07-24 22:05 ` [PATCH 34/36] c2port: convert class code to use bin_attrs in groups Greg Kroah-Hartman
2013-07-24 22:05 ` [PATCH 35/36] hid: roccat: " Greg Kroah-Hartman
2013-07-24 22:05 ` [PATCH 36/36] pwm: convert class code to use dev_groups Greg Kroah-Hartman
2013-07-29 11:40 ` Thierry Reding
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=51F24379.6020708@linux-pingi.de \
--to=kkeil@linux-pingi.de \
--cc=gregkh@linuxfoundation.org \
--cc=isdn@linux-pingi.de \
--cc=linux-kernel@vger.kernel.org \
/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;
as well as URLs for NNTP newsgroup(s).