\
        size = sprintf(line, __format, value);                  \
                                                                \
-       if (copy_to_user(buf, line, size))                      \
-               return -EFAULT;                                 \
-                                                               \
-       *offset += size;                                        \
-       return size;                                            \
+       return simple_read_from_buffer(buf, length, offset, line, size); \
 }
 
 #define RT2X00DEBUGFS_OPS_WRITE(__name, __type)                        \
 
        size = sprintf(line, "0x%.8x\n", (unsigned int)intf->rt2x00dev->flags);
 
-       if (copy_to_user(buf, line, size))
-               return -EFAULT;
-
-       *offset += size;
-       return size;
+       return simple_read_from_buffer(buf, length, offset, line, size);
 }
 
 static const struct file_operations rt2x00debug_fop_dev_flags = {
 
        size = sprintf(line, "0x%.8x\n", (unsigned int)intf->rt2x00dev->cap_flags);
 
-       if (copy_to_user(buf, line, size))
-               return -EFAULT;
-
-       *offset += size;
-       return size;
+       return simple_read_from_buffer(buf, length, offset, line, size);
 }
 
 static const struct file_operations rt2x00debug_fop_cap_flags = {