66 lines · c
1/* SPDX-License-Identifier: GPL-2.0-or-later */2/*3 STV6110(A) Silicon tuner driver4 5 Copyright (C) Manu Abraham <abraham.manu@gmail.com>6 7 Copyright (C) ST Microelectronics8 9*/10 11#ifndef __STV6110x_PRIV_H12#define __STV6110x_PRIV_H13 14#define FE_ERROR 015#define FE_NOTICE 116#define FE_INFO 217#define FE_DEBUG 318#define FE_DEBUGREG 419 20#define dprintk(__y, __z, format, arg...) do { \21 if (__z) { \22 if ((verbose > FE_ERROR) && (verbose > __y)) \23 printk(KERN_ERR "%s: " format "\n", __func__, ##arg); \24 else if ((verbose > FE_NOTICE) && (verbose > __y)) \25 printk(KERN_NOTICE "%s: " format "\n", __func__, ##arg); \26 else if ((verbose > FE_INFO) && (verbose > __y)) \27 printk(KERN_INFO "%s: " format "\n", __func__, ##arg); \28 else if ((verbose > FE_DEBUG) && (verbose > __y)) \29 printk(KERN_DEBUG "%s: " format "\n", __func__, ##arg); \30 } else { \31 if (verbose > __y) \32 printk(format, ##arg); \33 } \34} while (0)35 36 37#define STV6110x_SETFIELD(mask, bitf, val) \38 (mask = (mask & (~(((1 << STV6110x_WIDTH_##bitf) - 1) << \39 STV6110x_OFFST_##bitf))) | \40 (val << STV6110x_OFFST_##bitf))41 42#define STV6110x_GETFIELD(bitf, val) \43 ((val >> STV6110x_OFFST_##bitf) & \44 ((1 << STV6110x_WIDTH_##bitf) - 1))45 46#define MAKEWORD16(a, b) (((a) << 8) | (b))47 48#define LSB(x) ((x & 0xff))49#define MSB(y) ((y >> 8) & 0xff)50 51#define TRIALS 1052#define R_DIV(__div) (1 << (__div + 1))53#define REFCLOCK_kHz (stv6110x->config->refclk / 1000)54#define REFCLOCK_MHz (stv6110x->config->refclk / 1000000)55 56struct stv6110x_state {57 struct dvb_frontend *frontend;58 struct i2c_adapter *i2c;59 const struct stv6110x_config *config;60 u8 regs[8];61 62 struct stv6110x_devctl *devctl;63};64 65#endif /* __STV6110x_PRIV_H */66