All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andres Salomon <dilinger@queued.net>
To: akpm@linux-foundation.org
Cc: linux-kernel@vger.kernel.org,
	Cortland Setlow <csetlow@tower-research.com>,
	corbet@lwn.net, video4linux-list@redhat.com,
	Mauro Carvalho Chehab <mchehab@infradead.org>
Subject: [PATCH resend] ov7670: clean up ov7670_read semantics
Date: Fri, 11 Jul 2008 16:52:16 -0400	[thread overview]
Message-ID: <20080711165216.4dc32c4c@fred> (raw)

[note: this should probably go in for 2.6.26, as it fixes a bug in
ov7670_s_fmt where we incorrectly think that we've failed because we
return !0]


Cortland Setlow pointed out a bug in ov7670.c where the result from
ov7670_read() was just being checked for !0, rather than <0.  This
made me realize that ov7670_read's semantics were rather confusing;
it both fills in 'value' with the result, and returns it.  This is
goes against general kernel convention; so rather than fixing callers,
let's fix the function.

This makes ov7670_read return <0 in the case of an error, and 0 upon
success. Thus, code like:

res = ov7670_read(...);
if (!res)
	goto error;

..will work properly.

Signed-off-by: Cortland Setlow <csetlow@tower-research.com>
Signed-off-by: Andres Salomon <dilinger@debian.org>
Acked-by: Jonathan Corbet <corbet@lwn.net>
---
 drivers/media/video/ov7670.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/drivers/media/video/ov7670.c b/drivers/media/video/ov7670.c
index 2bc6bdc..d7bfd30 100644
--- a/drivers/media/video/ov7670.c
+++ b/drivers/media/video/ov7670.c
@@ -406,8 +406,10 @@ static int ov7670_read(struct i2c_client *c,
unsigned char reg, int ret;
 
 	ret = i2c_smbus_read_byte_data(c, reg);
-	if (ret >= 0)
+	if (ret >= 0) {
 		*value = (unsigned char) ret;
+		ret = 0;
+	}
 	return ret;
 }
 
-- 
1.5.5.3

             reply	other threads:[~2008-07-11 20:52 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-11 20:52 Andres Salomon [this message]
2008-07-11 22:19 ` [PATCH resend] ov7670: clean up ov7670_read semantics Andrew Morton
2008-07-11 22:42   ` Andres Salomon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080711165216.4dc32c4c@fred \
    --to=dilinger@queued.net \
    --cc=akpm@linux-foundation.org \
    --cc=corbet@lwn.net \
    --cc=csetlow@tower-research.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mchehab@infradead.org \
    --cc=video4linux-list@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.