media: dvbdev: convert DVB device types into an enum
Enums can be documented via kernel-doc. So, convert the DVB_DEVICE_* macros to an enum. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
This commit is contained in:
parent
259a41d9ae
commit
6bbf7a855d
@ -51,8 +51,15 @@ static LIST_HEAD(dvb_adapter_list);
|
||||
static DEFINE_MUTEX(dvbdev_register_lock);
|
||||
|
||||
static const char * const dnames[] = {
|
||||
"video", "audio", "sec", "frontend", "demux", "dvr", "ca",
|
||||
"net", "osd"
|
||||
[DVB_DEVICE_VIDEO] = "video",
|
||||
[DVB_DEVICE_AUDIO] = "audio",
|
||||
[DVB_DEVICE_SEC] = "sec",
|
||||
[DVB_DEVICE_FRONTEND] = "frontend",
|
||||
[DVB_DEVICE_DEMUX] = "demux",
|
||||
[DVB_DEVICE_DVR] = "dvr",
|
||||
[DVB_DEVICE_CA] = "ca",
|
||||
[DVB_DEVICE_NET] = "net",
|
||||
[DVB_DEVICE_OSD] = "osd"
|
||||
};
|
||||
|
||||
#ifdef CONFIG_DVB_DYNAMIC_MINORS
|
||||
@ -60,7 +67,24 @@ static const char * const dnames[] = {
|
||||
#define DVB_MAX_IDS MAX_DVB_MINORS
|
||||
#else
|
||||
#define DVB_MAX_IDS 4
|
||||
#define nums2minor(num, type, id) ((num << 6) | (id << 4) | type)
|
||||
|
||||
static int nums2minor(int num, enum dvb_device_type type, int id)
|
||||
{
|
||||
int n = (num << 6) | (id << 4);
|
||||
|
||||
switch (type) {
|
||||
case DVB_DEVICE_VIDEO: return n;
|
||||
case DVB_DEVICE_AUDIO: return n | 1;
|
||||
case DVB_DEVICE_SEC: return n | 2;
|
||||
case DVB_DEVICE_FRONTEND: return n | 3;
|
||||
case DVB_DEVICE_DEMUX: return n | 4;
|
||||
case DVB_DEVICE_DVR: return n | 5;
|
||||
case DVB_DEVICE_CA: return n | 6;
|
||||
case DVB_DEVICE_NET: return n | 7;
|
||||
case DVB_DEVICE_OSD: return n | 8;
|
||||
}
|
||||
}
|
||||
|
||||
#define MAX_DVB_MINORS (DVB_MAX_ADAPTERS*64)
|
||||
#endif
|
||||
|
||||
@ -426,8 +450,8 @@ static int dvb_register_media_device(struct dvb_device *dvbdev,
|
||||
}
|
||||
|
||||
int dvb_register_device(struct dvb_adapter *adap, struct dvb_device **pdvbdev,
|
||||
const struct dvb_device *template, void *priv, int type,
|
||||
int demux_sink_pads)
|
||||
const struct dvb_device *template, void *priv,
|
||||
enum dvb_device_type type, int demux_sink_pads)
|
||||
{
|
||||
struct dvb_device *dvbdev;
|
||||
struct file_operations *dvbdevfops;
|
||||
|
@ -35,15 +35,37 @@
|
||||
|
||||
#define DVB_UNSET (-1)
|
||||
|
||||
#define DVB_DEVICE_VIDEO 0
|
||||
#define DVB_DEVICE_AUDIO 1
|
||||
#define DVB_DEVICE_SEC 2
|
||||
#define DVB_DEVICE_FRONTEND 3
|
||||
#define DVB_DEVICE_DEMUX 4
|
||||
#define DVB_DEVICE_DVR 5
|
||||
#define DVB_DEVICE_CA 6
|
||||
#define DVB_DEVICE_NET 7
|
||||
#define DVB_DEVICE_OSD 8
|
||||
/* List of DVB device types */
|
||||
|
||||
/**
|
||||
* enum dvb_device_type - type of the Digital TV device
|
||||
*
|
||||
* @DVB_DEVICE_SEC: Digital TV standalone Common Interface (CI)
|
||||
* @DVB_DEVICE_FRONTEND: Digital TV frontend.
|
||||
* @DVB_DEVICE_DEMUX: Digital TV demux.
|
||||
* @DVB_DEVICE_DVR: Digital TV digital video record (DVR).
|
||||
* @DVB_DEVICE_CA: Digital TV Conditional Access (CA).
|
||||
* @DVB_DEVICE_NET: Digital TV network.
|
||||
*
|
||||
* @DVB_DEVICE_VIDEO: Digital TV video decoder.
|
||||
* Deprecated. Used only on av7110-av.
|
||||
* @DVB_DEVICE_AUDIO: Digital TV audio decoder.
|
||||
* Deprecated. Used only on av7110-av.
|
||||
* @DVB_DEVICE_OSD: Digital TV On Screen Display (OSD).
|
||||
* Deprecated. Used only on av7110.
|
||||
*/
|
||||
enum dvb_device_type {
|
||||
DVB_DEVICE_SEC,
|
||||
DVB_DEVICE_FRONTEND,
|
||||
DVB_DEVICE_DEMUX,
|
||||
DVB_DEVICE_DVR,
|
||||
DVB_DEVICE_CA,
|
||||
DVB_DEVICE_NET,
|
||||
|
||||
DVB_DEVICE_VIDEO,
|
||||
DVB_DEVICE_AUDIO,
|
||||
DVB_DEVICE_OSD,
|
||||
};
|
||||
|
||||
#define DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr) \
|
||||
static short adapter_nr[] = \
|
||||
@ -104,8 +126,7 @@ struct dvb_adapter {
|
||||
* @list_head: List head with all DVB devices
|
||||
* @fops: pointer to struct file_operations
|
||||
* @adapter: pointer to the adapter that holds this device node
|
||||
* @type: type of the device: DVB_DEVICE_SEC, DVB_DEVICE_FRONTEND,
|
||||
* DVB_DEVICE_DEMUX, DVB_DEVICE_DVR, DVB_DEVICE_CA, DVB_DEVICE_NET
|
||||
* @type: type of the device, as defined by &enum dvb_device_type.
|
||||
* @minor: devnode minor number. Major number is always DVB_MAJOR.
|
||||
* @id: device ID number, inside the adapter
|
||||
* @readers: Initialized by the caller. Each call to open() in Read Only mode
|
||||
@ -135,7 +156,7 @@ struct dvb_device {
|
||||
struct list_head list_head;
|
||||
const struct file_operations *fops;
|
||||
struct dvb_adapter *adapter;
|
||||
int type;
|
||||
enum dvb_device_type type;
|
||||
int minor;
|
||||
u32 id;
|
||||
|
||||
@ -194,9 +215,7 @@ int dvb_unregister_adapter(struct dvb_adapter *adap);
|
||||
* stored
|
||||
* @template: Template used to create &pdvbdev;
|
||||
* @priv: private data
|
||||
* @type: type of the device: %DVB_DEVICE_SEC, %DVB_DEVICE_FRONTEND,
|
||||
* %DVB_DEVICE_DEMUX, %DVB_DEVICE_DVR, %DVB_DEVICE_CA,
|
||||
* %DVB_DEVICE_NET
|
||||
* @type: type of the device, as defined by &enum dvb_device_type.
|
||||
* @demux_sink_pads: Number of demux outputs, to be used to create the TS
|
||||
* outputs via the Media Controller.
|
||||
*/
|
||||
@ -204,7 +223,7 @@ int dvb_register_device(struct dvb_adapter *adap,
|
||||
struct dvb_device **pdvbdev,
|
||||
const struct dvb_device *template,
|
||||
void *priv,
|
||||
int type,
|
||||
enum dvb_device_type type,
|
||||
int demux_sink_pads);
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user