How to Create a sysfs File Correctly

1 · Greg Kroah-Hartman · June 26, 2013, midnight
One common Linux kernel driver issue that I see all the time is a driver author attempting to create a sysfs file in their code by doing something like: int my_driver_probe(...) { ... retval = device_create_file(my_device, &my_first_attribute); if (retval) goto error1; retval = device_create_file(my_device, &my_second_attribute); if (retval) goto error2; ... return 0; error2: device_remove_file(my_device, &my_first_attribute); error1: /* Clean up other things and return an error */ ... return -E...