Staging: dream: Synaptics touchscreen: check that smbus is available
authorPavel Machek <pavel@ucw.cz>
Sat, 8 Aug 2009 13:40:50 +0000 (15:40 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 15 Sep 2009 19:02:05 +0000 (12:02 -0700)
Check that SMBUS APIs are available in touchscreen driver.

Signed-off-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/dream/synaptics_i2c_rmi.c

index 9190a9d86c7f0226ee08891617317862440c9256..ae696d3bc8e691207a516fb201d1833309d69739 100644 (file)
@@ -373,6 +373,12 @@ static int __devinit synaptics_ts_probe(
                goto err_check_functionality_failed;
        }
 
+       if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_WORD_DATA)) {
+               pr_err("synaptics_ts_probe: need I2C_FUNC_SMBUS_WORD_DATA\n");
+               ret = -ENODEV;
+               goto err_check_functionality_failed;
+       }
+
        ts = kzalloc(sizeof(*ts), GFP_KERNEL);
        if (ts == NULL) {
                ret = -ENOMEM;