10f0b270f905bbb0c8e75988ceaf10ff9a401e712Ralph Metzler/*
20f0b270f905bbb0c8e75988ceaf10ff9a401e712Ralph Metzler * cxd2099.h: Driver for the CXD2099AR Common Interface Controller
30f0b270f905bbb0c8e75988ceaf10ff9a401e712Ralph Metzler *
46eb94193fa9a54aab0e1dae8311297682634c3bdRalph Metzler * Copyright (C) 2010-2011 Digital Devices GmbH
50f0b270f905bbb0c8e75988ceaf10ff9a401e712Ralph Metzler *
60f0b270f905bbb0c8e75988ceaf10ff9a401e712Ralph Metzler *
70f0b270f905bbb0c8e75988ceaf10ff9a401e712Ralph Metzler * This program is free software; you can redistribute it and/or
80f0b270f905bbb0c8e75988ceaf10ff9a401e712Ralph Metzler * modify it under the terms of the GNU General Public License
90f0b270f905bbb0c8e75988ceaf10ff9a401e712Ralph Metzler * version 2 only, as published by the Free Software Foundation.
100f0b270f905bbb0c8e75988ceaf10ff9a401e712Ralph Metzler *
110f0b270f905bbb0c8e75988ceaf10ff9a401e712Ralph Metzler *
120f0b270f905bbb0c8e75988ceaf10ff9a401e712Ralph Metzler * This program is distributed in the hope that it will be useful,
130f0b270f905bbb0c8e75988ceaf10ff9a401e712Ralph Metzler * but WITHOUT ANY WARRANTY; without even the implied warranty of
140f0b270f905bbb0c8e75988ceaf10ff9a401e712Ralph Metzler * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
150f0b270f905bbb0c8e75988ceaf10ff9a401e712Ralph Metzler * GNU General Public License for more details.
160f0b270f905bbb0c8e75988ceaf10ff9a401e712Ralph Metzler *
170f0b270f905bbb0c8e75988ceaf10ff9a401e712Ralph Metzler *
180f0b270f905bbb0c8e75988ceaf10ff9a401e712Ralph Metzler * You should have received a copy of the GNU General Public License
190f0b270f905bbb0c8e75988ceaf10ff9a401e712Ralph Metzler * along with this program; if not, write to the Free Software
200f0b270f905bbb0c8e75988ceaf10ff9a401e712Ralph Metzler * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
210f0b270f905bbb0c8e75988ceaf10ff9a401e712Ralph Metzler * 02110-1301, USA
220f0b270f905bbb0c8e75988ceaf10ff9a401e712Ralph Metzler * Or, point your browser to http://www.gnu.org/copyleft/gpl.html
230f0b270f905bbb0c8e75988ceaf10ff9a401e712Ralph Metzler */
240f0b270f905bbb0c8e75988ceaf10ff9a401e712Ralph Metzler
250f0b270f905bbb0c8e75988ceaf10ff9a401e712Ralph Metzler#ifndef _CXD2099_H_
260f0b270f905bbb0c8e75988ceaf10ff9a401e712Ralph Metzler#define _CXD2099_H_
270f0b270f905bbb0c8e75988ceaf10ff9a401e712Ralph Metzler
280f0b270f905bbb0c8e75988ceaf10ff9a401e712Ralph Metzler#include <dvb_ca_en50221.h>
290f0b270f905bbb0c8e75988ceaf10ff9a401e712Ralph Metzler
306eb94193fa9a54aab0e1dae8311297682634c3bdRalph Metzlerstruct cxd2099_cfg {
316eb94193fa9a54aab0e1dae8311297682634c3bdRalph Metzler	u32 bitrate;
326eb94193fa9a54aab0e1dae8311297682634c3bdRalph Metzler	u8  adr;
339daf9bccb3f82a61edfc62515297f1b2b876a591Oliver Endriss	u8  polarity:1;
349daf9bccb3f82a61edfc62515297f1b2b876a591Oliver Endriss	u8  clock_mode:1;
356eb94193fa9a54aab0e1dae8311297682634c3bdRalph Metzler};
366eb94193fa9a54aab0e1dae8311297682634c3bdRalph Metzler
378112248a1b66440f6c562c2669aba6950ef48199Mauro Carvalho Chehab#if defined(CONFIG_DVB_CXD2099) || \
389daf9bccb3f82a61edfc62515297f1b2b876a591Oliver Endriss	(defined(CONFIG_DVB_CXD2099_MODULE) && defined(MODULE))
396eb94193fa9a54aab0e1dae8311297682634c3bdRalph Metzlerstruct dvb_ca_en50221 *cxd2099_attach(struct cxd2099_cfg *cfg,
406eb94193fa9a54aab0e1dae8311297682634c3bdRalph Metzler				      void *priv, struct i2c_adapter *i2c);
418112248a1b66440f6c562c2669aba6950ef48199Mauro Carvalho Chehab#else
426eb94193fa9a54aab0e1dae8311297682634c3bdRalph Metzler
436eb94193fa9a54aab0e1dae8311297682634c3bdRalph Metzlerstatic inline struct dvb_ca_en50221 *cxd2099_attach(struct cxd2099_cfg *cfg,
447dfd071271bb237d16d8088287bf52a2684cb3caOliver Endriss					void *priv, struct i2c_adapter *i2c)
458112248a1b66440f6c562c2669aba6950ef48199Mauro Carvalho Chehab{
468112248a1b66440f6c562c2669aba6950ef48199Mauro Carvalho Chehab	printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
478112248a1b66440f6c562c2669aba6950ef48199Mauro Carvalho Chehab	return NULL;
488112248a1b66440f6c562c2669aba6950ef48199Mauro Carvalho Chehab}
498112248a1b66440f6c562c2669aba6950ef48199Mauro Carvalho Chehab#endif
500f0b270f905bbb0c8e75988ceaf10ff9a401e712Ralph Metzler
510f0b270f905bbb0c8e75988ceaf10ff9a401e712Ralph Metzler#endif
52