This patch adds the following functions:

* ts_filter_mean_clear_internal
* ts_filter_median_clear_internal

The idea: avoid calling the clean function of other filters
          when we initialize one.

Also:

* modify messages for consistency.
* remove an unneeded else.

Signed-off-by: Nelson Castillo <[EMAIL PROTECTED]>
---

 drivers/input/touchscreen/ts_filter_mean.c   |   18 ++++++++++++------
 drivers/input/touchscreen/ts_filter_median.c |   21 +++++++++++++--------
 2 files changed, 25 insertions(+), 14 deletions(-)

diff --git a/drivers/input/touchscreen/ts_filter_mean.c 
b/drivers/input/touchscreen/ts_filter_mean.c
index 2322432..a2f1748 100644
--- a/drivers/input/touchscreen/ts_filter_mean.c
+++ b/drivers/input/touchscreen/ts_filter_mean.c
@@ -36,7 +36,7 @@
 #include <linux/slab.h>
 #include <linux/ts_filter_mean.h>
 
-static void ts_filter_mean_clear(struct ts_filter *tsf)
+static void ts_filter_mean_clear_internal(struct ts_filter *tsf)
 {
        struct ts_filter_mean *tsfs = (struct ts_filter_mean *)tsf;
        int n;
@@ -46,6 +46,11 @@ static void ts_filter_mean_clear(struct ts_filter *tsf)
                tsfs->ftail[n] = 0;
                tsfs->lowpass[n] = 0;
        }
+}
+
+static void ts_filter_mean_clear(struct ts_filter *tsf)
+{
+       ts_filter_mean_clear_internal(tsf);
 
        if (tsf->next) /* chain */
                (tsf->next->api->clear)(tsf->next);
@@ -82,10 +87,11 @@ static struct ts_filter *ts_filter_mean_create(void 
*config, int count_coords)
        if (!tsfs->config->averaging_threshold)
                tsfs->config->averaging_threshold = 0xffff; /* always active */
 
-       ts_filter_mean_clear(&tsfs->tsf);
+       ts_filter_mean_clear_internal(&tsfs->tsf);
 
-       printk(KERN_INFO "  Created Mean ts filter len %d thresh %d\n",
-                      tsfs->config->extent, tsfs->config->averaging_threshold);
+       printk(KERN_INFO"  Created Mean ts filter len %d depth %d thresh %d\n",
+              tsfs->config->extent, count_coords,
+              tsfs->config->averaging_threshold);
 
        return &tsfs->tsf;
 }
@@ -151,8 +157,8 @@ static int ts_filter_mean_process(struct ts_filter *tsf, 
int *coords)
 
        if (tsf->next) /* chain */
                return (tsf->next->api->process)(tsf->next, coords);
-//     else
-               return 1;
+
+       return 1;
 }
 
 struct ts_filter_api ts_filter_mean_api = {
diff --git a/drivers/input/touchscreen/ts_filter_median.c 
b/drivers/input/touchscreen/ts_filter_median.c
index d60c431..67dd3fe 100644
--- a/drivers/input/touchscreen/ts_filter_median.c
+++ b/drivers/input/touchscreen/ts_filter_median.c
@@ -65,13 +65,18 @@ static void ts_filter_median_del(int *p, int value, int 
count)
 }
 
 
-static void ts_filter_median_clear(struct ts_filter *tsf)
+static void ts_filter_median_clear_internal(struct ts_filter *tsf)
 {
        struct ts_filter_median *tsfm = (struct ts_filter_median *)tsf;
 
        tsfm->pos = 0;
        tsfm->valid = 0;
 
+}
+static void ts_filter_median_clear(struct ts_filter *tsf)
+{
+       ts_filter_median_clear_internal(tsf);
+
        if (tsf->next) /* chain */
                (tsf->next->api->clear)(tsf->next);
 }
@@ -92,10 +97,6 @@ static struct ts_filter *ts_filter_median_create(void * 
conf, int count_coords)
 
        tsfm->config->midpoint = (tsfm->config->extent >> 1) + 1;
 
-       printk(KERN_INFO"  Creating Median ts filter len %d depth %d dec %d\n",
-               tsfm->config->extent, count_coords,
-                                           tsfm->config->decimation_threshold);
-
        p = kmalloc(2 * count_coords * sizeof(int) * (tsfm->config->extent + 1),
                                                                    GFP_KERNEL);
        if (!p) {
@@ -110,7 +111,11 @@ static struct ts_filter *ts_filter_median_create(void * 
conf, int count_coords)
                p += tsfm->config->extent + 1;
        }
 
-       ts_filter_median_clear(&tsfm->tsf);
+       ts_filter_median_clear_internal(&tsfm->tsf);
+
+       printk(KERN_INFO"  Created Median ts filter len %d depth %d dec %d\n",
+              tsfm->config->extent, count_coords,
+              tsfm->config->decimation_threshold);
 
        return &tsfm->tsf;
 }
@@ -195,8 +200,8 @@ static int ts_filter_median_process(struct ts_filter *tsf, 
int *coords)
 
        if (tsf->next) /* chain */
                return (tsf->next->api->process)(tsf->next, coords);
-       else
-               return 1;
+
+       return 1;
 }
 
 struct ts_filter_api ts_filter_median_api = {


Reply via email to