linux/drivers/media/platform/st/sti/c8sectpfe/c8sectpfe-core.c

// SPDX-License-Identifier: GPL-2.0
/*
 * c8sectpfe-core.c - C8SECTPFE STi DVB driver
 *
 * Copyright (c) STMicroelectronics 2015
 *
 *   Author:Peter Bennett <[email protected]>
 *	    Peter Griffin <[email protected]>
 *
 */
#include <linux/atomic.h>
#include <linux/clk.h>
#include <linux/completion.h>
#include <linux/delay.h>
#include <linux/device.h>
#include <linux/dma-mapping.h>
#include <linux/dvb/dmx.h>
#include <linux/dvb/frontend.h>
#include <linux/err.h>
#include <linux/errno.h>
#include <linux/firmware.h>
#include <linux/gpio/consumer.h>
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/io.h>
#include <linux/module.h>
#include <linux/of_platform.h>
#include <linux/pinctrl/consumer.h>
#include <linux/pinctrl/pinctrl.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
#include <linux/time.h>
#include <linux/usb.h>
#include <linux/wait.h>

#include "c8sectpfe-common.h"
#include "c8sectpfe-core.h"
#include "c8sectpfe-debugfs.h"

#include <media/dmxdev.h>
#include <media/dvb_demux.h>
#include <media/dvb_frontend.h>
#include <media/dvb_net.h>

#define FIRMWARE_MEMDMA
MODULE_FIRMWARE();

#define PID_TABLE_SIZE
#define POLL_MSECS

static int load_c8sectpfe_fw(struct c8sectpfei *fei);

#define TS_PKT_SIZE
#define HEADER_SIZE
#define PACKET_SIZE

#define FEI_ALIGNMENT
/* hw requires minimum of 8*PACKET_SIZE and padded to 8byte boundary */
#define FEI_BUFFER_SIZE

#define FIFO_LEN

static void c8sectpfe_timer_interrupt(struct timer_list *t)
{}

static void channel_swdemux_bh_work(struct work_struct *t)
{}

static int c8sectpfe_start_feed(struct dvb_demux_feed *dvbdmxfeed)
{}

static int c8sectpfe_stop_feed(struct dvb_demux_feed *dvbdmxfeed)
{}

static struct channel_info *find_channel(struct c8sectpfei *fei, int tsin_num)
{}

static void c8sectpfe_getconfig(struct c8sectpfei *fei)
{}

static irqreturn_t c8sectpfe_idle_irq_handler(int irq, void *priv)
{}


static void free_input_block(struct c8sectpfei *fei, struct channel_info *tsin)
{}

#define MAX_NAME

static int configure_memdma_and_inputblock(struct c8sectpfei *fei,
				struct channel_info *tsin)
{}

static irqreturn_t c8sectpfe_error_irq_handler(int irq, void *priv)
{}

static int c8sectpfe_probe(struct platform_device *pdev)
{}

static void c8sectpfe_remove(struct platform_device *pdev)
{}


static int configure_channels(struct c8sectpfei *fei)
{}

static int
c8sectpfe_elf_sanity_check(struct c8sectpfei *fei, const struct firmware *fw)
{}


static void load_imem_segment(struct c8sectpfei *fei, Elf32_Phdr *phdr,
			const struct firmware *fw, u8 __iomem *dest,
			int seg_num)
{}

static void load_dmem_segment(struct c8sectpfei *fei, Elf32_Phdr *phdr,
			const struct firmware *fw, u8 __iomem *dst, int seg_num)
{}

static int load_slim_core_fw(const struct firmware *fw, struct c8sectpfei *fei)
{}

static int load_c8sectpfe_fw(struct c8sectpfei *fei)
{}

static const struct of_device_id c8sectpfe_match[] =;
MODULE_DEVICE_TABLE(of, c8sectpfe_match);

static struct platform_driver c8sectpfe_driver =;

module_platform_driver();

MODULE_AUTHOR();
MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();