[pkg-fso-commits] [SCM] linux-2.6-openmoko, the Linux 2.6 kernel tree from Openmoko branch, stable, updated. upstream/20080808.git43620428-24-gca19d15
Andy Green
agreen at pads.home.warmcat.com
Mon Oct 20 09:46:25 UTC 2008
The following commit has been merged in the stable branch:
commit 399efd68e115b6548fe943a7a9fbf04753970e61
Author: Simon Kagstrom <simon.kagstrom at gmail.com>
Date: Wed Aug 13 11:27:11 2008 +0100
lis302dl-allow-unloading-module.patch
This patch fixes module unloading for the accelerometer (actually module
loading failed before). The two problems were that the interrupt was not
unregistered, and that the device was left in a "strange" state.
Signed-off-by: Simon Kagstrom <simon.kagstrom at gmail.com>
diff --git a/drivers/input/misc/lis302dl.c b/drivers/input/misc/lis302dl.c
index de8478d..b97cae7 100644
--- a/drivers/input/misc/lis302dl.c
+++ b/drivers/input/misc/lis302dl.c
@@ -462,11 +462,15 @@ static int __devexit lis302dl_remove(struct spi_device *spi)
struct lis302dl_info *lis = dev_get_drvdata(&spi->dev);
unsigned long flags;
- /* power down the device */
+ /* Reset and power down the device */
local_save_flags(flags);
+ reg_write(lis, LIS302DL_REG_CTRL3, 0x00);
+ reg_write(lis, LIS302DL_REG_CTRL2, 0x00);
reg_write(lis, LIS302DL_REG_CTRL1, 0x00);
local_irq_restore(flags);
+ /* Cleanup resources */
+ free_irq(lis->spi_dev->irq, lis);
sysfs_remove_group(&spi->dev.kobj, &lis302dl_attr_group);
input_unregister_device(lis->input_dev);
if (lis->input_dev)
--
linux-2.6-openmoko, the Linux 2.6 kernel tree from Openmoko
More information about the pkg-fso-commits
mailing list