Re: [PATCH 08/10] V4L/DVB: tda18271: allow restricting max out to 4 bytes

Michael Krufky
2010-09-30T18:52:27Z

On Tue, Sep 28, 2010 at 2:46 PM, Mauro Carvalho Chehab
<mchehab@redhat.com> wrote:
> By default, tda18271 tries to optimize I2C bus by updating all registers
> at the same time. Unfortunately, some devices doesn't support it.
>
> The current logic has a problem when small_i2c is equal to 8, since there
> are some transfers using 11 + 1 bytes.
>
> Fix the problem by enforcing the max size at the right place, and allows
> reducing it to max = 3 + 1.
>
> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

This looks to me as if it is working around a problem on the i2c
master. I believe that a fix like this really belongs in the i2c
master driver, it should be able to break the i2c transactions down
into transactions that the i2c master can handle.

I wouldn't want to merge this without a better explanation of why it
is necessary in the tda18271 driver. It seems to be a band-aid to
cover up a problem in the i2c master device driver code.

Regards,

Mike Krufky