[U-Boot] [PATCH] mvtwsi: Fix breakage introduced by "Fix mvtwsi not working on sun6i and newer sunxi SoCs"

Heiko Schocher hs at denx.de
Wed Jan 27 07:18:11 CET 2016


Hello Hans,

Am 26.01.2016 um 18:05 schrieb Hans de Goede:
> "Fix mvtwsi not working on sun6i and newer sunxi SoCs" includes the following:
>
> @@ -189,7 +200,8 @@ static int twsi_start(struct i2c_adapter *adap, int expected_status)
>   	/* globally set TWSIEN in case it was not */
>   	twsi_control_flags |= MVTWSI_CONTROL_TWSIEN;
>   	/* assert START */
> -	writel(twsi_control_flags | MVTWSI_CONTROL_START, &twsi->control);
> +	twsi_control_flags |= MVTWSI_CONTROL_START | MVTWSI_CONTROL_CLEAR_IFLG;
> +	writel(twsi_control_flags, &twsi->control);
>   	/* wait for controller to process START */
>   	return twsi_wait(adap, expected_status);
>   }
>
> The modification of twsi_control_flags done here was introduced while
> merging to fix a line > 80 chars, but twsi_control_flags is a global variable
> and should not be modified like this here, this commit fixes this, restoring
> mvtwsi functionality.
>
> Signed-off-by: Hans de Goede <hdegoede at redhat.com>
> ---
>   drivers/i2c/mvtwsi.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)

Thanks!

Acked-by: Heiko Schocher <hs at denx.de>

If we would have automated tests, such cases would hopefully not happen.

Maybe you find time to look into:

[1] [U-Boot] [PATCH] test, tools: introduce tbot README
http://lists.denx.de/pipermail/u-boot/2016-January/243248.html

With tbot we could setup a test setup, where we can run testcases on
boards wherever they are availiable for tests. In [1] search for
"automated Testsetup with buildbot and tbot doing cyclic tests"

With this setup I detected your checkpatch error, and thought its
easy to fix (never think its easy ... again sorry). If I/we would
have a sunxi SoC HW with i2c testcases my bad fix would have automatically
poped up ...

As tbot is written in python it would be easy to send an automated
EMail if tbot detects such problems with a patch ... so, I never
would have tried to fix and break it ... but I tend to say, sending
EMails should be done by humans ...

bye,
Heiko
>
> diff --git a/drivers/i2c/mvtwsi.c b/drivers/i2c/mvtwsi.c
> index 5f993b9..221ff4f 100644
> --- a/drivers/i2c/mvtwsi.c
> +++ b/drivers/i2c/mvtwsi.c
> @@ -204,8 +204,8 @@ static int twsi_start(struct i2c_adapter *adap, int expected_status)
>   	/* globally set TWSIEN in case it was not */
>   	twsi_control_flags |= MVTWSI_CONTROL_TWSIEN;
>   	/* assert START */
> -	twsi_control_flags |= MVTWSI_CONTROL_START | MVTWSI_CONTROL_CLEAR_IFLG;
> -	writel(twsi_control_flags, &twsi->control);
> +	writel(twsi_control_flags | MVTWSI_CONTROL_START |
> +				    MVTWSI_CONTROL_CLEAR_IFLG, &twsi->control);
>   	/* wait for controller to process START */
>   	return twsi_wait(adap, expected_status);
>   }
>

-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany


More information about the U-Boot mailing list