Commit eca8ebfc authored by Ahmed S. Darwish's avatar Ahmed S. Darwish Committed by Mauro Carvalho Chehab
Browse files

V4L/DVB (5090): Pvrusb2: A patch to use ARRAY_SIZE macro when appropriate

parent c1c2680d
Loading
Loading
Loading
Loading
+8 −11
Original line number Diff line number Diff line
@@ -169,25 +169,23 @@ static int pvr2_encoder_cmd(void *ctxt,

	*/

	if (arg_cnt_send > (sizeof(wrData)/sizeof(wrData[0]))-4) {
	if (arg_cnt_send > (ARRAY_SIZE(wrData) - 4)) {
		pvr2_trace(
			PVR2_TRACE_ERROR_LEGS,
			"Failed to write cx23416 command"
			" - too many input arguments"
			" (was given %u limit %u)",
			arg_cnt_send,
			(unsigned int)(sizeof(wrData)/sizeof(wrData[0])) - 4);
			arg_cnt_send, ARRAY_SIZE(wrData) - 4);
		return -EINVAL;
	}

	if (arg_cnt_recv > (sizeof(rdData)/sizeof(rdData[0]))-4) {
	if (arg_cnt_recv > (ARRAY_SIZE(rdData) - 4)) {
		pvr2_trace(
			PVR2_TRACE_ERROR_LEGS,
			"Failed to write cx23416 command"
			" - too many return arguments"
			" (was given %u limit %u)",
			arg_cnt_recv,
			(unsigned int)(sizeof(rdData)/sizeof(rdData[0])) - 4);
			arg_cnt_recv, ARRAY_SIZE(rdData) - 4);
		return -EINVAL;
	}

@@ -201,7 +199,7 @@ static int pvr2_encoder_cmd(void *ctxt,
		for (idx = 0; idx < arg_cnt_send; idx++) {
			wrData[idx+4] = argp[idx];
		}
		for (; idx < (sizeof(wrData)/sizeof(wrData[0]))-4; idx++) {
		for (; idx < ARRAY_SIZE(wrData) - 4; idx++) {
			wrData[idx+4] = 0;
		}

@@ -245,8 +243,7 @@ static int pvr2_encoder_cmd(void *ctxt,
		if (ret) break;
		wrData[0] = 0x7;
		ret = pvr2_encoder_read_words(
			hdw,0,rdData,
			sizeof(rdData)/sizeof(rdData[0]));
			hdw,0,rdData, ARRAY_SIZE(rdData));
		if (ret) break;
		for (idx = 0; idx < arg_cnt_recv; idx++) {
			argp[idx] = rdData[idx+4];
@@ -269,13 +266,13 @@ static int pvr2_encoder_vcmd(struct pvr2_hdw *hdw, int cmd,
	unsigned int idx;
	u32 data[12];

	if (args > sizeof(data)/sizeof(data[0])) {
	if (args > ARRAY_SIZE(data)) {
		pvr2_trace(
			PVR2_TRACE_ERROR_LEGS,
			"Failed to write cx23416 command"
			" - too many arguments"
			" (was given %u limit %u)",
			args,(unsigned int)(sizeof(data)/sizeof(data[0])));
			args, ARRAY_SIZE(data));
		return -EINVAL;
	}

+8 −14
Original line number Diff line number Diff line
@@ -74,12 +74,10 @@ static const char *pvr2_client_29xxx[] = {

static struct pvr2_string_table pvr2_client_lists[] = {
	[PVR2_HDW_TYPE_29XXX] = {
		pvr2_client_29xxx,
		sizeof(pvr2_client_29xxx)/sizeof(pvr2_client_29xxx[0]),
		pvr2_client_29xxx, ARRAY_SIZE(pvr2_client_29xxx)
	},
	[PVR2_HDW_TYPE_24XXX] = {
		pvr2_client_24xxx,
		sizeof(pvr2_client_24xxx)/sizeof(pvr2_client_24xxx[0]),
		pvr2_client_24xxx, ARRAY_SIZE(pvr2_client_24xxx)
	},
};

@@ -212,7 +210,7 @@ static const struct pvr2_mpeg_ids mpeg_ids[] = {
		.id = V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM,
	}
};
#define MPEGDEF_COUNT (sizeof(mpeg_ids)/sizeof(mpeg_ids[0]))
#define MPEGDEF_COUNT ARRAY_SIZE(mpeg_ids)


static const char *control_values_srate[] = {
@@ -984,7 +982,7 @@ static const struct pvr2_ctl_info control_defs[] = {
	}
};

#define CTRLDEF_COUNT (sizeof(control_defs)/sizeof(control_defs[0]))
#define CTRLDEF_COUNT ARRAY_SIZE(control_defs)


const char *pvr2_config_get_name(enum pvr2_config cfg)
@@ -1133,12 +1131,10 @@ static int pvr2_upload_firmware1(struct pvr2_hdw *hdw)
	};
	static const struct pvr2_string_table fw_file_defs[] = {
		[PVR2_HDW_TYPE_29XXX] = {
			fw_files_29xxx,
			sizeof(fw_files_29xxx)/sizeof(fw_files_29xxx[0]),
			fw_files_29xxx, ARRAY_SIZE(fw_files_29xxx)
		},
		[PVR2_HDW_TYPE_24XXX] = {
			fw_files_24xxx,
			sizeof(fw_files_24xxx)/sizeof(fw_files_24xxx[0]),
			fw_files_24xxx, ARRAY_SIZE(fw_files_24xxx)
		},
	};
	hdw->fw1_state = FW1_STATE_FAILED; // default result
@@ -1225,8 +1221,7 @@ int pvr2_upload_firmware2(struct pvr2_hdw *hdw)
	trace_firmware("pvr2_upload_firmware2");

	ret = pvr2_locate_firmware(hdw,&fw_entry,"encoder",
				   sizeof(fw_files)/sizeof(fw_files[0]),
				   fw_files);
				   ARRAY_SIZE(fw_files), fw_files);
	if (ret < 0) return ret;
	fwidx = ret;
	ret = 0;
@@ -1933,8 +1928,7 @@ struct pvr2_hdw *pvr2_hdw_create(struct usb_interface *intf,
	struct pvr2_ctl_info *ciptr;

	hdw_type = devid - pvr2_device_table;
	if (hdw_type >=
	    sizeof(pvr2_device_names)/sizeof(pvr2_device_names[0])) {
	if (hdw_type >= ARRAY_SIZE(pvr2_device_names)) {
		pvr2_trace(PVR2_TRACE_ERROR_LEGS,
			   "Bogus device type of %u reported",hdw_type);
		return NULL;
+1 −2
Original line number Diff line number Diff line
@@ -976,8 +976,7 @@ static void do_i2c_scan(struct pvr2_hdw *hdw)
	printk("%s: i2c scan beginning\n",hdw->name);
	for (i = 0; i < 128; i++) {
		msg[0].addr = i;
		rc = i2c_transfer(&hdw->i2c_adap,msg,
				  sizeof(msg)/sizeof(msg[0]));
		rc = i2c_transfer(&hdw->i2c_adap,msg, ARRAY_SIZE(msg));
		if (rc != 1) continue;
		printk("%s: i2c scan: found device @ 0x%x\n",hdw->name,i);
	}
+9 −16
Original line number Diff line number Diff line
@@ -141,9 +141,7 @@ int pvr2_std_str_to_id(v4l2_std_id *idPtr,const char *bufPtr,
			cnt = 0;
			while ((cnt < bufSize) && (bufPtr[cnt] != '-')) cnt++;
			if (cnt >= bufSize) return 0; // No more characters
			sp = find_std_name(
				std_groups,
				sizeof(std_groups)/sizeof(std_groups[0]),
			sp = find_std_name(std_groups, ARRAY_SIZE(std_groups),
					   bufPtr,cnt);
			if (!sp) return 0; // Illegal color system name
			cnt++;
@@ -163,8 +161,7 @@ int pvr2_std_str_to_id(v4l2_std_id *idPtr,const char *bufPtr,
			if (ch == '/') break;
			cnt++;
		}
		sp = find_std_name(std_items,
				   sizeof(std_items)/sizeof(std_items[0]),
		sp = find_std_name(std_items, ARRAY_SIZE(std_items),
				   bufPtr,cnt);
		if (!sp) return 0; // Illegal modulation system ID
		t = sp->id & cmsk;
@@ -189,14 +186,10 @@ unsigned int pvr2_std_id_to_str(char *bufPtr, unsigned int bufSize,
	unsigned int c1,c2;
	cfl = 0;
	c1 = 0;
	for (idx1 = 0;
	     idx1 < sizeof(std_groups)/sizeof(std_groups[0]);
	     idx1++) {
	for (idx1 = 0; idx1 < ARRAY_SIZE(std_groups); idx1++) {
		gp = std_groups + idx1;
		gfl = 0;
		for (idx2 = 0;
		     idx2 < sizeof(std_items)/sizeof(std_items[0]);
		     idx2++) {
		for (idx2 = 0; idx2 < ARRAY_SIZE(std_items); idx2++) {
			ip = std_items + idx2;
			if (!(gp->id & ip->id & id)) continue;
			if (!gfl) {
@@ -279,7 +272,7 @@ static struct v4l2_standard generic_standards[] = {
	}
};

#define generic_standards_cnt (sizeof(generic_standards)/sizeof(generic_standards[0]))
#define generic_standards_cnt ARRAY_SIZE(generic_standards)

static struct v4l2_standard *match_std(v4l2_std_id id)
{
@@ -348,7 +341,7 @@ struct v4l2_standard *pvr2_std_create_enum(unsigned int *countptr,
		fmsk |= idmsk;
	}

	for (idx2 = 0; idx2 < sizeof(std_mixes)/sizeof(std_mixes[0]); idx2++) {
	for (idx2 = 0; idx2 < ARRAY_SIZE(std_mixes); idx2++) {
		if ((id & std_mixes[idx2]) == std_mixes[idx2]) std_cnt++;
	}

@@ -374,8 +367,8 @@ struct v4l2_standard *pvr2_std_create_enum(unsigned int *countptr,
	idx = 0;

	/* Enumerate potential special cases */
	for (idx2 = 0; ((idx2 < sizeof(std_mixes)/sizeof(std_mixes[0])) &&
			(idx < std_cnt)); idx2++) {
	for (idx2 = 0; (idx2 < ARRAY_SIZE(std_mixes)) && (idx < std_cnt);
	     idx2++) {
		if (!(id & std_mixes[idx2])) continue;
		if (pvr2_std_fill(stddefs+idx,std_mixes[idx2])) idx++;
	}
+1 −1
Original line number Diff line number Diff line
@@ -493,7 +493,7 @@ static void pvr2_sysfs_add_control(struct pvr2_sysfs *sfp,int ctl_id)
	unsigned int cnt,acnt;
	int ret;

	if ((ctl_id < 0) || (ctl_id >= (sizeof(funcs)/sizeof(funcs[0])))) {
	if ((ctl_id < 0) || (ctl_id >= ARRAY_SIZE(funcs))) {
		return;
	}

Loading