Skip to content

Commit 1060602

Browse files
Bencheng Jingakiernan
Bencheng Jing
authored andcommitted
vdin: clean up dead code and bad compare
PD#151225: driver defect clean up: torvalds#228 torvalds#262 torvalds#354 torvalds#407 torvalds#442 torvalds#445 torvalds#461 torvalds#576 torvalds#580 torvalds#598 torvalds#599 torvalds#615 torvalds#616 torvalds#671 torvalds#756 torvalds#760 torvalds#874 Change-Id: I1bc47c3e30ecfa1ca44e53f91201aa4e09ff19f5 Signed-off-by: Bencheng Jing <[email protected]>
1 parent 07c4889 commit 1060602

File tree

5 files changed

+154
-78
lines changed

5 files changed

+154
-78
lines changed

drivers/amlogic/media/vin/tvin/tvin_frontend.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,8 @@ int tvin_reg_frontend(struct tvin_frontend_s *fe)
5555
ulong flags;
5656
struct tvin_frontend_s *f, *t;
5757

58-
if (!fe->name || !fe->dec_ops || !fe->dec_ops->support || !fe->sm_ops)
58+
if (!strlen(fe->name) || !fe->dec_ops ||
59+
!fe->dec_ops->support || !fe->sm_ops)
5960
return -1;
6061

6162
/* check whether the frontend is registered already */

drivers/amlogic/media/vin/tvin/vdin/vdin_debug.c

Lines changed: 112 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ static void vdin_dump_mem(char *path, struct vdin_dev_s *devp)
162162
struct file *filp = NULL;
163163
loff_t pos = 0;
164164
void *buf = NULL;
165-
int i = 0;
165+
loff_t i = 0;
166166
unsigned int canvas_real_size = devp->canvas_h * devp->canvas_w;
167167
mm_segment_t old_fs = get_fs();
168168

@@ -174,7 +174,7 @@ static void vdin_dump_mem(char *path, struct vdin_dev_s *devp)
174174
return;
175175
}
176176
if ((devp->cma_config_flag == 1) &&
177-
(devp->cma_mem_alloc[devp->index] == 0)) {
177+
(devp->cma_mem_alloc == 0)) {
178178
pr_info("%s:no cma alloc mem!!!\n", __func__);
179179
return;
180180
}
@@ -188,7 +188,7 @@ static void vdin_dump_mem(char *path, struct vdin_dev_s *devp)
188188
buf = phys_to_virt(devp->mem_start +
189189
devp->canvas_max_size*i);
190190
vfs_write(filp, buf, canvas_real_size, &pos);
191-
pr_info("write buffer %2d of %2u to %s.\n",
191+
pr_info("write buffer %lld of %2u to %s.\n",
192192
i, devp->canvas_max_num, path);
193193
}
194194
vfs_fsync(filp, 0);
@@ -427,11 +427,15 @@ static ssize_t vdin_attr_store(struct device *dev,
427427
/* start = simple_strtol(parm[2], NULL, 16); */
428428
/* offset = simple_strtol(parm[3], NULL, 16); */
429429

430-
if (kstrtol(parm[2], 16, &val) < 0)
430+
if (kstrtol(parm[2], 16, &val) < 0) {
431+
kfree(buf_orig);
431432
return -EINVAL;
433+
}
432434
start = val;
433-
if (kstrtol(parm[3], 16, &val) < 0)
435+
if (kstrtol(parm[3], 16, &val) < 0) {
436+
kfree(buf_orig);
434437
return -EINVAL;
438+
}
435439
offset = val;
436440
dump_other_mem(parm[1], start, offset);
437441
} else if (parm[1] != NULL) {
@@ -480,8 +484,10 @@ static ssize_t vdin_attr_store(struct device *dev,
480484
break;
481485
}
482486
/* fmt = simple_strtol(parm[2], NULL, 16); */
483-
if (kstrtol(parm[2], 16, &val) < 0)
487+
if (kstrtol(parm[2], 16, &val) < 0) {
488+
kfree(buf_orig);
484489
return -EINVAL;
490+
}
485491
fmt = val;
486492

487493
/* devp->flags |= VDIN_FLAG_FS_OPENED; */
@@ -563,6 +569,7 @@ static ssize_t vdin_attr_store(struct device *dev,
563569
pr_err("fps cfmt > /sys/class/vdin/vdinx/attr.\n");
564570
pr_err("port mybe bt656 or viuin,");
565571
pr_err("fps the frame rate of input.\n");
572+
kfree(buf_orig);
566573
return len;
567574
}
568575
memset(&param, 0, sizeof(struct vdin_parm_s));
@@ -584,14 +591,20 @@ static ssize_t vdin_attr_store(struct device *dev,
584591
/* param.h_active = simple_strtol(parm[2], NULL, 10); */
585592
/* param.v_active = simple_strtol(parm[3], NULL, 10); */
586593
/* param.frame_rate = simple_strtol(parm[4], NULL, 10); */
587-
if (kstrtol(parm[2], 10, &val) < 0)
594+
if (kstrtol(parm[2], 10, &val) < 0) {
595+
kfree(buf_orig);
588596
return -EINVAL;
597+
}
589598
param.h_active = val;
590-
if (kstrtol(parm[3], 10, &val) < 0)
599+
if (kstrtol(parm[3], 10, &val) < 0) {
600+
kfree(buf_orig);
591601
return -EINVAL;
602+
}
592603
param.v_active = val;
593-
if (kstrtol(parm[4], 10, &val) < 0)
604+
if (kstrtol(parm[4], 10, &val) < 0) {
605+
kfree(buf_orig);
594606
return -EINVAL;
607+
}
595608
param.frame_rate = val;
596609
pr_info(" hactive:%d,vactive:%d, rate:%d\n",
597610
param.h_active,
@@ -601,17 +614,21 @@ static ssize_t vdin_attr_store(struct device *dev,
601614
param.cfmt = TVIN_YUV422;
602615
else {
603616
/* param.cfmt = simple_strtol(parm[5], NULL, 10); */
604-
if (kstrtol(parm[5], 10, &val) < 0)
617+
if (kstrtol(parm[5], 10, &val) < 0) {
618+
kfree(buf_orig);
605619
return -EINVAL;
620+
}
606621
param.cfmt = val;
607622
}
608623
pr_info(" cfmt:%d\n", param.cfmt);
609624
if (!parm[6])
610625
param.dfmt = TVIN_YUV422;
611626
else {
612627
/* param.dfmt = simple_strtol(parm[6], NULL, 10); */
613-
if (kstrtol(parm[6], 10, &val) < 0)
628+
if (kstrtol(parm[6], 10, &val) < 0) {
629+
kfree(buf_orig);
614630
return -EINVAL;
631+
}
615632
param.dfmt = val;
616633
}
617634
pr_info(" dfmt:%d\n", param.dfmt);
@@ -621,8 +638,10 @@ static ssize_t vdin_attr_store(struct device *dev,
621638
/* param.scan_mode =
622639
* simple_strtol(parm[7], NULL, 10);
623640
*/
624-
if (kstrtol(parm[7], 10, &val) < 0)
641+
if (kstrtol(parm[7], 10, &val) < 0) {
642+
kfree(buf_orig);
625643
return -EINVAL;
644+
}
626645
param.scan_mode = val;
627646
}
628647
pr_info(" scan_mode:%d\n", param.scan_mode);
@@ -634,16 +653,20 @@ static ssize_t vdin_attr_store(struct device *dev,
634653
} else if (!strcmp(parm[0], "disablesm"))
635654
del_timer_sync(&devp->timer);
636655
else if (!strcmp(parm[0], "freeze")) {
637-
if (!(devp->flags & VDIN_FLAG_DEC_STARTED))
656+
if (!(devp->flags & VDIN_FLAG_DEC_STARTED)) {
657+
kfree(buf_orig);
638658
return len;
659+
}
639660
if (devp->fmt_info_p->scan_mode == TVIN_SCAN_MODE_PROGRESSIVE)
640661
vdin_vf_freeze(devp->vfp, 1);
641662
else
642663
vdin_vf_freeze(devp->vfp, 2);
643664

644665
} else if (!strcmp(parm[0], "unfreeze")) {
645-
if (!(devp->flags & VDIN_FLAG_DEC_STARTED))
666+
if (!(devp->flags & VDIN_FLAG_DEC_STARTED)) {
667+
kfree(buf_orig);
646668
return len;
669+
}
647670
vdin_vf_unfreeze(devp->vfp);
648671
} else if (!strcmp(parm[0], "conversion")) {
649672
if (parm[1] &&
@@ -655,14 +678,20 @@ static ssize_t vdin_attr_store(struct device *dev,
655678
/* simple_strtoul(parm[2], NULL, 10); */
656679
/* devp->debug.dest_cfmt = */
657680
/* simple_strtoul(parm[3], NULL, 10); */
658-
if (kstrtoul(parm[1], 10, &val) < 0)
681+
if (kstrtoul(parm[1], 10, &val) < 0) {
682+
kfree(buf_orig);
659683
return -EINVAL;
684+
}
660685
devp->debug.scaler4w = val;
661-
if (kstrtoul(parm[2], 10, &val) < 0)
686+
if (kstrtoul(parm[2], 10, &val) < 0) {
687+
kfree(buf_orig);
662688
return -EINVAL;
689+
}
663690
devp->debug.scaler4h = val;
664-
if (kstrtoul(parm[3], 10, &val) < 0)
691+
if (kstrtoul(parm[3], 10, &val) < 0) {
692+
kfree(buf_orig);
665693
return -EINVAL;
694+
}
666695
devp->debug.dest_cfmt = val;
667696

668697
devp->flags |= VDIN_FLAG_MANUAL_CONVERSION;
@@ -715,11 +744,15 @@ static ssize_t vdin_attr_store(struct device *dev,
715744
} else if (!strcmp(parm[0], "rgb_xy")) {
716745
unsigned int x, y;
717746

718-
if (kstrtoul(parm[1], 10, &val) < 0)
747+
if (kstrtoul(parm[1], 10, &val) < 0) {
748+
kfree(buf_orig);
719749
return -EINVAL;
750+
}
720751
x = val;
721-
if (kstrtoul(parm[2], 10, &val) < 0)
752+
if (kstrtoul(parm[2], 10, &val) < 0) {
753+
kfree(buf_orig);
722754
return -EINVAL;
755+
}
723756
y = val;
724757
vdin_set_prob_xy(devp->addr_offset, x, y, devp);
725758
} else if (!strcmp(parm[0], "rgb_info")) {
@@ -728,11 +761,15 @@ static ssize_t vdin_attr_store(struct device *dev,
728761
vdin_get_prob_rgb(devp->addr_offset, &r, &g, &b);
729762
pr_info("rgb_info-->r:%d,g:%d,b:%d\n", r, g, b);
730763
} else if (!strcmp(parm[0], "mpeg2vdin")) {
731-
if (kstrtoul(parm[1], 10, &val) < 0)
764+
if (kstrtoul(parm[1], 10, &val) < 0) {
765+
kfree(buf_orig);
732766
return -EINVAL;
767+
}
733768
devp->h_active = val;
734-
if (kstrtoul(parm[2], 10, &val) < 0)
769+
if (kstrtoul(parm[2], 10, &val) < 0) {
770+
kfree(buf_orig);
735771
return -EINVAL;
772+
}
736773
devp->v_active = val;
737774
vdin_set_mpegin(devp);
738775
pr_info("mpeg2vdin:h_active:%d,v_active:%d\n",
@@ -747,19 +784,24 @@ static ssize_t vdin_attr_store(struct device *dev,
747784
} else if (!strcmp(parm[0], "mat0_xy")) {
748785
unsigned int x, y;
749786

750-
if (kstrtoul(parm[1], 10, &val) < 0)
787+
if (kstrtoul(parm[1], 10, &val) < 0) {
788+
kfree(buf_orig);
751789
return -EINVAL;
790+
}
752791
x = val;
753-
if (kstrtoul(parm[2], 10, &val) < 0)
792+
if (kstrtoul(parm[2], 10, &val) < 0) {
793+
kfree(buf_orig);
754794
return -EINVAL;
795+
}
755796
y = val;
756797
pr_info("pos x :%d, pos y :%d\n", x, y);
757798
vdin_set_prob_matrix0_xy(devp->addr_offset, x, y, devp);
758799
} else if (!strcmp(parm[0], "mat0_set")) {
759800
unsigned int x;
760-
761-
if (kstrtoul(parm[1], 10, &val) < 0)
801+
if (kstrtoul(parm[1], 10, &val) < 0) {
802+
kfree(buf_orig);
762803
return -EINVAL;
804+
}
763805
x = val;
764806
pr_info("matrix set : %d\n", x);
765807
vdin_set_before_after_mat0(devp->addr_offset, x, devp);
@@ -862,14 +904,18 @@ static ssize_t vdin_attr_store(struct device *dev,
862904
vdin_resume_dec(devp);
863905
pr_info("resume_dec(%d) ok\n\n", devp->index);
864906
} else if (!strcmp(parm[0], "color_depth")) {
865-
if (kstrtoul(parm[1], 10, &val) < 0)
907+
if (kstrtoul(parm[1], 10, &val) < 0) {
908+
kfree(buf_orig);
866909
return -EINVAL;
910+
}
867911
devp->color_depth_config = val;
868912
pr_info("color_depth(%d):%d\n\n", devp->index,
869913
devp->color_depth_config);
870914
} else if (!strcmp(parm[0], "color_depth_mode")) {
871-
if (kstrtoul(parm[1], 10, &val) < 0)
915+
if (kstrtoul(parm[1], 10, &val) < 0) {
916+
kfree(buf_orig);
872917
return -EINVAL;
918+
}
873919
devp->color_depth_mode = val;
874920
pr_info("color_depth_mode(%d):%d\n\n", devp->index,
875921
devp->color_depth_mode);
@@ -1033,21 +1079,29 @@ struct device_attribute *attr, const char *buf, size_t count)
10331079
/* crop->vs = simple_strtol(parm[2], NULL, 10); */
10341080
/* crop->ve = simple_strtol(parm[3], NULL, 10); */
10351081

1036-
if (kstrtol(parm[0], 10, &val) < 0)
1082+
if (kstrtol(parm[0], 10, &val) < 0) {
1083+
kfree(buf_orig);
10371084
return -EINVAL;
1085+
}
10381086
crop->hs = val;
1039-
if (kstrtol(parm[1], 10, &val) < 0)
1087+
if (kstrtol(parm[1], 10, &val) < 0) {
1088+
kfree(buf_orig);
10401089
return -EINVAL;
1090+
}
10411091
crop->he = val;
1042-
if (kstrtol(parm[2], 10, &val) < 0)
1092+
if (kstrtol(parm[2], 10, &val) < 0) {
1093+
kfree(buf_orig);
10431094
return -EINVAL;
1095+
}
10441096
crop->vs = val;
1045-
if (kstrtol(parm[3], 10, &val) < 0)
1097+
if (kstrtol(parm[3], 10, &val) < 0) {
1098+
kfree(buf_orig);
10461099
return -EINVAL;
1100+
}
10471101
crop->ve = val;
1048-
10491102
pr_info("hs_offset %u, he_offset %u, vs_offset %u, ve_offset %u.\n",
10501103
crop->hs, crop->he, crop->vs, crop->ve);
1104+
kfree(buf_orig);
10511105
return count;
10521106
}
10531107

@@ -1111,7 +1165,11 @@ static ssize_t vdin_cm2_store(struct device *dev,
11111165
continue;
11121166
parm[n++] = token;
11131167
}
1114-
1168+
if (n == 0) {
1169+
pr_info("parm[] not initialized.\n");
1170+
kfree(buf_orig);
1171+
return count;
1172+
}
11151173
if ((parm[0][0] == 'w') && parm[0][1] == 'm') {
11161174
if (n != 7) {
11171175
pr_info("read : invalid parameter\n");
@@ -1120,29 +1178,41 @@ static ssize_t vdin_cm2_store(struct device *dev,
11201178
return count;
11211179
}
11221180
/* addr = simple_strtol(parm[1], NULL, 16); */
1123-
if (kstrtol(parm[1], 16, &val) < 0)
1181+
if (kstrtol(parm[1], 16, &val) < 0) {
1182+
kfree(buf_orig);
11241183
return -EINVAL;
1184+
}
11251185
addr = val;
11261186
addr = addr - addr%8;
11271187
/* data[0] = simple_strtol(parm[2], NULL, 16); */
11281188
/* data[1] = simple_strtol(parm[3], NULL, 16); */
11291189
/* data[2] = simple_strtol(parm[4], NULL, 16); */
11301190
/* data[3] = simple_strtol(parm[5], NULL, 16); */
11311191
/* data[4] = simple_strtol(parm[6], NULL, 16); */
1132-
if (kstrtol(parm[2], 16, &val) < 0)
1192+
if (kstrtol(parm[2], 16, &val) < 0) {
1193+
kfree(buf_orig);
11331194
return -EINVAL;
1195+
}
11341196
data[0] = val;
1135-
if (kstrtol(parm[3], 16, &val) < 0)
1197+
if (kstrtol(parm[3], 16, &val) < 0) {
1198+
kfree(buf_orig);
11361199
return -EINVAL;
1200+
}
11371201
data[1] = val;
1138-
if (kstrtol(parm[4], 16, &val) < 0)
1202+
if (kstrtol(parm[4], 16, &val) < 0) {
1203+
kfree(buf_orig);
11391204
return -EINVAL;
1205+
}
11401206
data[2] = val;
1141-
if (kstrtol(parm[5], 16, &val) < 0)
1207+
if (kstrtol(parm[5], 16, &val) < 0) {
1208+
kfree(buf_orig);
11421209
return -EINVAL;
1210+
}
11431211
data[3] = val;
1144-
if (kstrtol(parm[6], 16, &val) < 0)
1212+
if (kstrtol(parm[6], 16, &val) < 0) {
1213+
kfree(buf_orig);
11451214
return -EINVAL;
1215+
}
11461216
data[4] = val;
11471217
aml_write_vcbus(addr_port, addr);
11481218
aml_write_vcbus(data_port, data[0]);
@@ -1164,8 +1234,10 @@ static ssize_t vdin_cm2_store(struct device *dev,
11641234
return count;
11651235
}
11661236
/* addr = simple_strtol(parm[1], NULL, 16); */
1167-
if (kstrtol(parm[1], 16, &val) < 0)
1237+
if (kstrtol(parm[1], 16, &val) < 0) {
1238+
kfree(buf_orig);
11681239
return -EINVAL;
1240+
}
11691241
addr = val;
11701242
addr = addr - addr%8;
11711243
aml_write_vcbus(addr_port, addr);

0 commit comments

Comments
 (0)