X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fbase%2Fclass_simple.c;h=27699eb20a372a1b18f32bef6843874b97d4d01e;hb=97bf2856c6014879bd04983a3e9dfcdac1e7fe85;hp=682e73bd3f498eb0f705f51a265477ce0eb2081f;hpb=6a77f38946aaee1cd85eeec6cf4229b204c15071;p=linux-2.6.git diff --git a/drivers/base/class_simple.c b/drivers/base/class_simple.c index 682e73bd3..27699eb20 100644 --- a/drivers/base/class_simple.c +++ b/drivers/base/class_simple.c @@ -10,18 +10,15 @@ #include #include -#include #include struct class_simple { - struct class_device_attribute attr; struct class class; }; #define to_class_simple(d) container_of(d, struct class_simple, class) struct simple_dev { struct list_head node; - dev_t dev; struct class_device class_dev; }; #define to_simple_dev(d) container_of(d, struct simple_dev, class_dev) @@ -35,12 +32,6 @@ static void release_simple_dev(struct class_device *class_dev) kfree(s_dev); } -static ssize_t show_dev(struct class_device *class_dev, char *buf) -{ - struct simple_dev *s_dev = to_simple_dev(class_dev); - return print_dev_t(buf, s_dev->dev); -} - static void class_simple_release(struct class *class) { struct class_simple *cs = to_class_simple(class); @@ -75,12 +66,6 @@ struct class_simple *class_simple_create(struct module *owner, char *name) cs->class.class_release = class_simple_release; cs->class.release = release_simple_dev; - cs->attr.attr.name = "dev"; - cs->attr.attr.mode = S_IRUGO; - cs->attr.attr.owner = owner; - cs->attr.show = show_dev; - cs->attr.store = NULL; - retval = class_register(&cs->class); if (retval) goto error; @@ -143,7 +128,7 @@ struct class_device *class_simple_device_add(struct class_simple *cs, dev_t dev, } memset(s_dev, 0x00, sizeof(*s_dev)); - s_dev->dev = dev; + s_dev->class_dev.devt = dev; s_dev->class_dev.dev = device; s_dev->class_dev.class = &cs->class; @@ -154,8 +139,6 @@ struct class_device *class_simple_device_add(struct class_simple *cs, dev_t dev, if (retval) goto error; - class_device_create_file(&s_dev->class_dev, &cs->attr); - spin_lock(&simple_dev_list_lock); list_add(&s_dev->node, &simple_dev_list); spin_unlock(&simple_dev_list_lock); @@ -200,7 +183,7 @@ void class_simple_device_remove(dev_t dev) spin_lock(&simple_dev_list_lock); list_for_each_entry(s_dev, &simple_dev_list, node) { - if (s_dev->dev == dev) { + if (s_dev->class_dev.devt == dev) { found = 1; break; }