Messages in this thread Patch in this message |  | | | From | Ricardo Ribalda Delgado <> | | Subject | [PATCHv5 2/5] input/cma3000_d0x: Check silicon version | | Date | Wed, 2 Nov 2011 15:49:10 +0100 |
| |
Improve probing of the cma3000 chip, by checking the revision of the device.
v4: Add ACKs to patch
v2: Fixes suggested by Jonathan Cameron -Remove WhoamI pr_info
Acked-by: Jonathan Cameron <jic23@cam.ac.uk> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com> --- drivers/input/misc/cma3000_d0x.c | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletions(-) diff --git a/drivers/input/misc/cma3000_d0x.c b/drivers/input/misc/cma3000_d0x.c index e66036d..97e36fa 100644 --- a/drivers/input/misc/cma3000_d0x.c +++ b/drivers/input/misc/cma3000_d0x.c @@ -27,6 +27,8 @@ #include "cma3000_d0x.h" +#define CMA3000_REV 0x10 + #define CMA3000_WHOAMI 0x00 #define CMA3000_REVID 0x01 #define CMA3000_CTRL 0x02 @@ -420,7 +422,11 @@ struct cma3000_accl_data *cma3000_init(struct device *dev, int irq, error = rev; goto err_free_mem; } - + if (rev != CMA3000_REV) { + error = -EINVAL; + pr_err("CMA3000 Accelerometer: Unknown Revision %x\n", rev); + goto err_free_mem; + } pr_info("CMA3000 Accelerometer: Revision %x\n", rev); error = request_threaded_irq(irq, NULL, cma3000_thread_irq, -- 1.7.7.1
|  |