Skip to content

Commit

Permalink
WMI: make use of class device's attributres
Browse files Browse the repository at this point in the history
Instead of adding modalias attribute manually set it up as class's
device attribute so driver core will create and remove it for us.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
  • Loading branch information
Dmitry Torokhov authored and Matthew Garrett committed Oct 21, 2010
1 parent 8e07514 commit 614ef43
Showing 1 changed file with 7 additions and 8 deletions.
15 changes: 7 additions & 8 deletions drivers/platform/x86/wmi.c
Original file line number Diff line number Diff line change
Expand Up @@ -649,7 +649,7 @@ EXPORT_SYMBOL_GPL(wmi_has_guid);
/*
* sysfs interface
*/
static ssize_t show_modalias(struct device *dev, struct device_attribute *attr,
static ssize_t modalias_show(struct device *dev, struct device_attribute *attr,
char *buf)
{
char guid_string[37];
Expand All @@ -663,7 +663,11 @@ static ssize_t show_modalias(struct device *dev, struct device_attribute *attr,

return sprintf(buf, "wmi:%s\n", guid_string);
}
static DEVICE_ATTR(modalias, S_IRUGO, show_modalias, NULL);

static struct device_attribute wmi_dev_attrs[] = {
__ATTR_RO(modalias),
__ATTR_NULL
};

static int wmi_dev_uevent(struct device *dev, struct kobj_uevent_env *env)
{
Expand Down Expand Up @@ -696,6 +700,7 @@ static struct class wmi_class = {
.name = "wmi",
.dev_release = wmi_dev_free,
.dev_uevent = wmi_dev_uevent,
.dev_attrs = wmi_dev_attrs,
};

static int wmi_create_devs(void)
Expand Down Expand Up @@ -728,10 +733,6 @@ static int wmi_create_devs(void)
result = device_register(guid_dev);
if (result)
return result;

result = device_create_file(guid_dev, &dev_attr_modalias);
if (result)
return result;
}

return 0;
Expand All @@ -751,8 +752,6 @@ static void wmi_remove_devs(void)
guid_dev = wblock->dev;
gblock = &wblock->gblock;

device_remove_file(guid_dev, &dev_attr_modalias);

device_unregister(guid_dev);
}
}
Expand Down

0 comments on commit 614ef43

Please sign in to comment.