cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

stv0288.h (1297B)


      1/* SPDX-License-Identifier: GPL-2.0-or-later */
      2/*
      3	Driver for ST STV0288 demodulator
      4
      5	Copyright (C) 2006 Georg Acher, BayCom GmbH, acher (at) baycom (dot) de
      6		for Reel Multimedia
      7	Copyright (C) 2008 TurboSight.com, <bob@turbosight.com>
      8	Copyright (C) 2008 Igor M. Liplianin <liplianin@me.by>
      9		Removed stb6000 specific tuner code and revised some
     10		procedures.
     11
     12
     13*/
     14
     15#ifndef STV0288_H
     16#define STV0288_H
     17
     18#include <linux/dvb/frontend.h>
     19#include <media/dvb_frontend.h>
     20
     21struct stv0288_config {
     22	/* the demodulator's i2c address */
     23	u8 demod_address;
     24
     25	u8* inittab;
     26
     27	/* minimum delay before retuning */
     28	int min_delay_ms;
     29
     30	int (*set_ts_params)(struct dvb_frontend *fe, int is_punctured);
     31};
     32
     33#if IS_REACHABLE(CONFIG_DVB_STV0288)
     34extern struct dvb_frontend *stv0288_attach(const struct stv0288_config *config,
     35					   struct i2c_adapter *i2c);
     36#else
     37static inline struct dvb_frontend *stv0288_attach(const struct stv0288_config *config,
     38					   struct i2c_adapter *i2c)
     39{
     40	printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
     41	return NULL;
     42}
     43#endif /* CONFIG_DVB_STV0288 */
     44
     45static inline int stv0288_writereg(struct dvb_frontend *fe, u8 reg, u8 val)
     46{
     47	int r = 0;
     48	u8 buf[] = { reg, val };
     49	if (fe->ops.write)
     50		r = fe->ops.write(fe, buf, 2);
     51	return r;
     52}
     53
     54#endif /* STV0288_H */