Message ID | 1447851356-6248-2-git-send-email-clabbe.montjoie@gmail.com |
---|---|
State | Superseded |
Headers | show |
On Wed, Nov 18, 2015 at 2:55 PM, LABBE Corentin <clabbe.montjoie@gmail.com> wrote: > The simple_strtoul function is marked as obsolete. > This patch replace it by kstrtou8. > Only one concern. simple_strto* goes through the string until it has an invalid character or \0. In your case kstrtou8 will fail the transfer. So, is there possible cases when HW returns such data? And just a style nitpicks below. > if (p[0] == 'x') { > - data->byte = simple_strtol(p + 1, NULL, 16); > + /* > + * voluntarily dropping error code of kstrtou8 since all -> Voluntarily… > + * error code that it could return are invalid according > + * to Documentation/i2c/fault-codes -> …codes. > + */ > + if (kstrtou8(p + 1, 16, &data->byte)) > + return -EPROTO;
Hi Andy, On Wed, 18 Nov 2015 18:26:25 +0200, Andy Shevchenko wrote: > On Wed, Nov 18, 2015 at 2:55 PM, LABBE Corentin > <clabbe.montjoie@gmail.com> wrote: > > The simple_strtoul function is marked as obsolete. > > This patch replace it by kstrtou8. > > > > Only one concern. simple_strto* goes through the string until it has > an invalid character or \0. In your case kstrtou8 will fail the > transfer. So, is there possible cases when HW returns such data? It's not supposed to happen. > And just a style nitpicks below. > > > if (p[0] == 'x') { > > - data->byte = simple_strtol(p + 1, NULL, 16); > > + /* > > + * voluntarily dropping error code of kstrtou8 since all > > -> Voluntarily… > > > + * error code that it could return are invalid according > > + * to Documentation/i2c/fault-codes > > -> …codes. > > > + */ > > + if (kstrtou8(p + 1, 16, &data->byte)) > > + return -EPROTO; >
Hi Corentin, On Wed, 18 Nov 2015 13:55:56 +0100, LABBE Corentin wrote: > The simple_strtoul function is marked as obsolete. > This patch replace it by kstrtou8. > > Signed-off-by: LABBE Corentin <clabbe.montjoie@gmail.com> Reviewed-by: Jean Delvare <jdelvare@suse.de> Tested-by: Jean Delvare <jdelvare@suse.de> Note: when there's a single patch you don't have to send an email with PATCH 0/1. > --- > drivers/i2c/busses/i2c-taos-evm.c | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/drivers/i2c/busses/i2c-taos-evm.c b/drivers/i2c/busses/i2c-taos-evm.c > index 4c7fc2d..f673f5d 100644 > --- a/drivers/i2c/busses/i2c-taos-evm.c > +++ b/drivers/i2c/busses/i2c-taos-evm.c > @@ -130,7 +130,13 @@ static int taos_smbus_xfer(struct i2c_adapter *adapter, u16 addr, > return 0; > } else { > if (p[0] == 'x') { > - data->byte = simple_strtol(p + 1, NULL, 16); > + /* > + * voluntarily dropping error code of kstrtou8 since all > + * error code that it could return are invalid according > + * to Documentation/i2c/fault-codes > + */ > + if (kstrtou8(p + 1, 16, &data->byte)) > + return -EPROTO; > return 0; > } > }
diff --git a/drivers/i2c/busses/i2c-taos-evm.c b/drivers/i2c/busses/i2c-taos-evm.c index 4c7fc2d..f673f5d 100644 --- a/drivers/i2c/busses/i2c-taos-evm.c +++ b/drivers/i2c/busses/i2c-taos-evm.c @@ -130,7 +130,13 @@ static int taos_smbus_xfer(struct i2c_adapter *adapter, u16 addr, return 0; } else { if (p[0] == 'x') { - data->byte = simple_strtol(p + 1, NULL, 16); + /* + * voluntarily dropping error code of kstrtou8 since all + * error code that it could return are invalid according + * to Documentation/i2c/fault-codes + */ + if (kstrtou8(p + 1, 16, &data->byte)) + return -EPROTO; return 0; } }
The simple_strtoul function is marked as obsolete. This patch replace it by kstrtou8. Signed-off-by: LABBE Corentin <clabbe.montjoie@gmail.com> --- drivers/i2c/busses/i2c-taos-evm.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)