media: cxd2099: move pre-init values out of init()
Subsystems (2)
PATCH 1/1 media: cxd2099: move pre-init values out of init()
Improve code readability by moving out all pre-init values from the init function.
--- drivers/staging/media/cxd2099/cxd2099.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/staging/media/cxd2099/cxd2099.c +2 -2
@@ -300,7 +300,6 @@ static int init(struct cxd *ci)int status;mutex_lock (&ci->lock); - ci->mode =-1 ; do { status = write_reg(ci, 0x00, 0x00); if (status < 0)
@@ -420,7 +419,6 @@ static int init(struct cxd *ci) status =write_regm (ci,0x09 ,0x08 ,0x08 );if (status <0 )break ; - ci->cammode =-1 ;cam_mode (ci,0 ); }while (0 );mutex_unlock (&ci->lock);
@@ -711,6 +709,8 @@ struct dvb_ca_en50221 *cxd2099_attach(struct cxd2099_cfg *cfg, ci->en = en_templ; ci->en.data = ci; + ci->mode =-1 ; + ci->cammode =-1 ;init (ci);dev_info (&i2c->dev,"Attached CXD2099AR at %02x\n" , ci->cfg.adr);return &ci->en;
Signature · 1 line
2.1.0
Em Sun, 8 Feb 2015 20:55:36 +0000
luisbg <[email protected]> escreveu:
Quoted 29 lines
Improve code readability by moving out all pre-init values from the init function.
Signed-off-by Luis de Bethencourt <[email protected]>--- drivers/staging/media/cxd2099/cxd2099.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)drivers/staging/media/cxd2099/cxd2099.c +0
-2@@ -300,7 +300,6 @@ static int init(struct cxd *ci)int status;mutex_lock (&ci->lock); - ci->mode =-1 ; do { status = write_reg(ci, 0x00, 0x00); if (status < 0)@@ -420,7 +419,6 @@ static int init(struct cxd *ci) status =write_regm (ci,0x09 ,0x08 ,0x08 );if (status <0 )break ; - ci->cammode =-1 ;cam_mode (ci,0 ); }while (0 );mutex_unlock (&ci->lock);
drivers/staging/media/cxd2099/cxd2099.c struct dvb_ca_en50221 *cxd2099_attach(struct cxd2099_cfg *cfg, · line 713
Quoted 5 lines
drivers/staging/media/cxd2099/cxd2099.c +2
-0@@ -711,6 +709,8 @@ struct dvb_ca_en50221 *cxd2099_attach(struct cxd2099_cfg *cfg, ci->en = en_templ; ci->en.data = ci; + ci->mode =-1 ; + ci->cammode =-1 ;
This actually changes the logic, as, cammode is == -1 only if the do {} while loop succeeds.
Also, calling cam_mode(ci, 0) will change cammode to 0. Btw, for it to work, ci->mode should be initialized earlier.
So, this patch looks very wrong on my eyes, except if you found a real bug on it.
Have you tested it on a real device? What bug does it fix?
Regards,
Mauro
Quoted 3 lines
drivers/staging/media/cxd2099/cxd2099.c +0
-0init (ci);dev_info (&i2c->dev,"Attached CXD2099AR at %02x\n" , ci->cfg.adr);return &ci->en;
Quoted 44 lines · Mauro Carvalho Chehab
Em Sun, 8 Feb 2015 20:55:36 +0000
luisbg <[email protected]> escreveu:Quoted 29 lines
Improve code readability by moving out all pre-init values from the init function.
Signed-off-by Luis de Bethencourt <[email protected]>--- drivers/staging/media/cxd2099/cxd2099.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)drivers/staging/media/cxd2099/cxd2099.c +0
-2@@ -300,7 +300,6 @@ static int init(struct cxd *ci)int status;mutex_lock (&ci->lock); - ci->mode =-1 ; do { status = write_reg(ci, 0x00, 0x00); if (status < 0)@@ -420,7 +419,6 @@ static int init(struct cxd *ci) status =write_regm (ci,0x09 ,0x08 ,0x08 );if (status <0 )break ; - ci->cammode =-1 ;cam_mode (ci,0 ); }while (0 );mutex_unlock (&ci->lock);drivers/staging/media/cxd2099/cxd2099.c struct dvb_ca_en50221 *cxd2099_attach(struct cxd2099_cfg *cfg, · line 713
Quoted 5 lines
drivers/staging/media/cxd2099/cxd2099.c +2
-0@@ -711,6 +709,8 @@ struct dvb_ca_en50221 *cxd2099_attach(struct cxd2099_cfg *cfg, ci->en = en_templ; ci->en.data = ci; + ci->mode =-1 ; + ci->cammode =-1 ;This actually changes the logic, as, cammode is == -1 only if the do {} while loop succeeds.
Also, calling
cam_mode(ci, 0)will change cammode to 0. Btw, for it to work,ci->modeshould be initialized earlier.
Quoted 8 lines
So, this patch looks very wrong on my eyes, except if you found a real bug on it.
Have you tested it on a real device? What bug does it fix?
Regards,
Mauro
Apologies. You are right and this patch is completely wrong.
I submitted this while reading the code of a few drivers to learn from them. I should've retracted it before you spent time reviewing it. Sorry for that.
Thanks,
Luis
Quoted 3 lines
Quoted 3 lines
drivers/staging/media/cxd2099/cxd2099.c +0
-0init (ci);dev_info (&i2c->dev,"Attached CXD2099AR at %02x\n" , ci->cfg.adr);return &ci->en;