From: Samu Onkalo <samu.p.onkalo@nokia.com>
To: eric.piel@tremplin-utc.net
Cc: pavel@ucw.cz, daniel@caiaq.de, lm-sensors@lm-sensors.org,
linux-kernel@vger.kernel.org,
Samu Onkalo <samu.p.onkalo@nokia.com>
Subject: [PATCH V2 3/6] lis3: Introduce platform data for second ff / wu unit
Date: Tue, 16 Feb 2010 13:09:28 +0200 [thread overview]
Message-ID: <1266318571-31083-4-git-send-email-samu.p.onkalo@nokia.com> (raw)
In-Reply-To: <1266318571-31083-1-git-send-email-samu.p.onkalo@nokia.com>
8 bit device has two wakeup / free fall units. It was not possible
to configure the second unit. This patch introduces configuration
entry to the platform data and also corresponding changes to the
8 bit setup function.
High pass filters were enabled by default. Patch introduces configuration
option for high pass filter cut off frequency and also possibility to
disable or enable the filter via platform data.
Since the control is a new one and default state was filter enabled,
new option is used to disable the filter. This way old platform data
is still compatible with the change.
Signed-off-by: Samu Onkalo <samu.p.onkalo@nokia.com>
Acked-by: Éric Piel <eric.piel@tremplin-utc.net>
Tested-by: Daniel Mack <daniel@caiaq.de>
---
drivers/hwmon/lis3lv02d.c | 15 +++++++++++++--
include/linux/lis3lv02d.h | 9 +++++++++
2 files changed, 22 insertions(+), 2 deletions(-)
diff --git a/drivers/hwmon/lis3lv02d.c b/drivers/hwmon/lis3lv02d.c
index 99fd45d..50f3123 100644
--- a/drivers/hwmon/lis3lv02d.c
+++ b/drivers/hwmon/lis3lv02d.c
@@ -524,6 +524,8 @@ EXPORT_SYMBOL_GPL(lis3lv02d_remove_fs);
static void lis3lv02d_8b_configure(struct lis3lv02d *dev,
struct lis3lv02d_platform_data *p)
{
+ int ctrl2 = p->hipass_ctrl;
+
if (p->click_flags) {
dev->write(dev, CLICK_CFG, p->click_flags);
dev->write(dev, CLICK_TIMELIMIT, p->click_time_limit);
@@ -540,9 +542,18 @@ static void lis3lv02d_8b_configure(struct lis3lv02d *dev,
dev->write(dev, FF_WU_THS_1, p->wakeup_thresh & 0x7f);
/* default to 2.5ms for now */
dev->write(dev, FF_WU_DURATION_1, 1);
- /* enable high pass filter for both free-fall units */
- dev->write(dev, CTRL_REG2, HP_FF_WU1 | HP_FF_WU2);
+ ctrl2 ^= HP_FF_WU1; /* Xor to keep compatible with old pdata*/
+ }
+
+ if (p->wakeup_flags2) {
+ dev->write(dev, FF_WU_CFG_2, p->wakeup_flags2);
+ dev->write(dev, FF_WU_THS_2, p->wakeup_thresh2 & 0x7f);
+ /* default to 2.5ms for now */
+ dev->write(dev, FF_WU_DURATION_2, 1);
+ ctrl2 ^= HP_FF_WU2; /* Xor to keep compatible with old pdata*/
}
+ /* Configure hipass filters */
+ dev->write(dev, CTRL_REG2, ctrl2);
}
/*
diff --git a/include/linux/lis3lv02d.h b/include/linux/lis3lv02d.h
index f1ca0dc..d625199 100644
--- a/include/linux/lis3lv02d.h
+++ b/include/linux/lis3lv02d.h
@@ -43,6 +43,15 @@ struct lis3lv02d_platform_data {
#define LIS3_WAKEUP_Z_HI (1 << 5)
unsigned char wakeup_flags;
unsigned char wakeup_thresh;
+ unsigned char wakeup_flags2;
+ unsigned char wakeup_thresh2;
+#define LIS3_HIPASS_CUTFF_8HZ 0
+#define LIS3_HIPASS_CUTFF_4HZ 1
+#define LIS3_HIPASS_CUTFF_2HZ 2
+#define LIS3_HIPASS_CUTFF_1HZ 3
+#define LIS3_HIPASS1_DISABLE (1 << 2)
+#define LIS3_HIPASS2_DISABLE (1 << 3)
+ unsigned char hipass_ctrl;
#define LIS3_NO_MAP 0
#define LIS3_DEV_X 1
#define LIS3_DEV_Y 2
--
1.6.0.4
next prev parent reply other threads:[~2010-02-16 11:11 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-16 11:09 [PATCH V2 0/6] lis3lv02d: click and threshold interrupts Samu Onkalo
2010-02-16 11:09 ` [PATCH V2 1/6] lis3: Add missing constants for 8bit device Samu Onkalo
2010-02-16 11:09 ` [PATCH V2 2/6] lis3: Separate configuration function for 8 bit device Samu Onkalo
2010-02-16 11:09 ` Samu Onkalo [this message]
2010-02-16 11:09 ` [PATCH V2 4/6] lis3: Add skeletons for interrupt handlers Samu Onkalo
2010-02-16 11:09 ` [PATCH V2 5/6] lis3: Interrupt handlers for 8bit wakeup and click events Samu Onkalo
2010-02-16 11:09 ` [PATCH V2 6/6] lis3: Setup poll interval limits Samu Onkalo
2010-02-25 7:26 ` [PATCH V2 0/6] lis3lv02d: click and threshold interrupts samu.p.onkalo
2010-03-06 14:26 ` Éric Piel
2010-03-15 6:53 ` samu.p.onkalo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1266318571-31083-4-git-send-email-samu.p.onkalo@nokia.com \
--to=samu.p.onkalo@nokia.com \
--cc=daniel@caiaq.de \
--cc=eric.piel@tremplin-utc.net \
--cc=linux-kernel@vger.kernel.org \
--cc=lm-sensors@lm-sensors.org \
--cc=pavel@ucw.cz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®