static int usbrh_proc_heater_write(struct file *file, __user const char *buffer, unsigned long count, void *dat) { struct usbrh *dev; dev = (struct usbrh *)dat; dev->heater = (buffer[0] - '0') & 0x1; usbrh_control_heater(dev, dev->heater); return count; }
static ssize_t usbrh_proc_heater_write(struct file *file, const char *buf, size_t count, loff_t *off) { struct usbrh *dev; if (*off != 0) { return 0; } dev = (struct usbrh *)PDE_DATA(file_inode(file)); dev->heater = (buf[0] - '0') & 0x1; usbrh_control_heater(dev, dev->heater); *off += count; return count; }