On Tuesday, May 08, 2012 7:17 PM, H Hartley Sweeten wrote: > > Refactor the sysfs attributes and functions to remove > the need for the forward declarations and use the > DEVICE_ATTR macro to define them. > > Instead of individually creating sysfs device attribute > files, wrap them in an attribute_group and use the > sysfs_create_group function to create them. > > Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> > Cc: Ian Abbott <abbotti@xxxxxxxxx> > Cc: Mori Hess <fmhess@xxxxxxxxxxxxxxxxxxxxx> > Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > > --- Oops... spotted a copy-paste error after I posted this. <snip> > @@ -2367,42 +2620,15 @@ int comedi_alloc_subdevice_minor(struct comedi_device *dev, > if (!IS_ERR(csdev)) > s->class_dev = csdev; > dev_set_drvdata(csdev, info); > - retval = device_create_file(csdev, &dev_attr_max_read_buffer_kb); > + > + retval = sysfs_create_group(&csdev->kobj, &comedi_sysfs_files); > if (retval) { > printk(KERN_ERR > - "comedi: " > - "failed to create sysfs attribute file \"%s\".\n", > - dev_attr_max_read_buffer_kb.attr.name); > - comedi_free_subdevice_minor(s); > - return retval; > - } > - retval = device_create_file(csdev, &dev_attr_read_buffer_kb); > - if (retval) { > - printk(KERN_ERR > - "comedi: " > - "failed to create sysfs attribute file \"%s\".\n", > - dev_attr_read_buffer_kb.attr.name); > - comedi_free_subdevice_minor(s); > - return retval; > - } > - retval = device_create_file(csdev, &dev_attr_max_write_buffer_kb); > - if (retval) { > - printk(KERN_ERR > - "comedi: " > - "failed to create sysfs attribute file \"%s\".\n", > - dev_attr_max_write_buffer_kb.attr.name); > - comedi_free_subdevice_minor(s); > - return retval; > - } > - retval = device_create_file(csdev, &dev_attr_write_buffer_kb); > - if (retval) { > - printk(KERN_ERR > - "comedi: " > - "failed to create sysfs attribute file \"%s\".\n", > - dev_attr_write_buffer_kb.attr.name); > - comedi_free_subdevice_minor(s); > + "comedi: failed to create sysfs attribute files\n"); > + comedi_free_board_minor(i); This should still be: comedi_free_subdevice_minor(s); I'll fix it and re-post. > return retval; > } > + > return i; > } Regards, Hartley _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel