nsc_gpio.c (b22364c8eec89e6b0c081a237f3b6348df87796f) | nsc_gpio.c (496ad9aa8ef448058e36ca7a787c61f2e63f0f54) |
---|---|
1/* linux/drivers/char/nsc_gpio.c 2 3 National Semiconductor common GPIO device-file/VFS methods. 4 Allows a user space process to control the GPIO pins. 5 6 Copyright (c) 2001,2002 Christer Weinigel <wingel@nano-system.com> 7 Copyright (c) 2005 Jim Cromie <jim.cromie@gmail.com> 8*/ --- 27 unchanged lines hidden (view full) --- 36 (config & 64) ? "DEBOUNCE" : "", /* debounce */ 37 38 amp->gpio_get(index), amp->gpio_current(index)); 39} 40 41ssize_t nsc_gpio_write(struct file *file, const char __user *data, 42 size_t len, loff_t *ppos) 43{ | 1/* linux/drivers/char/nsc_gpio.c 2 3 National Semiconductor common GPIO device-file/VFS methods. 4 Allows a user space process to control the GPIO pins. 5 6 Copyright (c) 2001,2002 Christer Weinigel <wingel@nano-system.com> 7 Copyright (c) 2005 Jim Cromie <jim.cromie@gmail.com> 8*/ --- 27 unchanged lines hidden (view full) --- 36 (config & 64) ? "DEBOUNCE" : "", /* debounce */ 37 38 amp->gpio_get(index), amp->gpio_current(index)); 39} 40 41ssize_t nsc_gpio_write(struct file *file, const char __user *data, 42 size_t len, loff_t *ppos) 43{ |
44 unsigned m = iminor(file->f_path.dentry->d_inode); | 44 unsigned m = iminor(file_inode(file)); |
45 struct nsc_gpio_ops *amp = file->private_data; 46 struct device *dev = amp->dev; 47 size_t i; 48 int err = 0; 49 50 for (i = 0; i < len; ++i) { 51 char c; 52 if (get_user(c, data + i)) --- 46 unchanged lines hidden (view full) --- 99 return -EINVAL; /* full string handled, report error */ 100 101 return len; 102} 103 104ssize_t nsc_gpio_read(struct file *file, char __user * buf, 105 size_t len, loff_t * ppos) 106{ | 45 struct nsc_gpio_ops *amp = file->private_data; 46 struct device *dev = amp->dev; 47 size_t i; 48 int err = 0; 49 50 for (i = 0; i < len; ++i) { 51 char c; 52 if (get_user(c, data + i)) --- 46 unchanged lines hidden (view full) --- 99 return -EINVAL; /* full string handled, report error */ 100 101 return len; 102} 103 104ssize_t nsc_gpio_read(struct file *file, char __user * buf, 105 size_t len, loff_t * ppos) 106{ |
107 unsigned m = iminor(file->f_path.dentry->d_inode); | 107 unsigned m = iminor(file_inode(file)); |
108 int value; 109 struct nsc_gpio_ops *amp = file->private_data; 110 111 value = amp->gpio_get(m); 112 if (put_user(value ? '1' : '0', buf)) 113 return -EFAULT; 114 115 return 1; --- 24 unchanged lines hidden --- | 108 int value; 109 struct nsc_gpio_ops *amp = file->private_data; 110 111 value = amp->gpio_get(m); 112 if (put_user(value ? '1' : '0', buf)) 113 return -EFAULT; 114 115 return 1; --- 24 unchanged lines hidden --- |