X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fsvn-archive%2Farchive.git;a=blobdiff_plain;f=target%2Flinux%2Fs3c24xx%2Ffiles-2.6.30%2Finclude%2Flinux%2Ftouchscreen%2Fts_filter_chain.h;fp=target%2Flinux%2Fs3c24xx%2Ffiles-2.6.30%2Finclude%2Flinux%2Ftouchscreen%2Fts_filter_chain.h;h=806bffe6c99169709a99b1c9bb8b026fd17a9db7;hp=0000000000000000000000000000000000000000;hb=a37a9745208ccf214ed46285da1b228f0d94fc76;hpb=163b8c327addd7e99818ff7071c18ae8bc65aabc diff --git a/target/linux/s3c24xx/files-2.6.30/include/linux/touchscreen/ts_filter_chain.h b/target/linux/s3c24xx/files-2.6.30/include/linux/touchscreen/ts_filter_chain.h new file mode 100644 index 0000000000..806bffe6c9 --- /dev/null +++ b/target/linux/s3c24xx/files-2.6.30/include/linux/touchscreen/ts_filter_chain.h @@ -0,0 +1,58 @@ +#ifndef __TS_FILTER_CHAIN_H__ +#define __TS_FILTER_CHAIN_H__ + +/* + * Touchscreen filter chains. + * + * (c) 2008,2009 Andy Green + */ + +#include "ts_filter.h" + +#include + +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