61 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2/*3 * c8sectpfe-common.h - C8SECTPFE STi DVB driver4 *5 * Copyright (c) STMicroelectronics 20156 *7 * Author: Peter Griffin <peter.griffin@linaro.org>8 *9 */10#ifndef _C8SECTPFE_COMMON_H_11#define _C8SECTPFE_COMMON_H_12 13#include <linux/dvb/dmx.h>14#include <linux/dvb/frontend.h>15#include <linux/gpio.h>16 17#include <media/dmxdev.h>18#include <media/dvb_demux.h>19#include <media/dvb_frontend.h>20#include <media/dvb_net.h>21 22/* Maximum number of channels */23#define C8SECTPFE_MAXADAPTER (4)24#define C8SECTPFE_MAXCHANNEL 6425#define STPTI_MAXCHANNEL 6426 27#define MAX_INPUTBLOCKS 728 29struct c8sectpfe;30struct stdemux;31 32struct stdemux {33 struct dvb_demux dvb_demux;34 struct dmxdev dmxdev;35 struct dmx_frontend hw_frontend;36 struct dmx_frontend mem_frontend;37 int tsin_index;38 int running_feed_count;39 struct c8sectpfei *c8sectpfei;40};41 42struct c8sectpfe {43 struct stdemux demux[MAX_INPUTBLOCKS];44 struct mutex lock;45 struct dvb_adapter adapter;46 struct device *device;47 int mapping;48 int num_feeds;49};50 51/* Channel registration */52int c8sectpfe_tuner_register_frontend(struct c8sectpfe **c8sectpfe,53 struct c8sectpfei *fei,54 void *start_feed,55 void *stop_feed);56 57void c8sectpfe_tuner_unregister_frontend(struct c8sectpfe *c8sectpfe,58 struct c8sectpfei *fei);59 60#endif61