[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1409585783.2664.18.camel@joe-AO725>
Date: Mon, 01 Sep 2014 08:36:23 -0700
From: Joe Perches <joe@...ches.com>
To: Laurentiu Palcu <laurentiu.palcu@...el.com>
Cc: Jonathan Cameron <jic23@...nel.org>,
Hartmut Knaack <knaack.h@....de>,
Lars-Peter Clausen <lars@...afoo.de>,
Peter Meerwald <pmeerw@...erw.net>,
Srinivas Pandruvada <srinivas.pandruvada@...ux.intel.com>,
linux-iio@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3 3/3] iio: accel: BMC150: add support for other Bosch
chips
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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists