2010-08-05 20:30:07

by Julia Lawall

[permalink] [raw]
Subject: [PATCH 42/42] drivers/media/video/bt8xx: Adjust confusing if indentation

From: Julia Lawall <[email protected]>

Indent the branch of an if.

The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@r disable braces4@
position p1,p2;
statement S1,S2;
@@

(
if (...) { ... }
|
if (...) S1@p1 S2@p2
)

@script:python@
p1 << r.p1;
p2 << r.p2;
@@

if (p1[0].column == p2[0].column):
cocci.print_main("branch",p1)
cocci.print_secs("after",p2)
// </smpl>

Signed-off-by: Julia Lawall <[email protected]>

---
drivers/media/video/bt8xx/bttv-i2c.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/media/video/bt8xx/bttv-i2c.c b/drivers/media/video/bt8xx/bttv-i2c.c
index 685d659..695765c 100644
--- a/drivers/media/video/bt8xx/bttv-i2c.c
+++ b/drivers/media/video/bt8xx/bttv-i2c.c
@@ -123,7 +123,7 @@ bttv_i2c_wait_done(struct bttv *btv)
if (wait_event_interruptible_timeout(btv->i2c_queue,
btv->i2c_done, msecs_to_jiffies(85)) == -ERESTARTSYS)

- rc = -EIO;
+ rc = -EIO;

if (btv->i2c_done & BT848_INT_RACK)
rc = 1;


2010-08-05 20:51:18

by Luca Tettamanti

[permalink] [raw]
Subject: Re: [PATCH 42/42] drivers/media/video/bt8xx: Adjust confusing if indentation

Hi,
one minor comment:

On Thu, Aug 5, 2010 at 10:29 PM, Julia Lawall <[email protected]> wrote:
> From: Julia Lawall <[email protected]>
>
> Indent the branch of an if.
[...]
> diff --git a/drivers/media/video/bt8xx/bttv-i2c.c b/drivers/media/video/bt8xx/bttv-i2c.c
> index 685d659..695765c 100644
> --- a/drivers/media/video/bt8xx/bttv-i2c.c
> +++ b/drivers/media/video/bt8xx/bttv-i2c.c
> @@ -123,7 +123,7 @@ bttv_i2c_wait_done(struct bttv *btv)
>        if (wait_event_interruptible_timeout(btv->i2c_queue,
>                btv->i2c_done, msecs_to_jiffies(85)) == -ERESTARTSYS)
>
> -       rc = -EIO;
> +               rc = -EIO;

I'd also remove the empty line before the indented statement, it's confusing...

Luca

2010-08-05 20:56:03

by Julia Lawall

[permalink] [raw]
Subject: Re: [PATCH 42/42] drivers/media/video/bt8xx: Adjust confusing if indentation

From: Julia Lawall <[email protected]>

Indent the branch of an if.

The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@r disable braces4@
position p1,p2;
statement S1,S2;
@@

(
if (...) { ... }
|
if (...) S1@p1 S2@p2
)

@script:python@
p1 << r.p1;
p2 << r.p2;
@@

if (p1[0].column == p2[0].column):
cocci.print_main("branch",p1)
cocci.print_secs("after",p2)
// </smpl>

Signed-off-by: Julia Lawall <[email protected]>

---
drivers/media/video/bt8xx/bttv-i2c.c | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/drivers/media/video/bt8xx/bttv-i2c.c b/drivers/media/video/bt8xx/bttv-i2c.c
index 685d659..81d5b30 100644
--- a/drivers/media/video/bt8xx/bttv-i2c.c
+++ b/drivers/media/video/bt8xx/bttv-i2c.c
@@ -122,8 +122,7 @@ bttv_i2c_wait_done(struct bttv *btv)
/* timeout */
if (wait_event_interruptible_timeout(btv->i2c_queue,
btv->i2c_done, msecs_to_jiffies(85)) == -ERESTARTSYS)
-
- rc = -EIO;
+ rc = -EIO;

if (btv->i2c_done & BT848_INT_RACK)
rc = 1;

2010-08-05 21:09:32

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH 42/42] drivers/media/video/bt8xx: Adjust confusing if indentation

On Thursday 05 August 2010 22:51:12 Luca Tettamanti wrote:
> > diff --git a/drivers/media/video/bt8xx/bttv-i2c.c b/drivers/media/video/bt8xx/bttv-i2c.c
> > index 685d659..695765c 100644
> > --- a/drivers/media/video/bt8xx/bttv-i2c.c
> > +++ b/drivers/media/video/bt8xx/bttv-i2c.c
> > @@ -123,7 +123,7 @@ bttv_i2c_wait_done(struct bttv *btv)
> > if (wait_event_interruptible_timeout(btv->i2c_queue,
> > btv->i2c_done, msecs_to_jiffies(85)) == -ERESTARTSYS)
> >
> > - rc = -EIO;
> > + rc = -EIO;
>
> I'd also remove the empty line before the indented statement, it's confusing...
>

The entire function looks a bit weird to me. If you look at the caller,
you'll notice that -EIO is treated in the same way as if the function had
returned zero, so the entire if() clause is pointless (the wait_event_*
probably is not).

Moreover, returning -ERESTARTSYS is probably the right action here,
why else would you make the wait interruptible?

Arnd