linux/drivers/media/common/siano/sms-cards.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 *  Card-specific functions for the Siano SMS1xxx USB dongle
 *
 *  Copyright (c) 2008 Michael Krufky <[email protected]>
 */

#ifndef __SMS_CARDS_H__
#define __SMS_CARDS_H__

#include "smscoreapi.h"

#include <linux/usb.h>
#include "smsir.h"

#define SMS_BOARD_UNKNOWN
#define SMS1XXX_BOARD_SIANO_STELLAR
#define SMS1XXX_BOARD_SIANO_NOVA_A
#define SMS1XXX_BOARD_SIANO_NOVA_B
#define SMS1XXX_BOARD_SIANO_VEGA
#define SMS1XXX_BOARD_HAUPPAUGE_CATAMOUNT
#define SMS1XXX_BOARD_HAUPPAUGE_OKEMO_A
#define SMS1XXX_BOARD_HAUPPAUGE_OKEMO_B
#define SMS1XXX_BOARD_HAUPPAUGE_WINDHAM
#define SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD
#define SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD_R2
#define SMS1XXX_BOARD_SIANO_NICE
#define SMS1XXX_BOARD_SIANO_VENICE
#define SMS1XXX_BOARD_SIANO_STELLAR_ROM
#define SMS1XXX_BOARD_ZTE_DVB_DATA_CARD
#define SMS1XXX_BOARD_ONDA_MDTV_DATA_CARD
#define SMS1XXX_BOARD_SIANO_MING
#define SMS1XXX_BOARD_SIANO_PELE
#define SMS1XXX_BOARD_SIANO_RIO
#define SMS1XXX_BOARD_SIANO_DENVER_1530
#define SMS1XXX_BOARD_SIANO_DENVER_2160
#define SMS1XXX_BOARD_PCTV_77E

struct sms_board_gpio_cfg {};

struct sms_board {};

struct sms_board *sms_get_board(unsigned id);

extern struct smscore_device_t *coredev;

enum SMS_BOARD_EVENTS {};

int sms_board_event(struct smscore_device_t *coredev,
		enum SMS_BOARD_EVENTS gevent);

int sms_board_setup(struct smscore_device_t *coredev);

#define SMS_LED_OFF
#define SMS_LED_LO
#define SMS_LED_HI
int sms_board_led_feedback(struct smscore_device_t *coredev, int led);
int sms_board_power(struct smscore_device_t *coredev, int onoff);
int sms_board_lna_control(struct smscore_device_t *coredev, int onoff);

extern int sms_board_load_modules(int id);

#endif /* __SMS_CARDS_H__ */