summaryrefslogtreecommitdiff
path: root/drivers/rtc
diff options
context:
space:
mode:
authorJean Delvare <khali@linux-fr.org>2007-10-16 01:28:18 -0700
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-16 09:43:13 -0700
commitc018664c51aca418e16bc83f75257c68250fb052 (patch)
tree7c5578818c136391ff32cac934781c8423ee51e8 /drivers/rtc
parenta95e23a27b33db5d5f40278b16a42e5e20188015 (diff)
downloadkernel-common-c018664c51aca418e16bc83f75257c68250fb052.tar.gz
kernel-common-c018664c51aca418e16bc83f75257c68250fb052.tar.bz2
kernel-common-c018664c51aca418e16bc83f75257c68250fb052.zip
rtc-pcf8583: Check for i2c adapter functionality
Not all i2c adapters support I2C-level messaging. Check that the adapter does before probing for a PCF8583 chip, as the driver makes use of i2c_transfer and i2c_master_send. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Alessandro Zummo <a.zummo@towertech.it> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/rtc')
-rw-r--r--drivers/rtc/rtc-pcf8583.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/rtc/rtc-pcf8583.c b/drivers/rtc/rtc-pcf8583.c
index d48b03374586..556d0e7da35b 100644
--- a/drivers/rtc/rtc-pcf8583.c
+++ b/drivers/rtc/rtc-pcf8583.c
@@ -332,6 +332,9 @@ static int pcf8583_probe(struct i2c_adapter *adap, int addr, int kind)
}
};
+ if (!i2c_check_functionality(adap, I2C_FUNC_I2C))
+ return 0;
+
pcf = kzalloc(sizeof(*pcf), GFP_KERNEL);
if (!pcf)
return -ENOMEM;