f52e694fd8266e2b6f70a14b657631bb8aeebb67
[openwrt/openwrt.git] / target / linux / s3c24xx / patches-2.6.24 / 1283-gta02-accel-isr-fix-more.patch.patch
1 From a1e97c611253511ffc2d8c45e3e6d6894fa03fa3 Mon Sep 17 00:00:00 2001
2 From: Andy Green <andy@openmoko.com>
3 Date: Sat, 23 Aug 2008 11:01:50 +0100
4 Subject: [PATCH] gta02-accel-isr-fix-more.patch
5
6 Fix all of the mismatches Andrzej put us on to.
7
8 Found-by: Andrzej Zaborowski <balrogg@gmail.com>
9 Signed-off-by: Andy Green <andy@openmoko.com>
10 ---
11 drivers/input/misc/lis302dl.c | 18 +++++++++---------
12 1 files changed, 9 insertions(+), 9 deletions(-)
13
14 diff --git a/drivers/input/misc/lis302dl.c b/drivers/input/misc/lis302dl.c
15 index 7df31af..b01ca04 100644
16 --- a/drivers/input/misc/lis302dl.c
17 +++ b/drivers/input/misc/lis302dl.c
18 @@ -230,7 +230,7 @@ static ssize_t lis302dl_dump(struct device *dev, struct device_attribute *attr,
19 char *end = buf;
20 unsigned long flags;
21
22 - local_save_flags(flags);
23 + local_irq_save(flags);
24
25 for (n = 0; n < sizeof(reg); n++)
26 reg[n] = reg_read(lis, n);
27 @@ -312,7 +312,7 @@ static ssize_t set_freefall_common(int which, struct device *dev,
28 /* Parse the input */
29 if (strcmp(buf, "0\n") == 0) {
30 /* Turn off the interrupt */
31 - local_save_flags(flags);
32 + local_irq_save(flags);
33 if (lis->flags & LIS302DL_F_IRQ_WAKE)
34 disable_irq_wake(lis->spi_dev->irq);
35 lis302dl_int_mode(lis->spi_dev, which,
36 @@ -354,7 +354,7 @@ static ssize_t set_freefall_common(int which, struct device *dev,
37 z_hi = z > 0 ? LIS302DL_FFWUCFG_ZHIE : 0;
38
39 /* Setup the configuration registers */
40 - local_save_flags(flags);
41 + local_irq_save(flags);
42 reg_write(lis, r_cfg, 0); /* First zero to get to a known state */
43 reg_write(lis, r_cfg,
44 (and_events ? LIS302DL_FFWUCFG_AOI : 0) |
45 @@ -478,7 +478,7 @@ static int lis302dl_input_open(struct input_dev *inp)
46 LIS302DL_CTRL1_Yen | LIS302DL_CTRL1_Zen;
47 unsigned long flags;
48
49 - local_save_flags(flags);
50 + local_irq_save(flags);
51 /* make sure we're powered up and generate data ready */
52 reg_set_bit_mask(lis, LIS302DL_REG_CTRL1, ctrl1, ctrl1);
53 local_irq_restore(flags);
54 @@ -499,7 +499,7 @@ static void lis302dl_input_close(struct input_dev *inp)
55 LIS302DL_CTRL1_Zen;
56 unsigned long flags;
57
58 - local_save_flags(flags);
59 + local_irq_save(flags);
60
61 /* since the input core already serializes access and makes sure we
62 * only see close() for the close of the last user, we can safely
63 @@ -546,7 +546,7 @@ static int __devinit lis302dl_probe(struct spi_device *spi)
64 if (!lis)
65 return -ENOMEM;
66
67 - local_save_flags(flags);
68 + local_irq_save(flags);
69
70 mutex_init(&lis->lock);
71 lis->spi_dev = spi;
72 @@ -675,7 +675,7 @@ static int __devexit lis302dl_remove(struct spi_device *spi)
73 unsigned long flags;
74
75 /* Reset and power down the device */
76 - local_save_flags(flags);
77 + local_irq_save(flags);
78 reg_write(lis, LIS302DL_REG_CTRL3, 0x00);
79 reg_write(lis, LIS302DL_REG_CTRL2, 0x00);
80 reg_write(lis, LIS302DL_REG_CTRL1, 0x00);
81 @@ -706,7 +706,7 @@ static int lis302dl_suspend(struct spi_device *spi, pm_message_t state)
82 return 0;
83
84 disable_irq(lis->spi_dev->irq);
85 - local_save_flags(flags);
86 + local_irq_save(flags);
87
88 /*
89 * When we share SPI over multiple sensors, there is a race here
90 @@ -768,7 +768,7 @@ static int lis302dl_resume(struct spi_device *spi)
91 lis->flags & LIS302DL_F_WUP_CLICK)
92 return 0;
93
94 - local_save_flags(flags);
95 + local_irq_save(flags);
96
97 /* get our IO to the device back in operational states */
98 (lis->pdata->lis302dl_suspend_io)(lis, 1);
99 --
100 1.5.6.5
101