diff options
author | Lars-Peter Clausen <lars@metafoo.de> | 2009-10-24 22:09:26 +0200 |
---|---|---|
committer | Lars-Peter Clausen <lars@metafoo.de> | 2009-10-24 22:09:26 +0200 |
commit | 21f85315656630a662927b9754549b30d7198777 (patch) | |
tree | 694e70e97c3e8fe2456c7dedca58e9629f244d22 /drivers | |
parent | 1a6ac25d8fe1a5f4fccb1a733acd7a78b8ebc07e (diff) | |
parent | 36a5e8676f2d19482cd4d9837c12d24c58882f8a (diff) |
Merge branch 's3c-touchscreen-2.6.31' into om-gta01-2.6.31
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/input/touchscreen/s3c2410_ts.c | 2 | ||||
-rw-r--r-- | drivers/input/touchscreen/ts_filter.h | 74 | ||||
-rw-r--r-- | drivers/input/touchscreen/ts_filter_chain.c | 4 | ||||
-rw-r--r-- | drivers/input/touchscreen/ts_filter_chain.h | 58 | ||||
-rw-r--r-- | drivers/input/touchscreen/ts_filter_group.c | 2 | ||||
-rw-r--r-- | drivers/input/touchscreen/ts_filter_group.h | 36 | ||||
-rw-r--r-- | drivers/input/touchscreen/ts_filter_linear.c | 2 | ||||
-rw-r--r-- | drivers/input/touchscreen/ts_filter_linear.h | 31 | ||||
-rw-r--r-- | drivers/input/touchscreen/ts_filter_mean.c | 2 | ||||
-rw-r--r-- | drivers/input/touchscreen/ts_filter_mean.h | 28 | ||||
-rw-r--r-- | drivers/input/touchscreen/ts_filter_median.c | 2 | ||||
-rw-r--r-- | drivers/input/touchscreen/ts_filter_median.h | 32 |
12 files changed, 7 insertions, 266 deletions
diff --git a/drivers/input/touchscreen/s3c2410_ts.c b/drivers/input/touchscreen/s3c2410_ts.c index caccc83cd12..db083a16284 100644 --- a/drivers/input/touchscreen/s3c2410_ts.c +++ b/drivers/input/touchscreen/s3c2410_ts.c @@ -72,7 +72,7 @@ #include <plat/regs-adc.h> #include <plat/adc.h> -#include "ts_filter_chain.h" +#include <linux/input/touchscreen/ts_filter_chain.h> /* For ts.dev.id.version */ #define S3C2410TSVERSION 0x0101 diff --git a/drivers/input/touchscreen/ts_filter.h b/drivers/input/touchscreen/ts_filter.h deleted file mode 100644 index 632e5fb3f4e..00000000000 --- a/drivers/input/touchscreen/ts_filter.h +++ /dev/null @@ -1,74 +0,0 @@ -#ifndef __TS_FILTER_H__ -#define __TS_FILTER_H__ - -/* - * Touchscreen filter. - * - * (c) 2008,2009 Andy Green <andy@warmcat.com> - */ - -#include <linux/platform_device.h> - -#define MAX_TS_FILTER_COORDS 3 /* X, Y and Z (pressure). */ - -struct ts_filter; -struct ts_filter_configuration; - -/* Operations that a filter can perform. */ - -struct ts_filter_api { - /* Create the filter - mandatory. */ - struct ts_filter * (*create)( - struct platform_device *pdev, - const struct ts_filter_configuration *config, - int count_coords); - /* Destroy the filter - mandatory. */ - void (*destroy)(struct ts_filter *filter); - /* Clear the filter - optional. */ - void (*clear)(struct ts_filter *filter); - - - /* - * The next three API functions only make sense if all of them are - * set for a filter. If a filter has the next three methods then - * it can propagate coordinates in the chain. - */ - - /* - * Process the filter. - * It returns non-zero if the filter reaches an error. - */ - int (*process)(struct ts_filter *filter, int *coords); - /* - * Is the filter ready to return a point? - * Please do not code side effects in this function. - */ - int (*haspoint)(struct ts_filter *filter); - /* - * Get a point. - * Do not call unless the filter actually has a point to deliver. - */ - void (*getpoint)(struct ts_filter *filter, int *coords); - - /* - * Scale the points - optional. - * A filter could only scale coordinates. - */ - void (*scale)(struct ts_filter *filter, int *coords); -}; - -/* - * Generic filter configuration. Actual configurations have this structure - * as a member. - */ -struct ts_filter_configuration { -}; - -struct ts_filter { - /* Operations for this filter. */ - const struct ts_filter_api *api; - /* Number of coordinates to process. */ - int count_coords; -}; - -#endif diff --git a/drivers/input/touchscreen/ts_filter_chain.c b/drivers/input/touchscreen/ts_filter_chain.c index 17793ace144..8b5e2145b27 100644 --- a/drivers/input/touchscreen/ts_filter_chain.c +++ b/drivers/input/touchscreen/ts_filter_chain.c @@ -19,8 +19,8 @@ #include <linux/kernel.h> #include <linux/device.h> -#include "ts_filter_chain.h" -#include "ts_filter.h" +#include <linux/input/touchscreen/ts_filter_chain.h> +#include <linux/input/touchscreen/ts_filter.h> /* * Tux, would you like the following function in /lib? diff --git a/drivers/input/touchscreen/ts_filter_chain.h b/drivers/input/touchscreen/ts_filter_chain.h deleted file mode 100644 index 065a6a026d2..00000000000 --- a/drivers/input/touchscreen/ts_filter_chain.h +++ /dev/null @@ -1,58 +0,0 @@ -#ifndef __TS_FILTER_CHAIN_H__ -#define __TS_FILTER_CHAIN_H__ - -/* - * Touchscreen filter chains. - * - * (c) 2008,2009 Andy Green <andy@warmcat.com> - */ - -#include "ts_filter.h" - -#include <linux/err.h> - -struct ts_filter_chain_configuration { - /* API to use. */ - const struct ts_filter_api *api; - /* Generic filter configuration. Different for each filter. */ - const struct ts_filter_configuration *config; -}; - -struct ts_filter_chain; - -#ifdef CONFIG_TOUCHSCREEN_FILTER - -/* - * Create a filter chain. It will allocate an array of - * null-terminated pointers to filters. On error it will return - * an error you can check with IS_ERR. - */ -extern struct ts_filter_chain *ts_filter_chain_create( - struct platform_device *pdev, - const struct ts_filter_chain_configuration conf[], - int count_coords); - -/* Destroy the chain. */ -extern void ts_filter_chain_destroy(struct ts_filter_chain *c); - -/* Clear the filter chain. */ -extern void ts_filter_chain_clear(struct ts_filter_chain *c); - -/* - * Try to get one point. Returns 0 if no points are available. - * coords will be used as temporal space, thus you supply a point - * using coords but you shouldn't rely on its value on return unless - * it returns a nonzero value that is not -1. - * If one of the filters find an error then this function will - * return -1. - */ -int ts_filter_chain_feed(struct ts_filter_chain *c, int *coords); - -#else /* !CONFIG_TOUCHSCREEN_FILTER */ -#define ts_filter_chain_create(pdev, config, count_coords) (NULL) -#define ts_filter_chain_destroy(c) do { } while (0) -#define ts_filter_chain_clear(c) do { } while (0) -#define ts_filter_chain_feed(c, coords) (1) -#endif - -#endif diff --git a/drivers/input/touchscreen/ts_filter_group.c b/drivers/input/touchscreen/ts_filter_group.c index 722e8dfbdae..9e344c5f19f 100644 --- a/drivers/input/touchscreen/ts_filter_group.c +++ b/drivers/input/touchscreen/ts_filter_group.c @@ -45,7 +45,7 @@ #include <linux/kernel.h> #include <linux/slab.h> -#include "ts_filter_group.h" +#include <linux/input/touchscreen/ts_filter_group.h> struct coord_range { int min; /* Minimum value of the range. */ diff --git a/drivers/input/touchscreen/ts_filter_group.h b/drivers/input/touchscreen/ts_filter_group.h deleted file mode 100644 index d1e3590e936..00000000000 --- a/drivers/input/touchscreen/ts_filter_group.h +++ /dev/null @@ -1,36 +0,0 @@ -#ifndef __TS_FILTER_GROUP_H__ -#define __TS_FILTER_GROUP_H__ - -#include "ts_filter.h" - -/* - * Touchscreen group filter. - * - * Copyright (C) 2008,2009 by Openmoko, Inc. - * Author: Nelson Castillo <arhuaco@freaks-unidos.net> - * - */ - -struct ts_filter_group_configuration { - /* Size of the filter. */ - int length; - /* - * If two points are separated by this distance or less they - * are considered to be members of the same group. - */ - int close_enough; - /* Minimum allowed size for the biggest group in the sample set. */ - int threshold; - /* - * Number of times we try to get a group of points with at least - * threshold points. - */ - int attempts; - - /* Generic filter configuration. */ - struct ts_filter_configuration config; -}; - -extern const struct ts_filter_api ts_filter_group_api; - -#endif diff --git a/drivers/input/touchscreen/ts_filter_linear.c b/drivers/input/touchscreen/ts_filter_linear.c index 7718bbc6e6d..8b496591eec 100644 --- a/drivers/input/touchscreen/ts_filter_linear.c +++ b/drivers/input/touchscreen/ts_filter_linear.c @@ -28,7 +28,7 @@ #include <linux/slab.h> #include <linux/string.h> -#include "ts_filter_linear.h" +#include <linux/input/touchscreen/ts_filter_linear.h> struct ts_filter_linear; diff --git a/drivers/input/touchscreen/ts_filter_linear.h b/drivers/input/touchscreen/ts_filter_linear.h deleted file mode 100644 index 82df3d25b50..00000000000 --- a/drivers/input/touchscreen/ts_filter_linear.h +++ /dev/null @@ -1,31 +0,0 @@ -#ifndef __TS_FILTER_LINEAR_H__ -#define __TS_FILTER_LINEAR_H__ - -#include "ts_filter.h" -#include <linux/kobject.h> - -/* - * Touchscreen linear filter. - * - * Copyright (C) 2008,2009 by Openmoko, Inc. - * Author: Nelson Castillo <arhuaco@freaks-unidos.net> - * - */ - -#define TS_FILTER_LINEAR_NCONSTANTS 7 - -struct ts_filter_linear_configuration { - /* Calibration constants. */ - int constants[TS_FILTER_LINEAR_NCONSTANTS]; - /* First coordinate. */ - int coord0; - /* Second coordinate. */ - int coord1; - - /* Generic filter configuration. */ - struct ts_filter_configuration config; -}; - -extern const struct ts_filter_api ts_filter_linear_api; - -#endif diff --git a/drivers/input/touchscreen/ts_filter_mean.c b/drivers/input/touchscreen/ts_filter_mean.c index 0c604321713..ad4e9c1207c 100644 --- a/drivers/input/touchscreen/ts_filter_mean.c +++ b/drivers/input/touchscreen/ts_filter_mean.c @@ -25,7 +25,7 @@ #include <linux/kernel.h> #include <linux/slab.h> -#include "ts_filter_mean.h" +#include <linux/input/touchscreen/ts_filter_mean.h> struct ts_filter_mean { /* Copy of the private filter configuration. */ diff --git a/drivers/input/touchscreen/ts_filter_mean.h b/drivers/input/touchscreen/ts_filter_mean.h deleted file mode 100644 index 80f9b215dff..00000000000 --- a/drivers/input/touchscreen/ts_filter_mean.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef __TS_FILTER_MEAN_H__ -#define __TS_FILTER_MEAN_H__ - -#include "ts_filter.h" - -/* - * Touchscreen filter. - * - * mean - * - * (c) 2008,2009 - * Andy Green <andy@warmcat.com> - * Nelson Castillo <arhuaco@freaks-unidos.net> - */ - -/* Configuration for this filter. */ -struct ts_filter_mean_configuration { - /* Number of points for the mean. */ - int length; - - /* Generic filter configuration. */ - struct ts_filter_configuration config; -}; - -/* API functions for the mean filter */ -extern const struct ts_filter_api ts_filter_mean_api; - -#endif /* __TS_FILTER_MEAN_H__ */ diff --git a/drivers/input/touchscreen/ts_filter_median.c b/drivers/input/touchscreen/ts_filter_median.c index 6f8aae5941d..c608f7a9794 100644 --- a/drivers/input/touchscreen/ts_filter_median.c +++ b/drivers/input/touchscreen/ts_filter_median.c @@ -32,7 +32,7 @@ #include <linux/errno.h> #include <linux/kernel.h> #include <linux/slab.h> -#include "ts_filter_median.h" +#include <linux/input/touchscreen/ts_filter_median.h> struct ts_filter_median { /* Private configuration. */ diff --git a/drivers/input/touchscreen/ts_filter_median.h b/drivers/input/touchscreen/ts_filter_median.h deleted file mode 100644 index b13f361bb6a..00000000000 --- a/drivers/input/touchscreen/ts_filter_median.h +++ /dev/null @@ -1,32 +0,0 @@ -#ifndef __TS_FILTER_MEDIAN_H__ -#define __TS_FILTER_MEDIAN_H__ - -#include "ts_filter.h" - -/* - * Touchscreen filter. - * - * median - * - * (c) 2008 Andy Green <andy@warmcat.com> - */ - -struct ts_filter_median_configuration { - /* Size of the filter. */ - int extent; - /* Precomputed midpoint. */ - int midpoint; - /* A reference value for us to check if we are going fast or slow. */ - int decimation_threshold; - /* How many points to replace if we're going fast. */ - int decimation_above; - /* How many points to replace if we're going slow. */ - int decimation_below; - - /* Generic configuration. */ - struct ts_filter_configuration config; -}; - -extern const struct ts_filter_api ts_filter_median_api; - -#endif |