r3970 - branches/src/target/kernel/2.6.24.x/patches
werner at sita.openmoko.org
werner at sita.openmoko.org
Tue Jan 29 09:43:05 CET 2008
Author: werner
Date: 2008-01-29 09:43:01 +0100 (Tue, 29 Jan 2008)
New Revision: 3970
Modified:
branches/src/target/kernel/2.6.24.x/patches/gta02-acc.patch
Log:
sensors-inactive-unless-event-open.patch
From: warmcat <andy at openmoko.com>
Stop the global slowdown action of the current motion sensor patch:
only accept interrupts if the event interface is opened by something
Signed-off-by: Andy Green <andy at openmoko.com>
Modified: branches/src/target/kernel/2.6.24.x/patches/gta02-acc.patch
===================================================================
--- branches/src/target/kernel/2.6.24.x/patches/gta02-acc.patch 2008-01-29 04:25:10 UTC (rev 3969)
+++ branches/src/target/kernel/2.6.24.x/patches/gta02-acc.patch 2008-01-29 08:43:01 UTC (rev 3970)
@@ -334,7 +334,7 @@
* disable the data ready events */
reg_set_bit_mask(lis, LIS302DL_REG_CTRL1, ctrl1, 0x00);
-@@ -446,44 +447,44 @@
+@@ -446,44 +447,38 @@
rc = spi_setup(spi);
if (rc < 0) {
@@ -359,12 +359,7 @@
- /* switch interrupt to open collector */
- reg_write(lis, LIS302DL_CTRL3_PP_OD, 0x7c);
-+ /* switch interrupt to open collector, active-low */
-+ reg_write(lis, LIS302DL_REG_CTRL3, LIS302DL_CTRL3_PP_OD |
-+ LIS302DL_CTRL3_IHL);
-+ lis302dl_int_mode(spi, 1, LIS302DL_INTMODE_DATA_READY);
-+ lis302dl_int_mode(spi, 2, LIS302DL_INTMODE_DATA_READY);
-
+-
- rc = request_irq(lis->spi_dev->irq, lis302dl_interrupt, IRQF_DISABLED,
- "lis302dl", NULL);
+ rc = request_irq(lis->spi_dev->irq, lis302dl_interrupt,
@@ -394,7 +389,7 @@
}
set_bit(EV_REL, lis->input_dev->evbit);
-@@ -498,9 +499,35 @@
+@@ -498,9 +493,44 @@
lis->input_dev->open = lis302dl_input_open;
lis->input_dev->close = lis302dl_input_close;
@@ -410,8 +405,17 @@
+ reg_write(lis, LIS302DL_REG_FF_WU_THS_1, 0x14);
+ reg_write(lis, LIS302DL_REG_FF_WU_DURATION_1, 0x00);
+ reg_write(lis, LIS302DL_REG_FF_WU_CFG_1, 0x95);
-+ reg_write(lis, LIS302DL_REG_CTRL3, 0xe4);
+
++ reg_write(lis, LIS302DL_REG_CTRL1, LIS302DL_CTRL1_Xen |
++ LIS302DL_CTRL1_Yen |
++ LIS302DL_CTRL1_Zen);
++
++ /* switch interrupt to open collector, active-low */
++ reg_write(lis, LIS302DL_REG_CTRL3, LIS302DL_CTRL3_PP_OD |
++ LIS302DL_CTRL3_IHL);
++ lis302dl_int_mode(spi, 1, LIS302DL_INTMODE_DATA_READY);
++ lis302dl_int_mode(spi, 2, LIS302DL_INTMODE_DATA_READY);
++
+ reg_read(lis, LIS302DL_REG_STATUS);
+ reg_read(lis, LIS302DL_REG_FF_WU_SRC_1);
+ reg_read(lis, LIS302DL_REG_FF_WU_SRC_2);
@@ -431,7 +435,7 @@
}
static int __devexit lis302dl_remove(struct spi_device *spi)
-@@ -511,6 +538,8 @@
+@@ -511,6 +541,8 @@
reg_write(lis, LIS302DL_REG_CTRL1, 0x00);
sysfs_remove_group(&spi->dev.kobj, &lis302dl_attr_group);
input_unregister_device(lis->input_dev);
More information about the commitlog
mailing list