linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Rodolfo Giometti <giometti@enneenne.com>
Subject: [PATCH 16/36] PPS: convert class code to use dev_groups
Date: Wed, 24 Jul 2013 15:05:19 -0700	[thread overview]
Message-ID: <1374703539-9705-17-git-send-email-gregkh@linuxfoundation.org> (raw)
In-Reply-To: <1374703539-9705-1-git-send-email-gregkh@linuxfoundation.org>

The dev_attrs field of struct class is going away soon, dev_groups
should be used instead.  This converts the pps class code to use the
correct field.

Cc: Rodolfo Giometti <giometti@enneenne.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---

Rodolfo, feel free to take this through your tree, or ACK it and I can take it
through mine.

 drivers/pps/pps.c          |  2 +-
 drivers/pps/sysfs.c        | 55 +++++++++++++++++++++++++++++-----------------
 include/linux/pps_kernel.h |  2 +-
 3 files changed, 37 insertions(+), 22 deletions(-)

diff --git a/drivers/pps/pps.c b/drivers/pps/pps.c
index 7173e3ad..2f07cd61 100644
--- a/drivers/pps/pps.c
+++ b/drivers/pps/pps.c
@@ -406,7 +406,7 @@ static int __init pps_init(void)
 		pr_err("failed to allocate class\n");
 		return PTR_ERR(pps_class);
 	}
-	pps_class->dev_attrs = pps_attrs;
+	pps_class->dev_groups = pps_groups;
 
 	err = alloc_chrdev_region(&pps_devt, 0, PPS_MAX_SOURCES, "pps");
 	if (err < 0) {
diff --git a/drivers/pps/sysfs.c b/drivers/pps/sysfs.c
index ef0978c7..aefb75d6 100644
--- a/drivers/pps/sysfs.c
+++ b/drivers/pps/sysfs.c
@@ -29,8 +29,8 @@
  * Attribute functions
  */
 
-static ssize_t pps_show_assert(struct device *dev,
-				struct device_attribute *attr, char *buf)
+static ssize_t assert_show(struct device *dev, struct device_attribute *attr,
+			   char *buf)
 {
 	struct pps_device *pps = dev_get_drvdata(dev);
 
@@ -41,9 +41,10 @@ static ssize_t pps_show_assert(struct device *dev,
 			(long long) pps->assert_tu.sec, pps->assert_tu.nsec,
 			pps->assert_sequence);
 }
+static DEVICE_ATTR_RO(assert);
 
-static ssize_t pps_show_clear(struct device *dev,
-				struct device_attribute *attr, char *buf)
+static ssize_t clear_show(struct device *dev, struct device_attribute *attr,
+			  char *buf)
 {
 	struct pps_device *pps = dev_get_drvdata(dev);
 
@@ -54,45 +55,59 @@ static ssize_t pps_show_clear(struct device *dev,
 			(long long) pps->clear_tu.sec, pps->clear_tu.nsec,
 			pps->clear_sequence);
 }
+static DEVICE_ATTR_RO(clear);
 
-static ssize_t pps_show_mode(struct device *dev,
-				struct device_attribute *attr, char *buf)
+static ssize_t mode_show(struct device *dev, struct device_attribute *attr,
+			 char *buf)
 {
 	struct pps_device *pps = dev_get_drvdata(dev);
 
 	return sprintf(buf, "%4x\n", pps->info.mode);
 }
+static DEVICE_ATTR_RO(mode);
 
-static ssize_t pps_show_echo(struct device *dev,
-				struct device_attribute *attr, char *buf)
+static ssize_t echo_show(struct device *dev, struct device_attribute *attr,
+			 char *buf)
 {
 	struct pps_device *pps = dev_get_drvdata(dev);
 
 	return sprintf(buf, "%d\n", !!pps->info.echo);
 }
+static DEVICE_ATTR_RO(echo);
 
-static ssize_t pps_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)
 {
 	struct pps_device *pps = dev_get_drvdata(dev);
 
 	return sprintf(buf, "%s\n", pps->info.name);
 }
+static DEVICE_ATTR_RO(name);
 
-static ssize_t pps_show_path(struct device *dev,
-				struct device_attribute *attr, char *buf)
+static ssize_t path_show(struct device *dev, struct device_attribute *attr,
+			 char *buf)
 {
 	struct pps_device *pps = dev_get_drvdata(dev);
 
 	return sprintf(buf, "%s\n", pps->info.path);
 }
+static DEVICE_ATTR_RO(path);
+
+static struct attribute *pps_attrs[] = {
+	&dev_attr_assert.attr,
+	&dev_attr_clear.attr,
+	&dev_attr_mode.attr,
+	&dev_attr_echo.attr,
+	&dev_attr_name.attr,
+	&dev_attr_path.attr,
+	NULL,
+};
+
+static const struct attribute_group pps_group = {
+	.attrs = pps_attrs,
+};
 
-struct device_attribute pps_attrs[] = {
-	__ATTR(assert, S_IRUGO, pps_show_assert, NULL),
-	__ATTR(clear, S_IRUGO, pps_show_clear, NULL),
-	__ATTR(mode, S_IRUGO, pps_show_mode, NULL),
-	__ATTR(echo, S_IRUGO, pps_show_echo, NULL),
-	__ATTR(name, S_IRUGO, pps_show_name, NULL),
-	__ATTR(path, S_IRUGO, pps_show_path, NULL),
-	__ATTR_NULL,
+const struct attribute_group *pps_groups[] = {
+	&pps_group,
+	NULL,
 };
diff --git a/include/linux/pps_kernel.h b/include/linux/pps_kernel.h
index 7db3eb93..1d2cd212 100644
--- a/include/linux/pps_kernel.h
+++ b/include/linux/pps_kernel.h
@@ -80,7 +80,7 @@ struct pps_device {
  * Global variables
  */
 
-extern struct device_attribute pps_attrs[];
+extern const struct attribute_group *pps_groups[];
 
 /*
  * Internal functions.
-- 
1.8.3.rc0.20.gb99dd2e


  parent reply	other threads:[~2013-07-24 22:06 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
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 ` Greg Kroah-Hartman [this message]
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=1374703539-9705-17-git-send-email-gregkh@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=giometti@enneenne.com \
    --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).