diff options
Diffstat (limited to 'drivers/media/common')
| -rw-r--r-- | drivers/media/common/saa7146/saa7146_video.c | 23 | ||||
| -rw-r--r-- | drivers/media/common/siano/smscoreapi.c | 23 | ||||
| -rw-r--r-- | drivers/media/common/siano/smsdvb-main.c | 1 | ||||
| -rw-r--r-- | drivers/media/common/tveeprom.c | 142 | 
4 files changed, 79 insertions, 110 deletions
| diff --git a/drivers/media/common/saa7146/saa7146_video.c b/drivers/media/common/saa7146/saa7146_video.c index fe907f2e8f59..30779498c173 100644 --- a/drivers/media/common/saa7146/saa7146_video.c +++ b/drivers/media/common/saa7146/saa7146_video.c @@ -1,7 +1,6 @@  #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt  #include <media/saa7146_vv.h> -#include <media/v4l2-chip-ident.h>  #include <media/v4l2-event.h>  #include <media/v4l2-ctrls.h>  #include <linux/module.h> @@ -988,26 +987,6 @@ static int vidioc_streamoff(struct file *file, void *__fh, enum v4l2_buf_type ty  	return err;  } -static int vidioc_g_chip_ident(struct file *file, void *__fh, -		struct v4l2_dbg_chip_ident *chip) -{ -	struct saa7146_fh *fh = __fh; -	struct saa7146_dev *dev = fh->dev; - -	chip->ident = V4L2_IDENT_NONE; -	chip->revision = 0; -	if (chip->match.type == V4L2_CHIP_MATCH_HOST) { -		if (v4l2_chip_match_host(&chip->match)) -			chip->ident = V4L2_IDENT_SAA7146; -		return 0; -	} -	if (chip->match.type != V4L2_CHIP_MATCH_I2C_DRIVER && -	    chip->match.type != V4L2_CHIP_MATCH_I2C_ADDR) -		return -EINVAL; -	return v4l2_device_call_until_err(&dev->v4l2_dev, 0, -			core, g_chip_ident, chip); -} -  const struct v4l2_ioctl_ops saa7146_video_ioctl_ops = {  	.vidioc_querycap             = vidioc_querycap,  	.vidioc_enum_fmt_vid_cap     = vidioc_enum_fmt_vid_cap, @@ -1018,7 +997,6 @@ const struct v4l2_ioctl_ops saa7146_video_ioctl_ops = {  	.vidioc_g_fmt_vid_overlay    = vidioc_g_fmt_vid_overlay,  	.vidioc_try_fmt_vid_overlay  = vidioc_try_fmt_vid_overlay,  	.vidioc_s_fmt_vid_overlay    = vidioc_s_fmt_vid_overlay, -	.vidioc_g_chip_ident         = vidioc_g_chip_ident,  	.vidioc_overlay 	     = vidioc_overlay,  	.vidioc_g_fbuf  	     = vidioc_g_fbuf, @@ -1039,7 +1017,6 @@ const struct v4l2_ioctl_ops saa7146_video_ioctl_ops = {  const struct v4l2_ioctl_ops saa7146_vbi_ioctl_ops = {  	.vidioc_querycap             = vidioc_querycap,  	.vidioc_g_fmt_vbi_cap        = vidioc_g_fmt_vbi_cap, -	.vidioc_g_chip_ident         = vidioc_g_chip_ident,  	.vidioc_reqbufs              = vidioc_reqbufs,  	.vidioc_querybuf             = vidioc_querybuf, diff --git a/drivers/media/common/siano/smscoreapi.c b/drivers/media/common/siano/smscoreapi.c index 45ac9eea4882..a142f7942a01 100644 --- a/drivers/media/common/siano/smscoreapi.c +++ b/drivers/media/common/siano/smscoreapi.c @@ -1154,7 +1154,7 @@ static int smscore_load_firmware_from_file(struct smscore_device_t *coredev,  	char *fw_filename = smscore_get_fw_filename(coredev, mode);  	if (!fw_filename) { -		sms_info("mode %d not supported on this device", mode); +		sms_err("mode %d not supported on this device", mode);  		return -ENOENT;  	}  	sms_debug("Firmware name: %s", fw_filename); @@ -1165,23 +1165,24 @@ static int smscore_load_firmware_from_file(struct smscore_device_t *coredev,  	rc = request_firmware(&fw, fw_filename, coredev->device);  	if (rc < 0) { -		sms_info("failed to open \"%s\"", fw_filename); +		sms_err("failed to open firmware file \"%s\"", fw_filename);  		return rc;  	}  	sms_info("read fw %s, buffer size=0x%zx", fw_filename, fw->size);  	fw_buf = kmalloc(ALIGN(fw->size, SMS_ALLOC_ALIGNMENT),  			 GFP_KERNEL | GFP_DMA);  	if (!fw_buf) { -		sms_info("failed to allocate firmware buffer"); -		return -ENOMEM; -	} -	memcpy(fw_buf, fw->data, fw->size); -	fw_buf_size = fw->size; +		sms_err("failed to allocate firmware buffer"); +		rc = -ENOMEM; +	} else { +		memcpy(fw_buf, fw->data, fw->size); +		fw_buf_size = fw->size; -	rc = (coredev->device_flags & SMS_DEVICE_FAMILY2) ? -		smscore_load_firmware_family2(coredev, fw_buf, fw_buf_size) -		: loadfirmware_handler(coredev->context, fw_buf, -		fw_buf_size); +		rc = (coredev->device_flags & SMS_DEVICE_FAMILY2) ? +			smscore_load_firmware_family2(coredev, fw_buf, fw_buf_size) +			: loadfirmware_handler(coredev->context, fw_buf, +			fw_buf_size); +	}  	kfree(fw_buf);  	release_firmware(fw); diff --git a/drivers/media/common/siano/smsdvb-main.c b/drivers/media/common/siano/smsdvb-main.c index 297f1b2f9a32..086262252230 100644 --- a/drivers/media/common/siano/smsdvb-main.c +++ b/drivers/media/common/siano/smsdvb-main.c @@ -140,6 +140,7 @@ static void smsdvb_stats_not_ready(struct dvb_frontend *fe)  	case DEVICE_MODE_ISDBT:  	case DEVICE_MODE_ISDBT_BDA:  		n_layers = 4; +		break;  	default:  		n_layers = 1;  	} diff --git a/drivers/media/common/tveeprom.c b/drivers/media/common/tveeprom.c index cc1e172dfece..c7dace671a9d 100644 --- a/drivers/media/common/tveeprom.c +++ b/drivers/media/common/tveeprom.c @@ -40,7 +40,6 @@  #include <media/tuner.h>  #include <media/tveeprom.h>  #include <media/v4l2-common.h> -#include <media/v4l2-chip-ident.h>  MODULE_DESCRIPTION("i2c Hauppauge eeprom decoder driver");  MODULE_AUTHOR("John Klar"); @@ -67,13 +66,10 @@ MODULE_PARM_DESC(debug, "Debug level (0-1)");   * The Hauppauge eeprom uses an 8bit field to determine which   * tuner formats the tuner supports.   */ -static struct HAUPPAUGE_TUNER_FMT -{ +static const struct {  	int	id; -	char *name; -} -hauppauge_tuner_fmt[] = -{ +	const char * const name; +} hauppauge_tuner_fmt[] = {  	{ V4L2_STD_UNKNOWN,                   " UNKNOWN" },  	{ V4L2_STD_UNKNOWN,                   " FM" },  	{ V4L2_STD_B|V4L2_STD_GH,             " PAL(B/G)" }, @@ -88,13 +84,10 @@ hauppauge_tuner_fmt[] =     supplying this information. Note that many tuners where only used for     testing and never made it to the outside world. So you will only see     a subset in actual produced cards. */ -static struct HAUPPAUGE_TUNER -{ +static const struct {  	int  id; -	char *name; -} -hauppauge_tuner[] = -{ +	const char * const name; +} hauppauge_tuner[] = {  	/* 0-9 */  	{ TUNER_ABSENT,			"None" },  	{ TUNER_ABSENT,			"External" }, @@ -298,69 +291,66 @@ hauppauge_tuner[] =  	{ TUNER_ABSENT,                 "NXP 18272S"},  }; -/* Use V4L2_IDENT_AMBIGUOUS for those audio 'chips' that are +/* Use TVEEPROM_AUDPROC_INTERNAL for those audio 'chips' that are   * internal to a video chip, i.e. not a separate audio chip. */ -static struct HAUPPAUGE_AUDIOIC -{ +static const struct {  	u32   id; -	char *name; -} -audioIC[] = -{ +	const char * const name; +} audio_ic[] = {  	/* 0-4 */ -	{ V4L2_IDENT_NONE,      "None"      }, -	{ V4L2_IDENT_UNKNOWN,   "TEA6300"   }, -	{ V4L2_IDENT_UNKNOWN,   "TEA6320"   }, -	{ V4L2_IDENT_UNKNOWN,   "TDA9850"   }, -	{ V4L2_IDENT_MSPX4XX,   "MSP3400C"  }, +	{ TVEEPROM_AUDPROC_NONE,  "None"      }, +	{ TVEEPROM_AUDPROC_OTHER, "TEA6300"   }, +	{ TVEEPROM_AUDPROC_OTHER, "TEA6320"   }, +	{ TVEEPROM_AUDPROC_OTHER, "TDA9850"   }, +	{ TVEEPROM_AUDPROC_MSP,   "MSP3400C"  },  	/* 5-9 */ -	{ V4L2_IDENT_MSPX4XX,   "MSP3410D"  }, -	{ V4L2_IDENT_MSPX4XX,   "MSP3415"   }, -	{ V4L2_IDENT_MSPX4XX,   "MSP3430"   }, -	{ V4L2_IDENT_MSPX4XX,   "MSP3438"   }, -	{ V4L2_IDENT_UNKNOWN,   "CS5331"    }, +	{ TVEEPROM_AUDPROC_MSP,   "MSP3410D"  }, +	{ TVEEPROM_AUDPROC_MSP,   "MSP3415"   }, +	{ TVEEPROM_AUDPROC_MSP,   "MSP3430"   }, +	{ TVEEPROM_AUDPROC_MSP,   "MSP3438"   }, +	{ TVEEPROM_AUDPROC_OTHER, "CS5331"    },  	/* 10-14 */ -	{ V4L2_IDENT_MSPX4XX,   "MSP3435"   }, -	{ V4L2_IDENT_MSPX4XX,   "MSP3440"   }, -	{ V4L2_IDENT_MSPX4XX,   "MSP3445"   }, -	{ V4L2_IDENT_MSPX4XX,   "MSP3411"   }, -	{ V4L2_IDENT_MSPX4XX,   "MSP3416"   }, +	{ TVEEPROM_AUDPROC_MSP,   "MSP3435"   }, +	{ TVEEPROM_AUDPROC_MSP,   "MSP3440"   }, +	{ TVEEPROM_AUDPROC_MSP,   "MSP3445"   }, +	{ TVEEPROM_AUDPROC_MSP,   "MSP3411"   }, +	{ TVEEPROM_AUDPROC_MSP,   "MSP3416"   },  	/* 15-19 */ -	{ V4L2_IDENT_MSPX4XX,   "MSP3425"   }, -	{ V4L2_IDENT_MSPX4XX,   "MSP3451"   }, -	{ V4L2_IDENT_MSPX4XX,   "MSP3418"   }, -	{ V4L2_IDENT_UNKNOWN,   "Type 0x12" }, -	{ V4L2_IDENT_UNKNOWN,   "OKI7716"   }, +	{ TVEEPROM_AUDPROC_MSP,   "MSP3425"   }, +	{ TVEEPROM_AUDPROC_MSP,   "MSP3451"   }, +	{ TVEEPROM_AUDPROC_MSP,   "MSP3418"   }, +	{ TVEEPROM_AUDPROC_OTHER, "Type 0x12" }, +	{ TVEEPROM_AUDPROC_OTHER, "OKI7716"   },  	/* 20-24 */ -	{ V4L2_IDENT_MSPX4XX,   "MSP4410"   }, -	{ V4L2_IDENT_MSPX4XX,   "MSP4420"   }, -	{ V4L2_IDENT_MSPX4XX,   "MSP4440"   }, -	{ V4L2_IDENT_MSPX4XX,   "MSP4450"   }, -	{ V4L2_IDENT_MSPX4XX,   "MSP4408"   }, +	{ TVEEPROM_AUDPROC_MSP,   "MSP4410"   }, +	{ TVEEPROM_AUDPROC_MSP,   "MSP4420"   }, +	{ TVEEPROM_AUDPROC_MSP,   "MSP4440"   }, +	{ TVEEPROM_AUDPROC_MSP,   "MSP4450"   }, +	{ TVEEPROM_AUDPROC_MSP,   "MSP4408"   },  	/* 25-29 */ -	{ V4L2_IDENT_MSPX4XX,   "MSP4418"   }, -	{ V4L2_IDENT_MSPX4XX,   "MSP4428"   }, -	{ V4L2_IDENT_MSPX4XX,   "MSP4448"   }, -	{ V4L2_IDENT_MSPX4XX,   "MSP4458"   }, -	{ V4L2_IDENT_MSPX4XX,   "Type 0x1d" }, +	{ TVEEPROM_AUDPROC_MSP,   "MSP4418"   }, +	{ TVEEPROM_AUDPROC_MSP,   "MSP4428"   }, +	{ TVEEPROM_AUDPROC_MSP,   "MSP4448"   }, +	{ TVEEPROM_AUDPROC_MSP,   "MSP4458"   }, +	{ TVEEPROM_AUDPROC_MSP,   "Type 0x1d" },  	/* 30-34 */ -	{ V4L2_IDENT_AMBIGUOUS, "CX880"     }, -	{ V4L2_IDENT_AMBIGUOUS, "CX881"     }, -	{ V4L2_IDENT_AMBIGUOUS, "CX883"     }, -	{ V4L2_IDENT_AMBIGUOUS, "CX882"     }, -	{ V4L2_IDENT_AMBIGUOUS, "CX25840"   }, +	{ TVEEPROM_AUDPROC_INTERNAL, "CX880"     }, +	{ TVEEPROM_AUDPROC_INTERNAL, "CX881"     }, +	{ TVEEPROM_AUDPROC_INTERNAL, "CX883"     }, +	{ TVEEPROM_AUDPROC_INTERNAL, "CX882"     }, +	{ TVEEPROM_AUDPROC_INTERNAL, "CX25840"   },  	/* 35-39 */ -	{ V4L2_IDENT_AMBIGUOUS, "CX25841"   }, -	{ V4L2_IDENT_AMBIGUOUS, "CX25842"   }, -	{ V4L2_IDENT_AMBIGUOUS, "CX25843"   }, -	{ V4L2_IDENT_AMBIGUOUS, "CX23418"   }, -	{ V4L2_IDENT_AMBIGUOUS, "CX23885"   }, +	{ TVEEPROM_AUDPROC_INTERNAL, "CX25841"   }, +	{ TVEEPROM_AUDPROC_INTERNAL, "CX25842"   }, +	{ TVEEPROM_AUDPROC_INTERNAL, "CX25843"   }, +	{ TVEEPROM_AUDPROC_INTERNAL, "CX23418"   }, +	{ TVEEPROM_AUDPROC_INTERNAL, "CX23885"   },  	/* 40-44 */ -	{ V4L2_IDENT_AMBIGUOUS, "CX23888"   }, -	{ V4L2_IDENT_AMBIGUOUS, "SAA7131"   }, -	{ V4L2_IDENT_AMBIGUOUS, "CX23887"   }, -	{ V4L2_IDENT_AMBIGUOUS, "SAA7164"   }, -	{ V4L2_IDENT_AMBIGUOUS, "AU8522"    }, +	{ TVEEPROM_AUDPROC_INTERNAL, "CX23888"   }, +	{ TVEEPROM_AUDPROC_INTERNAL, "SAA7131"   }, +	{ TVEEPROM_AUDPROC_INTERNAL, "CX23887"   }, +	{ TVEEPROM_AUDPROC_INTERNAL, "SAA7164"   }, +	{ TVEEPROM_AUDPROC_INTERNAL, "AU8522"    },  };  /* This list is supplied by Hauppauge. Thanks! */ @@ -453,11 +443,11 @@ void tveeprom_hauppauge_analog(struct i2c_client *c, struct tveeprom *tvee,  	int i, j, len, done, beenhere, tag, start;  	int tuner1 = 0, t_format1 = 0, audioic = -1; -	char *t_name1 = NULL; +	const char *t_name1 = NULL;  	const char *t_fmt_name1[8] = { " none", "", "", "", "", "", "", "" };  	int tuner2 = 0, t_format2 = 0; -	char *t_name2 = NULL; +	const char *t_name2 = NULL;  	const char *t_fmt_name2[8] = { " none", "", "", "", "", "", "", "" };  	memset(tvee, 0, sizeof(*tvee)); @@ -545,10 +535,10 @@ void tveeprom_hauppauge_analog(struct i2c_client *c, struct tveeprom *tvee,  			to indicate 4052 mux was removed in favor of using MSP  			inputs directly. */  			audioic = eeprom_data[i+2] & 0x7f; -			if (audioic < ARRAY_SIZE(audioIC)) -				tvee->audio_processor = audioIC[audioic].id; +			if (audioic < ARRAY_SIZE(audio_ic)) +				tvee->audio_processor = audio_ic[audioic].id;  			else -				tvee->audio_processor = V4L2_IDENT_UNKNOWN; +				tvee->audio_processor = TVEEPROM_AUDPROC_OTHER;  			break;  		/* case 0x03: tag 'EEInfo' */ @@ -578,10 +568,10 @@ void tveeprom_hauppauge_analog(struct i2c_client *c, struct tveeprom *tvee,  			to indicate 4052 mux was removed in favor of using MSP  			inputs directly. */  			audioic = eeprom_data[i+1] & 0x7f; -			if (audioic < ARRAY_SIZE(audioIC)) -				tvee->audio_processor = audioIC[audioic].id; +			if (audioic < ARRAY_SIZE(audio_ic)) +				tvee->audio_processor = audio_ic[audioic].id;  			else -				tvee->audio_processor = V4L2_IDENT_UNKNOWN; +				tvee->audio_processor = TVEEPROM_AUDPROC_OTHER;  			break; @@ -726,11 +716,11 @@ void tveeprom_hauppauge_analog(struct i2c_client *c, struct tveeprom *tvee,  			t_fmt_name2[6], t_fmt_name2[7], t_format2);  	if (audioic < 0) {  		tveeprom_info("audio processor is unknown (no idx)\n"); -		tvee->audio_processor = V4L2_IDENT_UNKNOWN; +		tvee->audio_processor = TVEEPROM_AUDPROC_OTHER;  	} else { -		if (audioic < ARRAY_SIZE(audioIC)) +		if (audioic < ARRAY_SIZE(audio_ic))  			tveeprom_info("audio processor is %s (idx %d)\n", -					audioIC[audioic].name, audioic); +					audio_ic[audioic].name, audioic);  		else  			tveeprom_info("audio processor is unknown (idx %d)\n",  								audioic); |