aboutsummaryrefslogtreecommitdiff
path: root/drivers/input/touchscreen/ts_filter_linear.h
diff options
context:
space:
mode:
authorNelson Castillo <arhuaco@freaks-unidos.net>2009-03-10 12:04:05 +0000
committerAndy Green <agreen@octopus.localdomain>2009-03-10 12:04:05 +0000
commitbd88fa696f505a8a71484341e4fcde581b2d12a6 (patch)
treebca483a0c57848ca6d122907c42a0c7c04fbeb4a /drivers/input/touchscreen/ts_filter_linear.h
parent45aeeebf673b03329c423c2382a836ca878dd851 (diff)
Improve filter API and update filters
This patch turns upstream feedback into API modifications and code improvements. There will be more patches implementing upstream corrections but this one is the that will make most of the invasive changes and make the most important improvements to the API. Tested in a GTA02/rev06. The goals of this patch are: * Replace recursive calls with iteration. * General code improvements. * Make ts_filter_mean.c a reference for the rest of the filters. * Make the (almost)minimum number of changes to the other filters so that they compile and work, patches for cleaning these up will come next. * Filters should do what they were doing before. Some important changes: * Move "struct ts_filter tsf" in the private structures to force a crash (or break things) if we forget to remove an open-coded cast. * ts_filter.c/ts_filter.h ~ API modifications. * s3c2410_ts.c: ~ Use the new API. ~ Cleanups. * ts_filter_mean.c ~ Replace with a simple mean. ~ Use as a reference for the new API. ~ Move private structure from the .h to the .c. * ts_filter_group.c ~ Update to use the new API. * ts_filter_median.c ~ Update to use the new API. * ts_filter_linear.c ~ Remove functions that are no longer needed. Note: I might leave some TODOs and FIXMEs with this patch. Most of them will be removed shortly. Signed-off-by: Nelson Castillo <arhuaco@freaks-unidos.net>
Diffstat (limited to 'drivers/input/touchscreen/ts_filter_linear.h')
-rw-r--r--drivers/input/touchscreen/ts_filter_linear.h38
1 files changed, 1 insertions, 37 deletions
diff --git a/drivers/input/touchscreen/ts_filter_linear.h b/drivers/input/touchscreen/ts_filter_linear.h
index fc27cf77228..9da5b82881c 100644
--- a/drivers/input/touchscreen/ts_filter_linear.h
+++ b/drivers/input/touchscreen/ts_filter_linear.h
@@ -14,51 +14,15 @@
#define TS_FILTER_LINEAR_NCONSTANTS 7
-/* sysfs */
-
-struct ts_filter_linear;
-
-struct const_obj {
- struct ts_filter_linear *tsfl;
- struct kobject kobj;
-};
-
-#define to_const_obj(x) container_of(x, struct const_obj, kobj)
-
-struct const_attribute {
- struct attribute attr;
- ssize_t (*show)(struct const_obj *const, struct const_attribute *attr,
- char *buf);
- ssize_t (*store)(struct const_obj *const, struct const_attribute *attr,
- const char *buf, size_t count);
-};
-
-#define to_const_attr(x) container_of(x, struct const_attribute, attr)
-
/* filter configuration */
+/* FIXME: comment every field. */
struct ts_filter_linear_configuration {
int constants[TS_FILTER_LINEAR_NCONSTANTS];
int coord0;
int coord1;
};
-/* the filter */
-
-struct ts_filter_linear {
- struct ts_filter tsf;
- struct ts_filter_linear_configuration *config;
-
- int constants[TS_FILTER_LINEAR_NCONSTANTS];
-
- /* sysfs */
- struct const_obj c_obj;
- struct kobj_type const_ktype;
- struct const_attribute kattrs[TS_FILTER_LINEAR_NCONSTANTS];
- struct attribute *attrs[TS_FILTER_LINEAR_NCONSTANTS + 1];
- char attr_names[TS_FILTER_LINEAR_NCONSTANTS][2];
-};
-
extern struct ts_filter_api ts_filter_linear_api;
#endif