From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gregory CLEMENT Subject: Re: [PATCH 1/5] i2c: mv64xxx: put offload check into offload prepare function Date: Fri, 14 Feb 2014 12:38:19 +0100 Message-ID: <52FE002B.1040006@free-electrons.com> References: <20140213094117.GA3934@katana> <1392323793-4125-1-git-send-email-wsa@the-dreams.de> <1392323793-4125-2-git-send-email-wsa@the-dreams.de> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1392323793-4125-2-git-send-email-wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org> Sender: linux-i2c-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Wolfram Sang Cc: linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Jason Cooper , Andrew Lunn , Thomas Petazzoni , Ezequiel Garcia , Sebastian Hesselbarth , linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, Kevin Hilman List-Id: linux-i2c@vger.kernel.org On 13/02/2014 21:36, Wolfram Sang wrote: > It makes code simpler to read and prepares a reorganization needed for a > bugfix. > > Signed-off-by: Wolfram Sang Tested-by: Gregory CLEMENT As expected it didn't fix the issue I had, but it didn't introduce any visible regression too. > --- > drivers/i2c/busses/i2c-mv64xxx.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/i2c/busses/i2c-mv64xxx.c b/drivers/i2c/busses/i2c-mv64xxx.c > index b8c5187..ba64978 100644 > --- a/drivers/i2c/busses/i2c-mv64xxx.c > +++ b/drivers/i2c/busses/i2c-mv64xxx.c > @@ -204,6 +204,9 @@ static int mv64xxx_i2c_offload_msg(struct mv64xxx_i2c_data *drv_data) > unsigned long ctrl_reg; > struct i2c_msg *msg = drv_data->msgs; > > + if (!drv_data->offload_enabled) > + return -EOPNOTSUPP; > + > drv_data->msg = msg; > drv_data->byte_posn = 0; > drv_data->bytes_left = msg->len; > @@ -433,8 +436,7 @@ mv64xxx_i2c_do_action(struct mv64xxx_i2c_data *drv_data) > > drv_data->msgs++; > drv_data->num_msgs--; > - if (!(drv_data->offload_enabled && > - mv64xxx_i2c_offload_msg(drv_data))) { > + if (mv64xxx_i2c_offload_msg(drv_data) < 0) { > drv_data->cntl_bits |= MV64XXX_I2C_REG_CONTROL_START; > writel(drv_data->cntl_bits, > drv_data->reg_base + drv_data->reg_offsets.control); > -- Gregory Clement, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com