aboutsummaryrefslogtreecommitdiff
path: root/drivers/iio/light/vcnl4000.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/iio/light/vcnl4000.c')
-rw-r--r--drivers/iio/light/vcnl4000.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/drivers/iio/light/vcnl4000.c b/drivers/iio/light/vcnl4000.c
index 980eb3b77d5f..a0cd1dcbf935 100644
--- a/drivers/iio/light/vcnl4000.c
+++ b/drivers/iio/light/vcnl4000.c
@@ -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;