diff options
author | Drew Moseley <dmoseley@mvista.com> | 2008-09-27 19:31:35 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2008-10-16 12:24:51 -0400 |
commit | 8a89efd18aa15bb832778baa4e6eee3857ecada4 (patch) | |
tree | 91b4fe321aecd787d995543bc49e894a3c123628 /drivers/pnp/interface.c | |
parent | 3ce24d8d93f8f9617841d0c8416174da7ee1b042 (diff) |
PNP: create device attributes via default device attributes
This creates the attributes before the uevent is sent.
Signed-off-by: Drew Moseley <dmoseley@mvista.com>
Acked-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/pnp/interface.c')
-rw-r--r-- | drivers/pnp/interface.c | 37 |
1 files changed, 8 insertions, 29 deletions
diff --git a/drivers/pnp/interface.c b/drivers/pnp/interface.c index a876ecf7028c..478a4a739c00 100644 --- a/drivers/pnp/interface.c +++ b/drivers/pnp/interface.c | |||
@@ -243,8 +243,6 @@ static ssize_t pnp_show_options(struct device *dmdev, | |||
243 | return ret; | 243 | return ret; |
244 | } | 244 | } |
245 | 245 | ||
246 | static DEVICE_ATTR(options, S_IRUGO, pnp_show_options, NULL); | ||
247 | |||
248 | static ssize_t pnp_show_current_resources(struct device *dmdev, | 246 | static ssize_t pnp_show_current_resources(struct device *dmdev, |
249 | struct device_attribute *attr, | 247 | struct device_attribute *attr, |
250 | char *buf) | 248 | char *buf) |
@@ -420,9 +418,6 @@ done: | |||
420 | return count; | 418 | return count; |
421 | } | 419 | } |
422 | 420 | ||
423 | static DEVICE_ATTR(resources, S_IRUGO | S_IWUSR, | ||
424 | pnp_show_current_resources, pnp_set_current_resources); | ||
425 | |||
426 | static ssize_t pnp_show_current_ids(struct device *dmdev, | 421 | static ssize_t pnp_show_current_ids(struct device *dmdev, |
427 | struct device_attribute *attr, char *buf) | 422 | struct device_attribute *attr, char *buf) |
428 | { | 423 | { |
@@ -437,27 +432,11 @@ static ssize_t pnp_show_current_ids(struct device *dmdev, | |||
437 | return (str - buf); | 432 | return (str - buf); |
438 | } | 433 | } |
439 | 434 | ||
440 | static DEVICE_ATTR(id, S_IRUGO, pnp_show_current_ids, NULL); | 435 | struct device_attribute pnp_interface_attrs[] = { |
441 | 436 | __ATTR(resources, S_IRUGO | S_IWUSR, | |
442 | int pnp_interface_attach_device(struct pnp_dev *dev) | 437 | pnp_show_current_resources, |
443 | { | 438 | pnp_set_current_resources), |
444 | int rc = device_create_file(&dev->dev, &dev_attr_options); | 439 | __ATTR(options, S_IRUGO, pnp_show_options, NULL), |
445 | 440 | __ATTR(id, S_IRUGO, pnp_show_current_ids, NULL), | |
446 | if (rc) | 441 | __ATTR_NULL, |
447 | goto err; | 442 | }; |
448 | rc = device_create_file(&dev->dev, &dev_attr_resources); | ||
449 | if (rc) | ||
450 | goto err_opt; | ||
451 | rc = device_create_file(&dev->dev, &dev_attr_id); | ||
452 | if (rc) | ||
453 | goto err_res; | ||
454 | |||
455 | return 0; | ||
456 | |||
457 | err_res: | ||
458 | device_remove_file(&dev->dev, &dev_attr_resources); | ||
459 | err_opt: | ||
460 | device_remove_file(&dev->dev, &dev_attr_options); | ||
461 | err: | ||
462 | return rc; | ||
463 | } | ||