input: gameport: convert bus code to use dev_groups
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 8 Oct 2013 01:27:37 +0000 (18:27 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 20 Oct 2013 03:02:44 +0000 (20:02 -0700)
The dev_attrs field of struct bus_type is going away soon, dev_groups
should be used instead.  This converts the gameport bus code to use the
correct field.

Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: <linux-input@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/input/gameport/gameport.c

index 922a7fea2ce6758f39d5945a74d2953efcc672f5..24c41ba7d4e01dcf852050d3f1d8ef27b5f0a22f 100644 (file)
@@ -422,14 +422,15 @@ static struct gameport *gameport_get_pending_child(struct gameport *parent)
  * Gameport port operations
  */
 
-static ssize_t gameport_show_description(struct device *dev, struct device_attribute *attr, char *buf)
+static ssize_t gameport_description_show(struct device *dev, struct device_attribute *attr, char *buf)
 {
        struct gameport *gameport = to_gameport_port(dev);
 
        return sprintf(buf, "%s\n", gameport->name);
 }
+static DEVICE_ATTR(description, S_IRUGO, gameport_description_show, NULL);
 
-static ssize_t gameport_rebind_driver(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
+static ssize_t drvctl_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
 {
        struct gameport *gameport = to_gameport_port(dev);
        struct device_driver *drv;
@@ -457,12 +458,14 @@ static ssize_t gameport_rebind_driver(struct device *dev, struct device_attribut
 
        return error ? error : count;
 }
+static DEVICE_ATTR_WO(drvctl);
 
-static struct device_attribute gameport_device_attrs[] = {
-       __ATTR(description, S_IRUGO, gameport_show_description, NULL),
-       __ATTR(drvctl, S_IWUSR, NULL, gameport_rebind_driver),
-       __ATTR_NULL
+static struct attribute *gameport_device_attrs[] = {
+       &dev_attr_description.attr,
+       &dev_attr_drvctl.attr,
+       NULL,
 };
+ATTRIBUTE_GROUPS(gameport_device);
 
 static void gameport_release_port(struct device *dev)
 {
@@ -750,7 +753,7 @@ static int gameport_bus_match(struct device *dev, struct device_driver *drv)
 
 static struct bus_type gameport_bus = {
        .name           = "gameport",
-       .dev_attrs      = gameport_device_attrs,
+       .dev_groups     = gameport_device_groups,
        .drv_groups     = gameport_driver_groups,
        .match          = gameport_bus_match,
        .probe          = gameport_driver_probe,