diff options
author | Steven Toth <stoth@hauppauge.com> | 2007-12-18 05:55:51 +0100 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-01-25 22:04:11 +0100 |
commit | aacb9d31ee65c0685745ca4dfc7cdd24f8b7d92b (patch) | |
tree | a955b767ddb0d7e4f2f6a59a318d3a80a2a4a1ef /drivers/media/dvb/frontends/xc5000.h | |
parent | V4L/DVB (6882): dvb_frontend: release analog demod in dvb_frontend_detach (diff) | |
download | linux-aacb9d31ee65c0685745ca4dfc7cdd24f8b7d92b.tar.xz linux-aacb9d31ee65c0685745ca4dfc7cdd24f8b7d92b.zip |
V4L/DVB (6884): Add support for the Xceive xc5000 silicon tuner
This is an all formats tuner, QAM, ATSC, DVB-T and others.
Only ATSC and QAM have been tested.
Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/dvb/frontends/xc5000.h')
-rw-r--r-- | drivers/media/dvb/frontends/xc5000.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/drivers/media/dvb/frontends/xc5000.h b/drivers/media/dvb/frontends/xc5000.h new file mode 100644 index 000000000000..ce5a3212f8f4 --- /dev/null +++ b/drivers/media/dvb/frontends/xc5000.h @@ -0,0 +1,51 @@ +/* + * Driver for Xceive XC5000 "QAM/8VSB single chip tuner" + * + * Copyright (c) 2007 Steven Toth <stoth@hauppauge.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +#ifndef __XC5000_H__ +#define __XC5000_H__ + +#include <linux/firmware.h> + +struct dvb_frontend; +struct i2c_adapter; + +struct xc5000_config { + u8 i2c_address; + u32 if_frequency; + int (*request_firmware)(struct dvb_frontend* fe, const struct firmware **fw, char* name); + int (*tuner_reset)(struct dvb_frontend* fe); +}; + +#if defined(CONFIG_DVB_TUNER_XC5000) || defined(CONFIG_DVB_TUNER_XC5000_MODULE) +extern struct dvb_frontend* xc5000_attach(struct dvb_frontend *fe, + struct i2c_adapter *i2c, + struct xc5000_config *cfg); +#else +static inline struct dvb_frontend* xc5000_attach(struct dvb_frontend *fe, + struct i2c_adapter *i2c, + struct xc5000_config *cfg); +{ + printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __FUNCTION__); + return NULL; +} +#endif // CONFIG_DVB_TUNER_XC5000 + +#endif // __XC5000_H__ |