mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	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
					
				
					 2 changed files with 64 additions and 21 deletions
				
			
		| 
						 | 
				
			
			@ -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 a new issue