Thread (105 messages) 105 messages, 8 authors, 2013-09-17

[PATCH 25/38] iio: pressure-core: st: Allow for number of channels to vary

From: jic23@kernel.org (Jonathan Cameron)
Date: 2013-09-16 15:32:21
Also in: linux-iio, lkml


Lee Jones [off-list ref] wrote:
On Sat, 14 Sep 2013, Jonathan Cameron wrote:
quoted
On 09/10/13 13:49, Lee Jones wrote:
quoted
At the moment the number of channels specified is dictated by the
first
quoted
quoted
sensor supported by the driver. As we add support for more sensors
this
quoted
quoted
is likely to vary. Instead of using the ARRAY_SIZE() of the
LPS331AP's
quoted
quoted
channel specifier we'll use a new adaptable 'struct st_sensors'
element
quoted
quoted
instead.

Signed-off-by: Lee Jones <redacted>
Applied with Denis ack (again it should have been here)
Ah, you're going to take the patches one-by-one?

After amending the drivers as per your review I was going to send a
final time with all Acks applied. Then, once all maintainer Acks were
obtained I was going to send you a pull-request.

Perhaps I should have communicated the intent sooner.

Future submissions will have all Acks applied in this case.
Quite a few of this series stood alone just fine so I grabbed them :)
quoted
quoted
---
 drivers/iio/pressure/st_pressure_core.c | 3 ++-
 include/linux/iio/common/st_sensors.h   | 1 +
 2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/iio/pressure/st_pressure_core.c
b/drivers/iio/pressure/st_pressure_core.c
quoted
quoted
index 60c2ee4..3abada2 100644
--- a/drivers/iio/pressure/st_pressure_core.c
+++ b/drivers/iio/pressure/st_pressure_core.c
@@ -107,6 +107,7 @@ static const struct st_sensors
st_press_sensors[] = {
quoted
quoted
 			[0] = LPS331AP_PRESS_DEV_NAME,
 		},
 		.ch = (struct iio_chan_spec *)st_press_lps331ap_channels,
+		.num_ch = ARRAY_SIZE(st_press_lps331ap_channels),
 		.odr = {
 			.addr = ST_PRESS_LPS331AP_ODR_ADDR,
 			.mask = ST_PRESS_LPS331AP_ODR_MASK,
@@ -245,7 +246,7 @@ int st_press_common_probe(struct iio_dev
*indio_dev,
quoted
quoted
 	pdata->num_data_channels = ST_PRESS_NUMBER_DATA_CHANNELS;
 	pdata->multiread_bit = pdata->sensor->multi_read_bit;
 	indio_dev->channels = pdata->sensor->ch;
-	indio_dev->num_channels = ARRAY_SIZE(st_press_lps331ap_channels);
+	indio_dev->num_channels = pdata->sensor->num_ch;
 
 	if (pdata->sensor->fs.addr != 0)
 		pdata->current_fullscale = (struct st_sensor_fullscale_avl *)
diff --git a/include/linux/iio/common/st_sensors.h
b/include/linux/iio/common/st_sensors.h
quoted
quoted
index e51f654..e732fda 100644
--- a/include/linux/iio/common/st_sensors.h
+++ b/include/linux/iio/common/st_sensors.h
@@ -184,6 +184,7 @@ struct st_sensors {
 	u8 wai;
 	char sensors_supported[ST_SENSORS_MAX_4WAI][ST_SENSORS_MAX_NAME];
 	struct iio_chan_spec *ch;
+	int num_ch;
 	struct st_sensor_odr odr;
 	struct st_sensor_power pw;
 	struct st_sensor_axis enable_axis;
-- 
Sent from my Android phone with K-9 Mail. Please excuse my brevity.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help