1 #ifndef __TS_FILTER_LINEAR_H__
2 #define __TS_FILTER_LINEAR_H__
5 #include <linux/kobject.h>
8 * Touchscreen linear filter.
10 * Copyright (C) 2008 by Openmoko, Inc.
11 * Author: Nelson Castillo <arhuaco@freaks-unidos.net>
15 #define TS_FILTER_LINEAR_NCONSTANTS 7
19 struct ts_filter_linear
;
22 struct ts_filter_linear
*tsfl
;
26 #define to_const_obj(x) container_of(x, struct const_obj, kobj)
28 struct const_attribute
{
29 struct attribute attr
;
30 ssize_t (*show
)(struct const_obj
*const, struct const_attribute
*attr
,
32 ssize_t (*store
)(struct const_obj
*const, struct const_attribute
*attr
,
33 const char *buf
, size_t count
);
36 #define to_const_attr(x) container_of(x, struct const_attribute, attr)
38 /* filter configuration */
40 struct ts_filter_linear_configuration
{
41 int constants
[TS_FILTER_LINEAR_NCONSTANTS
];
48 struct ts_filter_linear
{
50 struct ts_filter_linear_configuration
*config
;
52 int constants
[TS_FILTER_LINEAR_NCONSTANTS
];
55 struct const_obj c_obj
;
56 struct kobj_type const_ktype
;
57 struct const_attribute kattrs
[TS_FILTER_LINEAR_NCONSTANTS
];
58 struct attribute
*attrs
[TS_FILTER_LINEAR_NCONSTANTS
+ 1];
59 char attr_names
[TS_FILTER_LINEAR_NCONSTANTS
][2];
62 extern struct ts_filter_api ts_filter_linear_api
;