public inbox for linux-iio@vger.kernel.org
 help / color / mirror / Atom feed
From: Tomas Melin <tomas.melin@vaisala.com>
To: Andy Shevchenko <andy.shevchenko@gmail.com>
Cc: Jonathan Cameron <jic23@kernel.org>,
	devicetree <devicetree@vger.kernel.org>,
	linux-iio <linux-iio@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v2 2/2] iio: accel: Add driver for Murata SCA3300 accelerometer
Date: Mon, 19 Apr 2021 13:29:41 +0300	[thread overview]
Message-ID: <91ea3aba-854e-30f1-1236-733debfcf5dc@vaisala.com> (raw)
In-Reply-To: <CAHp75VcibWup79np=xeQpO2z+OGCFXPhL6vWL6aWRZ+G8+djwQ@mail.gmail.com>

Hi Andy,

Thanks for the comments. One reply below, otherwise implementing these 
improvements

as suggested to next version.

Thanks.

Tomas


On 4/17/21 3:39 PM, Andy Shevchenko wrote:
> On Fri, Apr 16, 2021 at 5:21 PM Tomas Melin <tomas.melin@vaisala.com> wrote:
>> Add initial support for Murata SCA3300 3-axis industrial
>> accelerometer with digital SPI interface. This device also
>> provides a temperature measurement.
>>
>> Device product page including datasheet can be found at:
>> https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.murata.com%2Fen-global%2Fproducts%2Fsensor%2Faccel%2Fsca3300&amp;data=04%7C01%7Ctomas.melin%40vaisala.com%7C7b536921ec37446568bf08d9019dd944%7C6d7393e041f54c2e9b124c2be5da5c57%7C0%7C0%7C637542599730610545%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=VulPc9WnmQMJJZpYZfHmAuFPeDhclwt%2F5uPw7iYx8fU%3D&amp;reserved=0
> ...
>> +static int sca3300_transfer(struct sca3300_data *sca_data, int *val)
>> +{
>> +       struct spi_delay delay = {.value = 10, .unit = SPI_DELAY_UNIT_USECS};
>> +       int32_t ret;
>> +       int rs;
>> +       u8 crc;
>> +       struct spi_transfer xfers[2] = {
>> +               {
>> +                       .tx_buf = sca_data->txbuf,
>> +                       .rx_buf = NULL,
>> +                       .len = ARRAY_SIZE(sca_data->txbuf),
>> +                       .delay = delay,
>> +                       .cs_change = 1,
>> +               },
>> +               {
>> +                       .tx_buf = NULL,
>> +                       .rx_buf = sca_data->rxbuf,
>> +                       .len = ARRAY_SIZE(sca_data->rxbuf),
>> +                       .delay = delay,
>> +                       .cs_change = 0,
>> +               }
>> +       };
>> +
>> +       /* inverted crc value as described in device data sheet */
>> +       crc = ~crc8(sca3300_crc_table, &sca_data->txbuf[0], 3, CRC8_INIT_VALUE);
>> +       sca_data->txbuf[3] = crc;
>> +
>> +       ret = spi_sync_transfer(sca_data->spi, xfers, ARRAY_SIZE(xfers));
>> +       if (ret < 0) {
>> +               dev_err(&sca_data->spi->dev,
>> +                       "transfer error, error: %d\n", ret);
>> +               return -EIO;
> Why shadowing error code?

Returning EIO here to have full control over the return value from this 
function. As return value of this is used for testing

for possible status error (EINVAL), feels more confident to have it like 
this to avoid any confusion. And atleast spi_sync_transfer() return value

would be visible in error message.


>
>> +       }
>> +
>> +       crc = ~crc8(sca3300_crc_table, &sca_data->rxbuf[0], 3, CRC8_INIT_VALUE);
>> +       if (sca_data->rxbuf[3] != crc) {
>> +               dev_err(&sca_data->spi->dev, "CRC checksum mismatch");
>> +               return -EIO;
>> +       }
>> +
>> +       /* get return status */
>

  parent reply	other threads:[~2021-04-19 10:29 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-16 13:45 iio: accel: sca3300: Accelerometer support and binding docs Tomas Melin
2021-04-16 13:45 ` [PATCH v2 1/2] dt-bindings: iio: accel: Add SCA3300 documentation Tomas Melin
2021-04-16 13:45 ` [PATCH v2 2/2] iio: accel: Add driver for Murata SCA3300 accelerometer Tomas Melin
2021-04-17 12:39   ` Andy Shevchenko
2021-04-18 11:26     ` Jonathan Cameron
2021-04-19 10:29     ` Tomas Melin [this message]
2021-04-19 11:14       ` Andy Shevchenko
2021-04-19 11:36         ` Tomas Melin
2021-04-19 12:29           ` Andy Shevchenko
2021-04-19 12:48             ` Tomas Melin
2021-04-18 12:08   ` Jonathan Cameron

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=91ea3aba-854e-30f1-1236-733debfcf5dc@vaisala.com \
    --to=tomas.melin@vaisala.com \
    --cc=andy.shevchenko@gmail.com \
    --cc=devicetree@vger.kernel.org \
    --cc=jic23@kernel.org \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox