lkml.org 
[lkml]   [2018]   [Jan]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 4/4 v2] Input: mms114 - add support for mms152
    On Fri, Jan 26, 2018 at 02:14:38PM +0900, Andi Shyti wrote:
    > Hi Simon and Dmitry,
    >
    > On Wed, Jan 24, 2018 at 01:32:01PM -0800, Dmitry Torokhov wrote:
    > > From: Simon Shields <simon@lineageos.org>
    > >
    > > MMS152 has no configuration registers, but the packet format used in
    > > interrupts is identical to mms114.
    > >
    > > Signed-off-by: Simon Shields <simon@lineageos.org>
    > > Patchwork-Id: 10125841
    > > Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    >
    > also here
    >
    > Reviewed-by: Andi Shyti <andi.shyti@samsung.com>
    > Tested-by: Andi Shyti <andi.shyti@samsung.com>
    >
    > one small nitpick:
    >
    > > @@ -239,14 +249,33 @@ static int mms114_get_version(struct mms114_data *data)
    > > {
    > > struct device *dev = &data->client->dev;
    > > u8 buf[6];
    > > + int group;
    > > int error;
    >
    > do we really need to define a new 'group' variable?

    I like it, that's why I added it ;)

    As Marcus mentioned, we cant use 'buf' to store the value as buf is
    unsigned and i2c_smbus_read_byte_data() may return negative error code.
    And I do not want to use 'error' variable because logically we are
    trying to get group value, not error. Hence a dedicated variable. It's
    gonna be optimized away anyway.

    Thanks.

    >
    > Andi
    >
    > > - error = __mms114_read_reg(data, MMS114_TSP_REV, 6, buf);
    > > - if (error < 0)
    > > - return error;
    > > + switch (data->type) {
    > > + case TYPE_MMS152:
    > > + error = __mms114_read_reg(data, MMS152_FW_REV, 3, buf);
    > > + if (error)
    > > + return error;
    > > +
    > > + group = i2c_smbus_read_byte_data(data->client,
    > > + MMS152_COMPAT_GROUP);
    > > + if (group < 0)
    > > + return group;
    > > +
    > > + dev_info(dev, "TSP FW Rev: bootloader 0x%x / core 0x%x / config 0x%x, Compat group: %c\n",
    > > + buf[0], buf[1], buf[2], group);
    > > + break;
    > > +
    > > + case TYPE_MMS114:
    > > + error = __mms114_read_reg(data, MMS114_TSP_REV, 6, buf);
    > > + if (error)
    > > + return error;
    > >
    > > - dev_info(dev, "TSP Rev: 0x%x, HW Rev: 0x%x, Firmware Ver: 0x%x\n",
    > > - buf[0], buf[1], buf[3]);
    > > + dev_info(dev, "TSP Rev: 0x%x, HW Rev: 0x%x, Firmware Ver: 0x%x\n",
    > > + buf[0], buf[1], buf[3]);
    > > + break;
    > > + }
    > >
    > > return 0;
    > > }

    --
    Dmitry

    \
     
     \ /
      Last update: 2018-01-26 20:27    [W:6.976 / U:0.000 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site