diff options
Diffstat (limited to 'drivers/input/misc/bma150.c')
-rw-r--r-- | drivers/input/misc/bma150.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/input/misc/bma150.c b/drivers/input/misc/bma150.c index 52d3a9b28f0b..b36831c828d3 100644 --- a/drivers/input/misc/bma150.c +++ b/drivers/input/misc/bma150.c | |||
@@ -70,6 +70,7 @@ | |||
70 | #define BMA150_CFG_5_REG 0x11 | 70 | #define BMA150_CFG_5_REG 0x11 |
71 | 71 | ||
72 | #define BMA150_CHIP_ID 2 | 72 | #define BMA150_CHIP_ID 2 |
73 | #define BMA180_CHIP_ID 3 | ||
73 | #define BMA150_CHIP_ID_REG BMA150_DATA_0_REG | 74 | #define BMA150_CHIP_ID_REG BMA150_DATA_0_REG |
74 | 75 | ||
75 | #define BMA150_ACC_X_LSB_REG BMA150_DATA_2_REG | 76 | #define BMA150_ACC_X_LSB_REG BMA150_DATA_2_REG |
@@ -539,7 +540,7 @@ static int bma150_probe(struct i2c_client *client, | |||
539 | } | 540 | } |
540 | 541 | ||
541 | chip_id = i2c_smbus_read_byte_data(client, BMA150_CHIP_ID_REG); | 542 | chip_id = i2c_smbus_read_byte_data(client, BMA150_CHIP_ID_REG); |
542 | if (chip_id != BMA150_CHIP_ID) { | 543 | if (chip_id != BMA150_CHIP_ID && chip_id != BMA180_CHIP_ID) { |
543 | dev_err(&client->dev, "BMA150 chip id error: %d\n", chip_id); | 544 | dev_err(&client->dev, "BMA150 chip id error: %d\n", chip_id); |
544 | return -EINVAL; | 545 | return -EINVAL; |
545 | } | 546 | } |
@@ -643,6 +644,7 @@ static UNIVERSAL_DEV_PM_OPS(bma150_pm, bma150_suspend, bma150_resume, NULL); | |||
643 | 644 | ||
644 | static const struct i2c_device_id bma150_id[] = { | 645 | static const struct i2c_device_id bma150_id[] = { |
645 | { "bma150", 0 }, | 646 | { "bma150", 0 }, |
647 | { "bma180", 0 }, | ||
646 | { "smb380", 0 }, | 648 | { "smb380", 0 }, |
647 | { "bma023", 0 }, | 649 | { "bma023", 0 }, |
648 | { } | 650 | { } |