From: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
To: Joe Perches <joe@perches.com>
Cc: Laurentiu Palcu <laurentiu.palcu@intel.com>,
Jonathan Cameron <jic23@kernel.org>,
Hartmut Knaack <knaack.h@gmx.de>,
Lars-Peter Clausen <lars@metafoo.de>,
Peter Meerwald <pmeerw@pmeerw.net>,
linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 3/3] iio: accel: BMC150: add support for other Bosch chips
Date: Mon, 01 Sep 2014 08:51:36 -0700 [thread overview]
Message-ID: <1409586696.3318.11.camel@spandruv-hsb-test> (raw)
In-Reply-To: <1409585783.2664.18.camel@joe-AO725>
On Mon, 2014-09-01 at 08:36 -0700, Joe Perches wrote:
> On Mon, 2014-09-01 at 12:11 +0300, Laurentiu Palcu wrote:
> > The following chips are either similar or have only the resolution
> > different. Hence, change this driver to support these chips too:
> >
> > BMI055 - combo chip (accelerometer part is identical to BMC150's)
> > BMA255 - identical to BMC150's accelerometer
> > BMA222E - 8 bit resolution
> > BMA250E - 10 bit resolution
> > BMA280 - 14 bit resolution
> >
> > Additionally:
> > * add bmc150_accel_match_acpi_device() function to check that the device
> > has been enumerated through ACPI;
> > * rename bmc150_accel_acpi_gpio_probe() to bmc150_accel_gpio_probe()
> > since the ACPI matching has been moved to the new function. Also, this
> > will allow for the GPIO matching to be done against a device tree too, not only
> > ACPI tree;
> []
> > diff --git a/drivers/iio/accel/bmc150-accel.c b/drivers/iio/accel/bmc150-accel.c
> []
> > @@ -647,12 +659,13 @@ static int bmc150_accel_read_raw(struct iio_dev *indio_dev,
> > {
> > int i;
> >
> > - for (i = 0; i < ARRAY_SIZE(bmc150_accel_scale_table);
> > - ++i) {
> > - if (bmc150_accel_scale_table[i].range ==
> > + for (i = 0;
> > + i < ARRAY_SIZE(data->chip_info->scale_table);
> > + ++i) {
> > + if (data->chip_info->scale_table[i].range ==
> > data->range) {
> > *val2 =
> > - bmc150_accel_scale_table[i].scale;
> > + data->chip_info->scale_table[i].scale;
> > return IIO_VAL_INT_PLUS_MICRO;
> > }
> > }
>
> This looks like it would read a lot better with
> a temporary for data->chip_info->scale_table[i]
>
> so these could become:
>
> for (i = 0; i < etc; i++) {
> type *temp = &data->chip_info->scale_table[i];
> if (temp->range == data->range) {
> *val2 = temp->scale;
> return IIO_VAL_INT_PLUS_MICRO;
> }
>
> Maybe all the bmc150_ variable names could be removed.
> The prefixes don't seem to serve a purpose other than
> to make the code longer.
>
> The filename could be changed to be more generic.
Then this will also require change in the CONFIG name to match. This
will require all current users to change the config file once they
update to new version of the driver, which they don't like to change
once product config is finalized. Since the most of the chips will just
differ by a number at the end and they may not be compatible to each
other, finding a common name will be challenge.
Instead the CONFIG description for this module should explicitly state
the names of chips it is compatible to.
Thanks,
Srinivas
>
>
next prev parent reply other threads:[~2014-09-01 15:54 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-29 8:38 [PATCH v2 0/3] iio: accel: BMC150: add support for more " Laurentiu Palcu
2014-08-29 8:38 ` [PATCH v2 1/3] iio: accel: BMC150: fix scale value for 16G Laurentiu Palcu
2014-08-30 10:36 ` Jonathan Cameron
2014-08-29 8:38 ` [PATCH v2 2/3] iio: accel: BMC150: fix issues when CONFIG_PM_RUNTIME is not set Laurentiu Palcu
2014-08-30 10:45 ` Jonathan Cameron
2014-09-01 9:24 ` Laurentiu Palcu
2014-08-29 8:38 ` [PATCH v2 3/3] iio: accel: BMC150: add support for other Bosch chips Laurentiu Palcu
2014-08-30 10:54 ` Jonathan Cameron
2014-09-01 9:11 ` [PATCH v3 " Laurentiu Palcu
2014-09-01 14:29 ` [PATCH v4 " Laurentiu Palcu
2014-09-02 9:30 ` [PATCH v5 " Laurentiu Palcu
2014-09-10 19:35 ` Jonathan Cameron
2014-09-10 19:43 ` Srinivas Pandruvada
2014-09-13 20:37 ` Jonathan Cameron
2014-09-01 15:36 ` [PATCH v3 " Joe Perches
2014-09-01 15:51 ` Srinivas Pandruvada [this message]
2014-09-02 10:30 ` Laurentiu Palcu
2014-09-10 19:32 ` 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=1409586696.3318.11.camel@spandruv-hsb-test \
--to=srinivas.pandruvada@linux.intel.com \
--cc=jic23@kernel.org \
--cc=joe@perches.com \
--cc=knaack.h@gmx.de \
--cc=lars@metafoo.de \
--cc=laurentiu.palcu@intel.com \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pmeerw@pmeerw.net \
/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
all inboxes | Powered by JetHome®