From: Mauro Carvalho Chehab <mchehab@infradead.org>
To: Julia Lawall <julia.lawall@lip6.fr>
Cc: Ryan Mallon <rmallon@gmail.com>, Joe Perches <joe@perches.com>,
walter harms <wharms@bfs.de>, Antti Palosaari <crope@iki.fi>,
kernel-janitors@vger.kernel.org, shubhrajyoti@ti.com,
linux-media@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 13/13] drivers/media/tuners/e4000.c: use macros for i2c_msg initialization
Date: Tue, 9 Oct 2012 20:32:38 -0300 [thread overview]
Message-ID: <20121009203238.63d2275f@infradead.org> (raw)
In-Reply-To: <alpine.DEB.2.02.1210081028340.1989@hadrien>
Em Mon, 8 Oct 2012 10:31:33 +0200 (CEST)
Julia Lawall <julia.lawall@lip6.fr> escreveu:
> I found only 15 uses of I2C_MSG_OP, out of 653 uses of one of the three
> macros. Since I2C_MSG_OP has the complete set of flags, I think it should
> be OK?
>
> One of the uses, in drivers/media/i2c/adv7604.c, is as follows:
>
> struct i2c_msg msg[2] = { { client->addr, 0, 1, msgbuf0 },
> { client->addr, 0 | I2C_M_RD, len, msgbuf1 }
>
> I'm not sure what was intended, but I guess the second structure is
> supposed to only do a read?
Yes, this is just typical I2C register read I2C messsage. The first line
specifies what register should be read (the content of msgbuf0), with is
a one char value, and the second line stores the registers contents at
msgbuf1.
This is exactly what I said before: this is a typical situation:
Just one macro could be used for that, with 4 parameters:
I2C_MSG_READ_SUBADDR(addr, sub_addr, len, buf);
Almost all of those I2C messages will fall on 3 cases only:
- a read msg (3 parameters, 1 msg);
- a write message (3 parameters, 1 msg);
- a write subaddr followed by a read (4 parameters, 2 msgs).
You'll find very few exceptions to it, where additional I2C flags are
needed, or several different transactions were grouped together, due
to the I2C locking or in order to use I2C repeat-start mode[1].
In a matter of fact, as the maintainer, I prefer to fully see the entire
I2C message for those exceptions, as those other usages require more care
while reviewing/merging.
[1] very, very few media i2c bus drivers implement any other flags except
for I2C_M_RD. That's why it is so rare to see them there.
>
> julia
> --
> To unsubscribe from this list: send the line "unsubscribe linux-media" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
Cheers,
Mauro
next prev parent reply other threads:[~2012-10-09 23:33 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-07 15:38 [PATCH 0/11] introduce macros for i2c_msg initialization Julia Lawall
2012-10-07 15:38 ` [PATCH 13/13] drivers/media/tuners/e4000.c: use " Julia Lawall
2012-10-07 16:33 ` walter harms
2012-10-07 16:44 ` Julia Lawall
2012-10-07 17:13 ` walter harms
2012-10-07 17:18 ` Julia Lawall
2012-10-07 18:16 ` Joe Perches
2012-10-07 18:56 ` Julia Lawall
2012-10-07 21:39 ` Joe Perches
2012-10-07 21:43 ` Julia Lawall
2012-10-07 21:51 ` Joe Perches
2012-10-08 1:56 ` Mauro Carvalho Chehab
2012-10-08 2:11 ` Ryan Mallon
2012-10-08 7:54 ` Antti Palosaari
2012-10-08 8:31 ` Julia Lawall
2012-10-09 23:32 ` Mauro Carvalho Chehab [this message]
2012-10-11 6:45 ` Julia Lawall
2012-12-18 11:46 ` Jean Delvare
2012-12-18 12:36 ` Julia Lawall
2012-12-18 13:13 ` Wolfram Sang
2012-10-09 23:50 ` Mauro Carvalho Chehab
2012-10-08 5:04 ` Julia Lawall
2012-10-07 21:49 ` Ryan Mallon
2012-10-07 21:52 ` Ryan Mallon
2012-10-07 15:38 ` [PATCH 2/13] drivers/media/tuners/mxl5007t.c: " Julia Lawall
2012-10-09 12:30 ` Jean Delvare
2012-10-09 12:50 ` Julia Lawall
2012-10-07 15:38 ` [PATCH 3/13] drivers/media/tuners/qt1010.c: " Julia Lawall
2012-10-07 21:55 ` Ryan Mallon
2012-10-08 5:05 ` Julia Lawall
2012-10-08 5:13 ` Ryan Mallon
2012-10-08 5:24 ` Julia Lawall
2012-10-09 12:12 ` Jean Delvare
2012-10-09 12:51 ` Julia Lawall
2012-10-07 15:38 ` [PATCH 4/13] drivers/media/tuners/tda18212.c: " Julia Lawall
2012-10-07 15:38 ` [PATCH 5/13] drivers/media/tuners: " Julia Lawall
2012-10-07 22:05 ` Ryan Mallon
2012-10-08 5:12 ` Julia Lawall
2012-10-07 15:38 ` [PATCH 6/13] drivers/media/tuners/tda18271-common.c: " Julia Lawall
2012-10-07 15:38 ` [PATCH 7/13] drivers/media/tuners/tua9001.c: " Julia Lawall
2012-10-07 15:38 ` [PATCH 8/13] drivers/media/tuners/fc2580.c: " Julia Lawall
2012-10-07 15:38 ` [PATCH 9/13] drivers/media/tuners/fc0011.c: " Julia Lawall
2012-10-07 16:43 ` walter harms
2012-10-07 16:50 ` Julia Lawall
2012-10-07 16:54 ` walter harms
2012-10-07 18:05 ` Michael Büsch
2012-10-09 12:06 ` Jean Delvare
2012-10-07 15:38 ` [PATCH 10/13] drivers/media/tuners/tda8290.c: " Julia Lawall
2012-10-07 15:38 ` [PATCH 11/13] drivers/media/tuners/tda18218.c: " Julia Lawall
2012-10-07 15:38 ` [PATCH 12/13] drivers/media/tuners/max2165.c: " Julia Lawall
2012-10-07 22:14 ` Ryan Mallon
2012-10-08 5:13 ` Julia Lawall
2012-10-09 15:32 ` [PATCH 0/11] introduce " Jean Delvare
2012-10-09 15:43 ` Julia Lawall
2012-10-22 9:18 ` Julia Lawall
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=20121009203238.63d2275f@infradead.org \
--to=mchehab@infradead.org \
--cc=crope@iki.fi \
--cc=joe@perches.com \
--cc=julia.lawall@lip6.fr \
--cc=kernel-janitors@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=rmallon@gmail.com \
--cc=shubhrajyoti@ti.com \
--cc=wharms@bfs.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).