2023-07-12 23:28:47

by George Stark

[permalink] [raw]
Subject: [PATCH v6 0/6] meson saradc: add iio channels to read channel 7 mux inputs

Changelog:

v1->v2:
split refactoring patch [1] into 4 smaller patches, fix comment style

[1] https://lore.kernel.org/lkml/[email protected]/

v2->v3:
remove patch 'meson saradc: unite iio channel array definitions' [1] after discussion

patch 'meson saradc: add enum for iio channel array indexes'
- change enum items prefix from INDEX_ to NUM_ since name 'channel index' is
more relevant to channel array index in iio world and with 2 tables our array index is
not always equal to channel number
- resolve conflicts after deleting [1]
- update commit message, previous patch [2]
- return channel number for temp channel. It wasn't used and isn't used currently
but may need later

patch meson saradc: support reading from channel 7 mux inputs
- resolve conflicts after deleting [1]
- update commit message, previous patch [3]
- add routine find_channel_by_num to get channel by channel number

[1] https://lore.kernel.org/lkml/[email protected]/
[2] https://lore.kernel.org/lkml/[email protected]/
[3] https://lore.kernel.org/lkml/[email protected]/

v3->v4:
add new patch 'iio: adc: meson: remove unused timestamp channel' [1]

patch 'iio: adc: meson: move enums declaration before'
update commit message, previous patch [2]
patch 'iio: adc: meson: move meson_sar_adc_set_chan7_mux'
update commit message, previous patch [3]
patch 'iio: adc: meson: add enum for iio channel numbers'
update commit message, previous patch [4]
patch 'iio: adc: meson: add channel labels'
update commit message, previous patch [5]
change sprintf(label, "%s\n", "temp-sensor") to sprintf(label, "temp-sensor\n")
patch 'iio: adc: meson: support reading from channel 7 mux'
rewrite enum meson_sar_adc_chan7_mux_sel definition and
read_label routine proposed by Andy [7], previous patch [6]

[1] https://lore.kernel.org/lkml/[email protected]/
[2] https://lore.kernel.org/lkml/[email protected]/
[3] https://lore.kernel.org/lkml/[email protected]/
[4] https://lore.kernel.org/lkml/[email protected]/
[5] https://lore.kernel.org/lkml/[email protected]/
[6] https://lore.kernel.org/lkml/[email protected]/
[7] https://lore.kernel.org/lkml/[email protected]/

v4->v5:
patch 'iio: adc: meson: move enums declaration before variables declaration'
update commit message, previous patch [1]
patch 'iio: adc: meson: move meson_sar_adc_set_chan7_mux routine upper'
update commit message, previous patch [2]
patch 'iio: adc: meson: add channel labels'
update commit message, previous patch [3]
patch 'iio: adc: meson: support reading from channel 7 mux inputs'
update commit message, previous patch [4]

[1] https://lore.kernel.org/lkml/[email protected]/
[2] https://www.spinics.net/lists/linux-iio/msg80226.html
[3] https://www.spinics.net/lists/linux-iio/msg80227.html
[4] https://www.spinics.net/lists/linux-iio/msg80230.html

v5->v6:
patch 'iio: adc: meson: move enums declaration before variables declaration'
update commit message, previous patch [1]
patch 'iio: adc: meson: support reading from channel 7 mux inputs'
update commit message, previous patch [2]
[1] https://www.spinics.net/lists/linux-iio/msg80315.html
[2] https://www.spinics.net/lists/linux-iio/msg80314.html

George Stark (6):
iio: adc: meson: remove unused timestamp channel
iio: adc: meson: move enums declaration before variables declaration
iio: adc: meson: move meson_sar_adc_set_chan7_mux routine upper
iio: adc: meson: add enum for iio channel numbers
iio: adc: meson: add channel labels
iio: adc: meson: support reading from channel 7 mux inputs

drivers/iio/adc/meson_saradc.c | 173 +++++++++++++++++++++++++--------
1 file changed, 134 insertions(+), 39 deletions(-)

--
2.38.4



2023-07-12 23:38:41

by George Stark

[permalink] [raw]
Subject: [PATCH v6 1/6] iio: adc: meson: remove unused timestamp channel

Remove IIO_CHAN_SOFT_TIMESTAMP channel because it's used only for
buffering mode which is not implemented.

Signed-off-by: George Stark <[email protected]>
---
drivers/iio/adc/meson_saradc.c | 2 --
1 file changed, 2 deletions(-)

diff --git a/drivers/iio/adc/meson_saradc.c b/drivers/iio/adc/meson_saradc.c
index 18937a262af6..569ffc178935 100644
--- a/drivers/iio/adc/meson_saradc.c
+++ b/drivers/iio/adc/meson_saradc.c
@@ -211,7 +211,6 @@ static const struct iio_chan_spec meson_sar_adc_iio_channels[] = {
MESON_SAR_ADC_CHAN(5),
MESON_SAR_ADC_CHAN(6),
MESON_SAR_ADC_CHAN(7),
- IIO_CHAN_SOFT_TIMESTAMP(8),
};

static const struct iio_chan_spec meson_sar_adc_and_temp_iio_channels[] = {
@@ -224,7 +223,6 @@ static const struct iio_chan_spec meson_sar_adc_and_temp_iio_channels[] = {
MESON_SAR_ADC_CHAN(6),
MESON_SAR_ADC_CHAN(7),
MESON_SAR_ADC_TEMP_CHAN(8),
- IIO_CHAN_SOFT_TIMESTAMP(9),
};

enum meson_sar_adc_avg_mode {
--
2.38.4


2023-07-12 23:39:05

by George Stark

[permalink] [raw]
Subject: [PATCH v6 2/6] iio: adc: meson: move enums declaration before variables declaration

Allow to use enum items for variables initialization.
For this, move enums upper in the code.

Signed-off-by: George Stark <[email protected]>
---
drivers/iio/adc/meson_saradc.c | 44 +++++++++++++++++-----------------
1 file changed, 22 insertions(+), 22 deletions(-)

diff --git a/drivers/iio/adc/meson_saradc.c b/drivers/iio/adc/meson_saradc.c
index 569ffc178935..98b6697a21f6 100644
--- a/drivers/iio/adc/meson_saradc.c
+++ b/drivers/iio/adc/meson_saradc.c
@@ -202,6 +202,28 @@
.datasheet_name = "TEMP_SENSOR", \
}

+enum meson_sar_adc_avg_mode {
+ NO_AVERAGING = 0x0,
+ MEAN_AVERAGING = 0x1,
+ MEDIAN_AVERAGING = 0x2,
+};
+
+enum meson_sar_adc_num_samples {
+ ONE_SAMPLE = 0x0,
+ TWO_SAMPLES = 0x1,
+ FOUR_SAMPLES = 0x2,
+ EIGHT_SAMPLES = 0x3,
+};
+
+enum meson_sar_adc_chan7_mux_sel {
+ CHAN7_MUX_VSS = 0x0,
+ CHAN7_MUX_VDD_DIV4 = 0x1,
+ CHAN7_MUX_VDD_DIV2 = 0x2,
+ CHAN7_MUX_VDD_MUL3_DIV4 = 0x3,
+ CHAN7_MUX_VDD = 0x4,
+ CHAN7_MUX_CH7_INPUT = 0x7,
+};
+
static const struct iio_chan_spec meson_sar_adc_iio_channels[] = {
MESON_SAR_ADC_CHAN(0),
MESON_SAR_ADC_CHAN(1),
@@ -225,28 +247,6 @@ static const struct iio_chan_spec meson_sar_adc_and_temp_iio_channels[] = {
MESON_SAR_ADC_TEMP_CHAN(8),
};

-enum meson_sar_adc_avg_mode {
- NO_AVERAGING = 0x0,
- MEAN_AVERAGING = 0x1,
- MEDIAN_AVERAGING = 0x2,
-};
-
-enum meson_sar_adc_num_samples {
- ONE_SAMPLE = 0x0,
- TWO_SAMPLES = 0x1,
- FOUR_SAMPLES = 0x2,
- EIGHT_SAMPLES = 0x3,
-};
-
-enum meson_sar_adc_chan7_mux_sel {
- CHAN7_MUX_VSS = 0x0,
- CHAN7_MUX_VDD_DIV4 = 0x1,
- CHAN7_MUX_VDD_DIV2 = 0x2,
- CHAN7_MUX_VDD_MUL3_DIV4 = 0x3,
- CHAN7_MUX_VDD = 0x4,
- CHAN7_MUX_CH7_INPUT = 0x7,
-};
-
struct meson_sar_adc_param {
bool has_bl30_integration;
unsigned long clock_rate;
--
2.38.4


2023-07-13 12:46:28

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v6 0/6] meson saradc: add iio channels to read channel 7 mux inputs

On Thu, Jul 13, 2023 at 02:10:41AM +0300, George Stark wrote:

> v5->v6:

We haven't settled down the things in v5, hence NAK to v6, sorry.
You have to pay respect to people who invested time in your work.
I hope you are going to answer to my questions and depending on
that we may see v7 in a better shape.

--
With Best Regards,
Andy Shevchenko