OSDN Git Service

iio: vcnl4000: warn on incorrectly specified device id
authorTomas Novotny <tomas@novotny.cz>
Wed, 25 Jul 2018 15:18:20 +0000 (17:18 +0200)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sun, 29 Jul 2018 10:03:55 +0000 (11:03 +0100)
We can detect incorrectly specified device id for some chips, so warn
user in that case.

Signed-off-by: Tomas Novotny <tomas@novotny.cz>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/light/vcnl4000.c

index 980eb3b..a0cd1dc 100644 (file)
@@ -84,8 +84,20 @@ static int vcnl4000_init(struct vcnl4000_data *data)
                return ret;
 
        prod_id = ret >> 4;
-       if (prod_id != VCNL4010_PROD_ID && prod_id != VCNL4000_PROD_ID)
+       switch (prod_id) {
+       case VCNL4000_PROD_ID:
+               if (data->id != VCNL4000)
+                       dev_warn(&data->client->dev,
+                                       "wrong device id, use vcnl4000");
+               break;
+       case VCNL4010_PROD_ID:
+               if (data->id != VCNL4010)
+                       dev_warn(&data->client->dev,
+                                       "wrong device id, use vcnl4010/4020");
+               break;
+       default:
                return -ENODEV;
+       }
 
        data->rev = ret & 0xf;
        data->al_scale = 250000;