Staging: dream: Synaptics touchscreen for HTC Dream: check that smbus is available
authorPavel Machek <pavel@ucw.cz>
Fri, 18 Sep 2009 19:59:22 +0000 (12:59 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 11 Dec 2009 20:23:10 +0000 (12:23 -0800)
Check that SMBUS APIs are available in touchscreen driver.

Signed-off-by: Pavel Machek <pavel@ucw.cz>
Cc: Trilok Soni <soni.trilok@gmail.com>
Cc: <arve@android.com>
Cc: Brian Swetland <swetland@google.com>
Cc: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/dream/synaptics_i2c_rmi.c

index ae696d3bc8e691207a516fb201d1833309d69739..4de6bc9175954899b314c2ec14fa4bed8805c257 100644 (file)
@@ -379,6 +379,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;