diff options
author | David Brownell <david-b@pacbell.net> | 2007-10-14 01:56:32 +0400 |
---|---|---|
committer | Jean Delvare <khali@hyperion.delvare> | 2007-10-14 01:56:32 +0400 |
commit | 53be79593452e568a856f8393985131848d59b72 (patch) | |
tree | b1abe8a310486a6c0c146cdaf35f93e1f9faada3 /drivers/i2c/i2c-dev.c | |
parent | cdeec3cc79c7b1acfa89fb362b01e544ecfb285c (diff) | |
download | linux-53be79593452e568a856f8393985131848d59b72.tar.xz |
i2c: Remove i2c_algorithm.algo_control()
This removes:
- An effectively unused hook: i2c_algorithm.algo_control.
- The i2c_control() call, used only by i2c-dev to call that
unused hook or set two barely supported adapter params.
(That param setting moves into i2c-dev.c ... still iffy
due to lack of locking, but no other changes.)
As shown by diffstat, this is a net code shrink. It also reduces the
complexity of the I2C adapter and /dev interfaces.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Diffstat (limited to 'drivers/i2c/i2c-dev.c')
-rw-r--r-- | drivers/i2c/i2c-dev.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/drivers/i2c/i2c-dev.c b/drivers/i2c/i2c-dev.c index df6e14c192d6..5a15e50748de 100644 --- a/drivers/i2c/i2c-dev.c +++ b/drivers/i2c/i2c-dev.c @@ -354,9 +354,19 @@ static int i2cdev_ioctl(struct inode *inode, struct file *file, return -EFAULT; } return res; - + case I2C_RETRIES: + client->adapter->retries = arg; + break; + case I2C_TIMEOUT: + client->adapter->timeout = arg; + break; default: - return i2c_control(client,cmd,arg); + /* NOTE: returning a fault code here could cause trouble + * in buggy userspace code. Some old kernel bugs returned + * zero in this case, and userspace code might accidentally + * have depended on that bug. + */ + return -ENOTTY; } return 0; } |