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-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html