mbox series

[v6,0/3] Add support for AD7191

Message ID 20250228141327.262488-1-alisa.roman@analog.com (mailing list archive)
Headers show
Series Add support for AD7191 | expand

Message

Alisa-Dariana Roman Feb. 28, 2025, 2:05 p.m. UTC
v5: https://lore.kernel.org/all/20250226115451.249361-1-alisa.roman@analog.com/

v5 -> v6:
	- use GPL-2.0-only
	- remove kernel.h
	- remove unused macros
	- initialize local indexes
	- check number of gpio pins
	- use bitmap
	- inverse if condition and remove continue in 2 places
	- fit .compatible initialization in one line
	- change MODULE_IMPORT_NS() content to string
	- use iio_device_claim_direct()
	- refactor heading levels in docs

v4: https://lore.kernel.org/all/20250203133254.313106-1-alisa.roman@analog.com/

v4 -> v5:
	- use static arrays in the ad7191_config_setup function, instead of keeping
them in the state structure
	- added error checking for devicetree parsing of pga-value and odr-value
	- for now, it doesn't return error when the index corresponding to pga-value
or odr-value doesn't match, since index is initialized to 0, so it will use the
first value in this case (the bindings constrain the possbile values for these
2 properties, so I thought it's ok like this)
	- use gpiod_multi_set_value_cansleep()
	- move sampling frequency attribute to mask separate (the avail unmodified)
	- removed unused argument form ad7191_setup()
	- removed 2 redundant sections from docs, and renamed one to Devicetree
	- add ad7191.rst to MAINTAINERS

v3: https://lore.kernel.org/all/20250129143054.225322-1-alisa.roman@analog.com/

v3 -> v4:
	- addressed all replies for v3
	- refactored the scale and sampling frequencies configurations to use 2
different arrays for gpio case vs pinstrap case

v2: https://lore.kernel.org/all/20250122132821.126600-1-alisa.roman@analog.com/

v2 -> v3:
	- correct binding title
	- remove clksel_state and clksel_gpio, assume the clksel pin is always
pinstrapped
	- rephrase clocks description accordingly
	- simplify binding constraints
	- specify in binding description that PDOWN must be connected to SPI's
controller's CS
	- add minItems for gpios in bindings
	- make scope explicit for mutex guard
	- remove spi irq check
	- add id_table to spi_driver struct
	- changed comments as suggested
	- use spi_message_init_with_transfers()
	- default returns an error in ad7191_set_mode()
	- replace hard-coded 2 with st->pga_gpios->ndescs
	- use gpiod_set_array_value_cansleep()
	- change .storagebits to 32
	- check return value for ad_sd_init()
	- change to adi,odr-value and adi,pga-value, which now accepts the value as
suggested
	- modify variables names and refactor the setup of odr and pga gpios,
indexes and available arrays into ad7191_config_setup(), since they are all
related
	- add ad7191.rst

v1: https://lore.kernel.org/all/20241221155926.81954-1-alisa.roman@analog.com/

v1 -> v2:
	- removed patch adding function in ad_sigma_delta.h/.c
	- added a function set_cs() for asserting/deasserting the cs
	- handle pinstrapping cases
	- refactored all clock handling
	- updated bindings: corrected and added new things
	- -> address of the channels is used in set_channel()
	- addressed all the other changes

Comments

Jonathan Cameron March 6, 2025, 12:01 a.m. UTC | #1
Hi Alisa-Dariana,
Looks good to me.  Applied to the togreg branch of iio.git and pushed out
for now as testing to see if 0-day finds anything we missed.

Thanks,

Jonathan


On Fri, 28 Feb 2025 16:05:59 +0200
Alisa-Dariana Roman <alisadariana@gmail.com> wrote:

> v5: https://lore.kernel.org/all/20250226115451.249361-1-alisa.roman@analog.com/
> 
> v5 -> v6:
> 	- use GPL-2.0-only
> 	- remove kernel.h
> 	- remove unused macros
> 	- initialize local indexes
> 	- check number of gpio pins
> 	- use bitmap
> 	- inverse if condition and remove continue in 2 places
> 	- fit .compatible initialization in one line
> 	- change MODULE_IMPORT_NS() content to string
> 	- use iio_device_claim_direct()
> 	- refactor heading levels in docs
> 
> v4: https://lore.kernel.org/all/20250203133254.313106-1-alisa.roman@analog.com/
> 
> v4 -> v5:
> 	- use static arrays in the ad7191_config_setup function, instead of keeping
> them in the state structure
> 	- added error checking for devicetree parsing of pga-value and odr-value
> 	- for now, it doesn't return error when the index corresponding to pga-value
> or odr-value doesn't match, since index is initialized to 0, so it will use the
> first value in this case (the bindings constrain the possbile values for these
> 2 properties, so I thought it's ok like this)
> 	- use gpiod_multi_set_value_cansleep()
> 	- move sampling frequency attribute to mask separate (the avail unmodified)
> 	- removed unused argument form ad7191_setup()
> 	- removed 2 redundant sections from docs, and renamed one to Devicetree
> 	- add ad7191.rst to MAINTAINERS
> 
> v3: https://lore.kernel.org/all/20250129143054.225322-1-alisa.roman@analog.com/
> 
> v3 -> v4:
> 	- addressed all replies for v3
> 	- refactored the scale and sampling frequencies configurations to use 2
> different arrays for gpio case vs pinstrap case
> 
> v2: https://lore.kernel.org/all/20250122132821.126600-1-alisa.roman@analog.com/
> 
> v2 -> v3:
> 	- correct binding title
> 	- remove clksel_state and clksel_gpio, assume the clksel pin is always
> pinstrapped
> 	- rephrase clocks description accordingly
> 	- simplify binding constraints
> 	- specify in binding description that PDOWN must be connected to SPI's
> controller's CS
> 	- add minItems for gpios in bindings
> 	- make scope explicit for mutex guard
> 	- remove spi irq check
> 	- add id_table to spi_driver struct
> 	- changed comments as suggested
> 	- use spi_message_init_with_transfers()
> 	- default returns an error in ad7191_set_mode()
> 	- replace hard-coded 2 with st->pga_gpios->ndescs
> 	- use gpiod_set_array_value_cansleep()
> 	- change .storagebits to 32
> 	- check return value for ad_sd_init()
> 	- change to adi,odr-value and adi,pga-value, which now accepts the value as
> suggested
> 	- modify variables names and refactor the setup of odr and pga gpios,
> indexes and available arrays into ad7191_config_setup(), since they are all
> related
> 	- add ad7191.rst
> 
> v1: https://lore.kernel.org/all/20241221155926.81954-1-alisa.roman@analog.com/
> 
> v1 -> v2:
> 	- removed patch adding function in ad_sigma_delta.h/.c
> 	- added a function set_cs() for asserting/deasserting the cs
> 	- handle pinstrapping cases
> 	- refactored all clock handling
> 	- updated bindings: corrected and added new things
> 	- -> address of the channels is used in set_channel()  
> 	- addressed all the other changes
> 
>
David Lechner March 10, 2025, 9:01 p.m. UTC | #2
On 2/28/25 8:05 AM, Alisa-Dariana Roman wrote:
> 

Probably too late...

Reviewed-by: David Lechner<dlechner@baylibre.com>
Jonathan Cameron March 11, 2025, 7:10 p.m. UTC | #3
On Mon, 10 Mar 2025 16:01:45 -0500
David Lechner <dlechner@baylibre.com> wrote:

> On 2/28/25 8:05 AM, Alisa-Dariana Roman wrote:
> >   
> 
> Probably too late...
> 
> Reviewed-by: David Lechner<dlechner@baylibre.com>
> 
Just snuck in (well technically I did push out non rebasing
then noticed this, but unlikely anyone pulled in that 30 seconds :)

Thanks!

Jonathan