From 79e3c3798a07e9698767207022b9e44b7e803f89 Mon Sep 17 00:00:00 2001 From: lw Date: Wed, 7 Mar 2012 14:23:45 +0800 Subject: [PATCH] rk30:add id table for cm3217 --- drivers/input/lightsensor/cm3217.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/drivers/input/lightsensor/cm3217.c b/drivers/input/lightsensor/cm3217.c index 6d0bb9e27b05..5dcbb0d1952a 100755 --- a/drivers/input/lightsensor/cm3217.c +++ b/drivers/input/lightsensor/cm3217.c @@ -245,6 +245,13 @@ static int cm3217_probe(struct i2c_client *client, const struct i2c_device_id *i char com1 = CM3217_COM1_VALUE, com2 = CM3217_COM2_VALUE; int err; + if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) + { + dev_err(&client->dev, "Must have I2C_FUNC_I2C.\n"); + err = -ENODEV; + goto alloc_memory_fail; + } + cm3217 = kmalloc(sizeof(struct cm3217_data), GFP_KERNEL); if(!cm3217){ printk("cm3217 alloc memory err !!!\n"); @@ -327,9 +334,15 @@ static int cm3217_remove(struct i2c_client *client) return 0; } +static const struct i2c_device_id cm3217_id[] = { + { "lightsensor", 0 }, +}; + + static struct i2c_driver cm3217_driver = { .probe = cm3217_probe, .remove = __devexit_p(cm3217_remove), + .id_table = cm3217_id, .driver = { .owner = THIS_MODULE, .name = "lightsensor", -- 2.34.1