mbox series

[v3,0/3] Add support for AD7191

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

Message

Alisa-Dariana Roman Jan. 29, 2025, 2:29 p.m. UTC
Thank you all for your feedback! Here is the updated series of patches!

I addressed all the replies' points, except for the one about the size of the
avail array being 1 when the pga/odr pins are pin-strapped. David raised a very
good point, but, for now, I left the size fixed to 4, since the functions for
setting the values return error anyway when they are pin-strapped.

I thought of 3 approaches:
	- dynamic allocation for the avail arrays
	- different avail array for the 2 different cases (pin-strap or gpios)
	- different channels array for the 2 different cases (probably too much)

If the current setup if not good enough, which approach would be the best?

Kind regards,
Alisa-Dariana Roman.

---

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