Loading drivers/input/misc/lis3dh_acc.c +40 −88 Original line number Diff line number Diff line Loading @@ -273,6 +273,7 @@ static int lis3dh_acc_config_regulator(struct lis3dh_acc_data *acc, bool on) rc = PTR_ERR(lis3dh_acc_vreg[i].vreg); pr_err("%s:regulator get failed rc=%d\n", __func__, rc); lis3dh_acc_vreg[i].vreg = NULL; goto error_vdd; } Loading @@ -286,6 +287,7 @@ static int lis3dh_acc_config_regulator(struct lis3dh_acc_data *acc, bool on) pr_err("%s: set voltage failed rc=%d\n", __func__, rc); regulator_put(lis3dh_acc_vreg[i].vreg); lis3dh_acc_vreg[i].vreg = NULL; goto error_vdd; } } Loading @@ -301,6 +303,7 @@ static int lis3dh_acc_config_regulator(struct lis3dh_acc_data *acc, bool on) lis3dh_acc_vreg[i].max_uV); } regulator_put(lis3dh_acc_vreg[i].vreg); lis3dh_acc_vreg[i].vreg = NULL; goto error_vdd; } } Loading @@ -311,12 +314,16 @@ static int lis3dh_acc_config_regulator(struct lis3dh_acc_data *acc, bool on) error_vdd: while (--i >= 0) { if (regulator_count_voltages(lis3dh_acc_vreg[i].vreg) > 0) { regulator_set_voltage(lis3dh_acc_vreg[i].vreg, 0, lis3dh_acc_vreg[i].max_uV); if (!IS_ERR_OR_NULL(lis3dh_acc_vreg[i].vreg)) { if (regulator_count_voltages( lis3dh_acc_vreg[i].vreg) > 0) { regulator_set_voltage(lis3dh_acc_vreg[i].vreg, 0, lis3dh_acc_vreg[i].max_uV); } regulator_disable(lis3dh_acc_vreg[i].vreg); regulator_put(lis3dh_acc_vreg[i].vreg); lis3dh_acc_vreg[i].vreg = NULL; } } return rc; } Loading Loading @@ -393,8 +400,6 @@ static int lis3dh_acc_hw_init(struct lis3dh_acc_data *acc) int err = -1; u8 buf[7]; printk(KERN_INFO "%s: hw init start\n", LIS3DH_ACC_DEV_NAME); buf[0] = WHO_AM_I; err = lis3dh_acc_i2c_read(acc, buf, 1); if (err < 0) { Loading Loading @@ -467,7 +472,6 @@ static int lis3dh_acc_hw_init(struct lis3dh_acc_data *acc) goto err_resume_state; acc->hw_initialized = 1; printk(KERN_INFO "%s: hw init done\n", LIS3DH_ACC_DEV_NAME); return 0; err_firstread: Loading Loading @@ -546,9 +550,7 @@ static irqreturn_t lis3dh_acc_isr1(int irq, void *dev) disable_irq_nosync(irq); queue_work(acc->irq1_work_queue, &acc->irq1_work); #ifdef DEBUG printk(KERN_INFO "%s: isr1 queued\n", LIS3DH_ACC_DEV_NAME); #endif return IRQ_HANDLED; } Loading @@ -558,9 +560,7 @@ static irqreturn_t lis3dh_acc_isr2(int irq, void *dev) disable_irq_nosync(irq); queue_work(acc->irq2_work_queue, &acc->irq2_work); #ifdef DEBUG printk(KERN_INFO "%s: isr2 queued\n", LIS3DH_ACC_DEV_NAME); #endif return IRQ_HANDLED; } Loading @@ -569,11 +569,7 @@ static void lis3dh_acc_irq1_work_func(struct work_struct *work) struct lis3dh_acc_data *acc = container_of(work, struct lis3dh_acc_data, irq1_work); /* TODO add interrupt service procedure. ie:lis3dh_acc_get_int1_source(acc); */ ; /* */ printk(KERN_INFO "%s: IRQ1 triggered\n", LIS3DH_ACC_DEV_NAME); goto exit; exit: enable_irq(acc->irq1); Loading @@ -584,11 +580,7 @@ static void lis3dh_acc_irq2_work_func(struct work_struct *work) struct lis3dh_acc_data *acc = container_of(work, struct lis3dh_acc_data, irq2_work); /* TODO add interrupt service procedure. ie:lis3dh_acc_get_tap_source(acc); */ ; /* */ printk(KERN_INFO "%s: IRQ2 triggered\n", LIS3DH_ACC_DEV_NAME); goto exit; exit: enable_irq(acc->irq2); Loading Loading @@ -742,10 +734,8 @@ static int lis3dh_acc_get_acceleration_data(struct lis3dh_acc_data *acc, : (hw_d[acc->pdata->axis_map_z])); #ifdef DEBUG /* printk(KERN_INFO "%s read x=%d, y=%d, z=%d\n", dev_dbg(&acc->client->dev, "%s read x=%d, y=%d, z=%d\n", LIS3DH_ACC_DEV_NAME, xyz[0], xyz[1], xyz[2]); */ #endif return err; } Loading Loading @@ -860,6 +850,7 @@ static ssize_t attr_get_range(struct device *dev, char val; struct lis3dh_acc_data *acc = dev_get_drvdata(dev); char range = 2; mutex_lock(&acc->lock); val = acc->pdata->g_range; switch (val) { Loading Loading @@ -1085,26 +1076,26 @@ static ssize_t attr_addr_set(struct device *dev, struct device_attribute *attr, static struct device_attribute attributes[] = { __ATTR(pollrate_ms, 0666, attr_get_polling_rate, __ATTR(poll_delay, 0664, attr_get_polling_rate, attr_set_polling_rate), __ATTR(range, 0666, attr_get_range, attr_set_range), __ATTR(enable, 0666, attr_get_enable, attr_set_enable), __ATTR(int1_config, 0666, attr_get_intconfig1, attr_set_intconfig1), __ATTR(int1_duration, 0666, attr_get_duration1, attr_set_duration1), __ATTR(int1_threshold, 0666, attr_get_thresh1, attr_set_thresh1), __ATTR(range, 0664, attr_get_range, attr_set_range), __ATTR(enable, 0664, attr_get_enable, attr_set_enable), __ATTR(int1_config, 0664, attr_get_intconfig1, attr_set_intconfig1), __ATTR(int1_duration, 0664, attr_get_duration1, attr_set_duration1), __ATTR(int1_threshold, 0664, attr_get_thresh1, attr_set_thresh1), __ATTR(int1_source, 0444, attr_get_source1, NULL), __ATTR(click_config, 0666, attr_get_click_cfg, attr_set_click_cfg), __ATTR(click_config, 0664, attr_get_click_cfg, attr_set_click_cfg), __ATTR(click_source, 0444, attr_get_click_source, NULL), __ATTR(click_threshold, 0666, attr_get_click_ths, attr_set_click_ths), __ATTR(click_timelimit, 0666, attr_get_click_tlim, __ATTR(click_threshold, 0664, attr_get_click_ths, attr_set_click_ths), __ATTR(click_timelimit, 0664, attr_get_click_tlim, attr_set_click_tlim), __ATTR(click_timelatency, 0666, attr_get_click_tlat, __ATTR(click_timelatency, 0664, attr_get_click_tlat, attr_set_click_tlat), __ATTR(click_timewindow, 0666, attr_get_click_tw, attr_set_click_tw), __ATTR(click_timewindow, 0664, attr_get_click_tw, attr_set_click_tw), #ifdef DEBUG __ATTR(reg_value, 0666, attr_reg_get, attr_reg_set), __ATTR(reg_addr, 0222, NULL, attr_addr_set), __ATTR(reg_value, 0664, attr_reg_get, attr_reg_set), __ATTR(reg_addr, 0220, NULL, attr_addr_set), #endif }; Loading Loading @@ -1218,7 +1209,7 @@ static int lis3dh_acc_input_init(struct lis3dh_acc_data *acc) acc->input_dev->open = lis3dh_acc_input_open; acc->input_dev->close = lis3dh_acc_input_close; acc->input_dev->name = LIS3DH_ACC_DEV_NAME; acc->input_dev->name = ACCEL_INPUT_DEV_NAME; acc->input_dev->id.bustype = BUS_I2C; acc->input_dev->dev.parent = &acc->client->dev; Loading Loading @@ -1283,25 +1274,6 @@ static int lis3dh_acc_probe(struct i2c_client *client, goto exit_check_functionality_failed; } /* if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE | I2C_FUNC_SMBUS_BYTE_DATA | I2C_FUNC_SMBUS_WORD_DATA)) { dev_err(&client->dev, "client not smb-i2c capable:2\n"); err = -EIO; goto exit_check_functionality_failed; } if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_I2C_BLOCK)) { dev_err(&client->dev, "client not smb-i2c capable:3\n"); err = -EIO; goto exit_check_functionality_failed; } */ acc = kzalloc(sizeof(struct lis3dh_acc_data), GFP_KERNEL); if (acc == NULL) { err = -ENOMEM; Loading Loading @@ -1344,23 +1316,11 @@ static int lis3dh_acc_probe(struct i2c_client *client, } } if (acc->pdata->gpio_int1 >= 0) { if (acc->pdata->gpio_int1 >= 0) acc->irq1 = gpio_to_irq(acc->pdata->gpio_int1); printk(KERN_INFO "%s: %s has set irq1 to irq: %d\n", LIS3DH_ACC_DEV_NAME, __func__, acc->irq1); printk(KERN_INFO "%s: %s has mapped irq1 on gpio: %d\n", LIS3DH_ACC_DEV_NAME, __func__, acc->pdata->gpio_int1); } if (acc->pdata->gpio_int2 >= 0) { if (acc->pdata->gpio_int2 >= 0) acc->irq2 = gpio_to_irq(acc->pdata->gpio_int2); printk(KERN_INFO "%s: %s has set irq2 to irq: %d\n", LIS3DH_ACC_DEV_NAME, __func__, acc->irq2); printk(KERN_INFO "%s: %s has mapped irq2 on gpio: %d\n", LIS3DH_ACC_DEV_NAME, __func__, acc->pdata->gpio_int2); } memset(acc->resume_state, 0, ARRAY_SIZE(acc->resume_state)); Loading Loading @@ -1460,11 +1420,9 @@ static int lis3dh_acc_probe(struct i2c_client *client, disable_irq_nosync(acc->irq2); } mutex_unlock(&acc->lock); dev_info(&client->dev, "%s: probed\n", LIS3DH_ACC_DEV_NAME); dev_dbg(&client->dev, "%s: probed\n", LIS3DH_ACC_DEV_NAME); return 0; Loading @@ -1491,11 +1449,11 @@ err_mutexunlock: mutex_unlock(&acc->lock); kfree(acc); exit_check_functionality_failed: printk(KERN_ERR "%s: Driver Init failed\n", LIS3DH_ACC_DEV_NAME); dev_err(&client->dev, "%s: Driver Init failed\n", LIS3DH_ACC_DEV_NAME); return err; } static int __devexit lis3dh_acc_remove(struct i2c_client *client) static int lis3dh_acc_remove(struct i2c_client *client) { struct lis3dh_acc_data *acc = i2c_get_clientdata(client); Loading Loading @@ -1556,7 +1514,7 @@ static struct i2c_driver lis3dh_acc_driver = { .name = LIS3DH_ACC_DEV_NAME, }, .probe = lis3dh_acc_probe, .remove = __devexit_p(lis3dh_acc_remove), .remove = lis3dh_acc_remove, .suspend = lis3dh_acc_suspend, .resume = lis3dh_acc_resume, .id_table = lis3dh_acc_id, Loading @@ -1564,17 +1522,11 @@ static struct i2c_driver lis3dh_acc_driver = { static int __init lis3dh_acc_init(void) { printk(KERN_INFO "%s accelerometer driver: init\n", LIS3DH_ACC_DEV_NAME); return i2c_add_driver(&lis3dh_acc_driver); } static void __exit lis3dh_acc_exit(void) { #ifdef DEBUG printk(KERN_INFO "%s accelerometer driver exit\n", LIS3DH_ACC_DEV_NAME); #endif /* DEBUG */ i2c_del_driver(&lis3dh_acc_driver); return; } Loading include/linux/input/lis3dh.h +1 −1 Original line number Diff line number Diff line Loading @@ -37,7 +37,7 @@ #define LIS3DH_ACC_I2C_SAD_L ((LIS3DH_ACC_I2C_SADROOT<<1)|SAD0L) #define LIS3DH_ACC_I2C_SAD_H ((LIS3DH_ACC_I2C_SADROOT<<1)|SAD0H) #define LIS3DH_ACC_DEV_NAME "lis3dh_acc" #define ACCEL_INPUT_DEV_NAME "accelerometer" /************************************************/ /* Accelerometer defines section */ Loading Loading
drivers/input/misc/lis3dh_acc.c +40 −88 Original line number Diff line number Diff line Loading @@ -273,6 +273,7 @@ static int lis3dh_acc_config_regulator(struct lis3dh_acc_data *acc, bool on) rc = PTR_ERR(lis3dh_acc_vreg[i].vreg); pr_err("%s:regulator get failed rc=%d\n", __func__, rc); lis3dh_acc_vreg[i].vreg = NULL; goto error_vdd; } Loading @@ -286,6 +287,7 @@ static int lis3dh_acc_config_regulator(struct lis3dh_acc_data *acc, bool on) pr_err("%s: set voltage failed rc=%d\n", __func__, rc); regulator_put(lis3dh_acc_vreg[i].vreg); lis3dh_acc_vreg[i].vreg = NULL; goto error_vdd; } } Loading @@ -301,6 +303,7 @@ static int lis3dh_acc_config_regulator(struct lis3dh_acc_data *acc, bool on) lis3dh_acc_vreg[i].max_uV); } regulator_put(lis3dh_acc_vreg[i].vreg); lis3dh_acc_vreg[i].vreg = NULL; goto error_vdd; } } Loading @@ -311,12 +314,16 @@ static int lis3dh_acc_config_regulator(struct lis3dh_acc_data *acc, bool on) error_vdd: while (--i >= 0) { if (regulator_count_voltages(lis3dh_acc_vreg[i].vreg) > 0) { regulator_set_voltage(lis3dh_acc_vreg[i].vreg, 0, lis3dh_acc_vreg[i].max_uV); if (!IS_ERR_OR_NULL(lis3dh_acc_vreg[i].vreg)) { if (regulator_count_voltages( lis3dh_acc_vreg[i].vreg) > 0) { regulator_set_voltage(lis3dh_acc_vreg[i].vreg, 0, lis3dh_acc_vreg[i].max_uV); } regulator_disable(lis3dh_acc_vreg[i].vreg); regulator_put(lis3dh_acc_vreg[i].vreg); lis3dh_acc_vreg[i].vreg = NULL; } } return rc; } Loading Loading @@ -393,8 +400,6 @@ static int lis3dh_acc_hw_init(struct lis3dh_acc_data *acc) int err = -1; u8 buf[7]; printk(KERN_INFO "%s: hw init start\n", LIS3DH_ACC_DEV_NAME); buf[0] = WHO_AM_I; err = lis3dh_acc_i2c_read(acc, buf, 1); if (err < 0) { Loading Loading @@ -467,7 +472,6 @@ static int lis3dh_acc_hw_init(struct lis3dh_acc_data *acc) goto err_resume_state; acc->hw_initialized = 1; printk(KERN_INFO "%s: hw init done\n", LIS3DH_ACC_DEV_NAME); return 0; err_firstread: Loading Loading @@ -546,9 +550,7 @@ static irqreturn_t lis3dh_acc_isr1(int irq, void *dev) disable_irq_nosync(irq); queue_work(acc->irq1_work_queue, &acc->irq1_work); #ifdef DEBUG printk(KERN_INFO "%s: isr1 queued\n", LIS3DH_ACC_DEV_NAME); #endif return IRQ_HANDLED; } Loading @@ -558,9 +560,7 @@ static irqreturn_t lis3dh_acc_isr2(int irq, void *dev) disable_irq_nosync(irq); queue_work(acc->irq2_work_queue, &acc->irq2_work); #ifdef DEBUG printk(KERN_INFO "%s: isr2 queued\n", LIS3DH_ACC_DEV_NAME); #endif return IRQ_HANDLED; } Loading @@ -569,11 +569,7 @@ static void lis3dh_acc_irq1_work_func(struct work_struct *work) struct lis3dh_acc_data *acc = container_of(work, struct lis3dh_acc_data, irq1_work); /* TODO add interrupt service procedure. ie:lis3dh_acc_get_int1_source(acc); */ ; /* */ printk(KERN_INFO "%s: IRQ1 triggered\n", LIS3DH_ACC_DEV_NAME); goto exit; exit: enable_irq(acc->irq1); Loading @@ -584,11 +580,7 @@ static void lis3dh_acc_irq2_work_func(struct work_struct *work) struct lis3dh_acc_data *acc = container_of(work, struct lis3dh_acc_data, irq2_work); /* TODO add interrupt service procedure. ie:lis3dh_acc_get_tap_source(acc); */ ; /* */ printk(KERN_INFO "%s: IRQ2 triggered\n", LIS3DH_ACC_DEV_NAME); goto exit; exit: enable_irq(acc->irq2); Loading Loading @@ -742,10 +734,8 @@ static int lis3dh_acc_get_acceleration_data(struct lis3dh_acc_data *acc, : (hw_d[acc->pdata->axis_map_z])); #ifdef DEBUG /* printk(KERN_INFO "%s read x=%d, y=%d, z=%d\n", dev_dbg(&acc->client->dev, "%s read x=%d, y=%d, z=%d\n", LIS3DH_ACC_DEV_NAME, xyz[0], xyz[1], xyz[2]); */ #endif return err; } Loading Loading @@ -860,6 +850,7 @@ static ssize_t attr_get_range(struct device *dev, char val; struct lis3dh_acc_data *acc = dev_get_drvdata(dev); char range = 2; mutex_lock(&acc->lock); val = acc->pdata->g_range; switch (val) { Loading Loading @@ -1085,26 +1076,26 @@ static ssize_t attr_addr_set(struct device *dev, struct device_attribute *attr, static struct device_attribute attributes[] = { __ATTR(pollrate_ms, 0666, attr_get_polling_rate, __ATTR(poll_delay, 0664, attr_get_polling_rate, attr_set_polling_rate), __ATTR(range, 0666, attr_get_range, attr_set_range), __ATTR(enable, 0666, attr_get_enable, attr_set_enable), __ATTR(int1_config, 0666, attr_get_intconfig1, attr_set_intconfig1), __ATTR(int1_duration, 0666, attr_get_duration1, attr_set_duration1), __ATTR(int1_threshold, 0666, attr_get_thresh1, attr_set_thresh1), __ATTR(range, 0664, attr_get_range, attr_set_range), __ATTR(enable, 0664, attr_get_enable, attr_set_enable), __ATTR(int1_config, 0664, attr_get_intconfig1, attr_set_intconfig1), __ATTR(int1_duration, 0664, attr_get_duration1, attr_set_duration1), __ATTR(int1_threshold, 0664, attr_get_thresh1, attr_set_thresh1), __ATTR(int1_source, 0444, attr_get_source1, NULL), __ATTR(click_config, 0666, attr_get_click_cfg, attr_set_click_cfg), __ATTR(click_config, 0664, attr_get_click_cfg, attr_set_click_cfg), __ATTR(click_source, 0444, attr_get_click_source, NULL), __ATTR(click_threshold, 0666, attr_get_click_ths, attr_set_click_ths), __ATTR(click_timelimit, 0666, attr_get_click_tlim, __ATTR(click_threshold, 0664, attr_get_click_ths, attr_set_click_ths), __ATTR(click_timelimit, 0664, attr_get_click_tlim, attr_set_click_tlim), __ATTR(click_timelatency, 0666, attr_get_click_tlat, __ATTR(click_timelatency, 0664, attr_get_click_tlat, attr_set_click_tlat), __ATTR(click_timewindow, 0666, attr_get_click_tw, attr_set_click_tw), __ATTR(click_timewindow, 0664, attr_get_click_tw, attr_set_click_tw), #ifdef DEBUG __ATTR(reg_value, 0666, attr_reg_get, attr_reg_set), __ATTR(reg_addr, 0222, NULL, attr_addr_set), __ATTR(reg_value, 0664, attr_reg_get, attr_reg_set), __ATTR(reg_addr, 0220, NULL, attr_addr_set), #endif }; Loading Loading @@ -1218,7 +1209,7 @@ static int lis3dh_acc_input_init(struct lis3dh_acc_data *acc) acc->input_dev->open = lis3dh_acc_input_open; acc->input_dev->close = lis3dh_acc_input_close; acc->input_dev->name = LIS3DH_ACC_DEV_NAME; acc->input_dev->name = ACCEL_INPUT_DEV_NAME; acc->input_dev->id.bustype = BUS_I2C; acc->input_dev->dev.parent = &acc->client->dev; Loading Loading @@ -1283,25 +1274,6 @@ static int lis3dh_acc_probe(struct i2c_client *client, goto exit_check_functionality_failed; } /* if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE | I2C_FUNC_SMBUS_BYTE_DATA | I2C_FUNC_SMBUS_WORD_DATA)) { dev_err(&client->dev, "client not smb-i2c capable:2\n"); err = -EIO; goto exit_check_functionality_failed; } if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_I2C_BLOCK)) { dev_err(&client->dev, "client not smb-i2c capable:3\n"); err = -EIO; goto exit_check_functionality_failed; } */ acc = kzalloc(sizeof(struct lis3dh_acc_data), GFP_KERNEL); if (acc == NULL) { err = -ENOMEM; Loading Loading @@ -1344,23 +1316,11 @@ static int lis3dh_acc_probe(struct i2c_client *client, } } if (acc->pdata->gpio_int1 >= 0) { if (acc->pdata->gpio_int1 >= 0) acc->irq1 = gpio_to_irq(acc->pdata->gpio_int1); printk(KERN_INFO "%s: %s has set irq1 to irq: %d\n", LIS3DH_ACC_DEV_NAME, __func__, acc->irq1); printk(KERN_INFO "%s: %s has mapped irq1 on gpio: %d\n", LIS3DH_ACC_DEV_NAME, __func__, acc->pdata->gpio_int1); } if (acc->pdata->gpio_int2 >= 0) { if (acc->pdata->gpio_int2 >= 0) acc->irq2 = gpio_to_irq(acc->pdata->gpio_int2); printk(KERN_INFO "%s: %s has set irq2 to irq: %d\n", LIS3DH_ACC_DEV_NAME, __func__, acc->irq2); printk(KERN_INFO "%s: %s has mapped irq2 on gpio: %d\n", LIS3DH_ACC_DEV_NAME, __func__, acc->pdata->gpio_int2); } memset(acc->resume_state, 0, ARRAY_SIZE(acc->resume_state)); Loading Loading @@ -1460,11 +1420,9 @@ static int lis3dh_acc_probe(struct i2c_client *client, disable_irq_nosync(acc->irq2); } mutex_unlock(&acc->lock); dev_info(&client->dev, "%s: probed\n", LIS3DH_ACC_DEV_NAME); dev_dbg(&client->dev, "%s: probed\n", LIS3DH_ACC_DEV_NAME); return 0; Loading @@ -1491,11 +1449,11 @@ err_mutexunlock: mutex_unlock(&acc->lock); kfree(acc); exit_check_functionality_failed: printk(KERN_ERR "%s: Driver Init failed\n", LIS3DH_ACC_DEV_NAME); dev_err(&client->dev, "%s: Driver Init failed\n", LIS3DH_ACC_DEV_NAME); return err; } static int __devexit lis3dh_acc_remove(struct i2c_client *client) static int lis3dh_acc_remove(struct i2c_client *client) { struct lis3dh_acc_data *acc = i2c_get_clientdata(client); Loading Loading @@ -1556,7 +1514,7 @@ static struct i2c_driver lis3dh_acc_driver = { .name = LIS3DH_ACC_DEV_NAME, }, .probe = lis3dh_acc_probe, .remove = __devexit_p(lis3dh_acc_remove), .remove = lis3dh_acc_remove, .suspend = lis3dh_acc_suspend, .resume = lis3dh_acc_resume, .id_table = lis3dh_acc_id, Loading @@ -1564,17 +1522,11 @@ static struct i2c_driver lis3dh_acc_driver = { static int __init lis3dh_acc_init(void) { printk(KERN_INFO "%s accelerometer driver: init\n", LIS3DH_ACC_DEV_NAME); return i2c_add_driver(&lis3dh_acc_driver); } static void __exit lis3dh_acc_exit(void) { #ifdef DEBUG printk(KERN_INFO "%s accelerometer driver exit\n", LIS3DH_ACC_DEV_NAME); #endif /* DEBUG */ i2c_del_driver(&lis3dh_acc_driver); return; } Loading
include/linux/input/lis3dh.h +1 −1 Original line number Diff line number Diff line Loading @@ -37,7 +37,7 @@ #define LIS3DH_ACC_I2C_SAD_L ((LIS3DH_ACC_I2C_SADROOT<<1)|SAD0L) #define LIS3DH_ACC_I2C_SAD_H ((LIS3DH_ACC_I2C_SADROOT<<1)|SAD0H) #define LIS3DH_ACC_DEV_NAME "lis3dh_acc" #define ACCEL_INPUT_DEV_NAME "accelerometer" /************************************************/ /* Accelerometer defines section */ Loading