linux/drivers/media/radio/wl128x/fmdrv.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 *  FM Driver for Connectivity chip of Texas Instruments.
 *
 *  Common header for all FM driver sub-modules.
 *
 *  Copyright (C) 2011 Texas Instruments
 */

#ifndef _FM_DRV_H
#define _FM_DRV_H

#include <linux/skbuff.h>
#include <linux/interrupt.h>
#include <sound/core.h>
#include <sound/initval.h>
#include <linux/timer.h>
#include <linux/workqueue.h>
#include <media/v4l2-ioctl.h>
#include <media/v4l2-common.h>
#include <media/v4l2-device.h>
#include <media/v4l2-ctrls.h>

#define FM_DRV_VERSION
#define FM_DRV_NAME
#define FM_DRV_CARD_SHORT_NAME
#define FM_DRV_CARD_LONG_NAME

/* Flag info */
#define FM_INTTASK_RUNNING
#define FM_INTTASK_SCHEDULE_PENDING
#define FM_FW_DW_INPROGRESS
#define FM_CORE_READY
#define FM_CORE_TRANSPORT_READY
#define FM_AF_SWITCH_INPROGRESS
#define FM_CORE_TX_XMITING

#define FM_TUNE_COMPLETE
#define FM_BAND_LIMIT

#define FM_DRV_TX_TIMEOUT
#define FM_DRV_RX_SEEK_TIMEOUT

#define fmerr(format, ...)
#define fmwarn(format, ...)
#ifdef DEBUG
#define fmdbg
#else /* DEBUG */
#define fmdbg(format, ...)
#endif
enum {};

#define FM_RX_RDS_INFO_FIELD_MAX

/* RX RDS data format */
struct fm_rdsdata_format {};

/* FM region (Europe/US, Japan) info */
struct region_info {};
struct fmdev;
int_handler_prototype;

/* FM Interrupt processing related info */
struct fm_irq {};

/* RDS info */
struct fm_rds {};

#define FM_RDS_MAX_AF_LIST

/*
 * Current RX channel Alternate Frequency cache.
 * This info is used to switch to other freq (AF)
 * when current channel signal strength is below RSSI threshold.
 */
struct tuned_station_info {};

/* FM RX mode info */
struct fm_rx {};

#define FMTX_RDS_TXT_STR_SIZE
/*
 * FM TX RDS data
 *
 * @ text_type: is the text following PS or RT
 * @ text: radio text string which could either be PS or RT
 * @ af_freq: alternate frequency for Tx
 * TODO: to be declared in application
 */
struct tx_rds {};
/*
 * FM TX global data
 *
 * @ pwr_lvl: Power Level of the Transmission from mixer control
 * @ xmit_state: Transmission state = Updated locally upon Start/Stop
 * @ audio_io: i2S/Analog
 * @ tx_frq: Transmission frequency
 */
struct fmtx_data {};

/* FM driver operation structure */
struct fmdev {};
#endif