Re: [PATCH v3 0/3] Add support for AD7191

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 29 Jan 2025 16:29:01 +0200
Alisa-Dariana Roman <alisadariana@xxxxxxxxx> wrote:

> 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.
Shouldn't have them pretending they can be changed when they can't
(which is what I think you mean about size fixed to 4). So this needs resolving.
> 
> I thought of 3 approaches:
> 	- dynamic allocation for the avail arrays
Probably best avoided.

> 	- different avail array for the 2 different cases (pin-strap or gpios)
That works for me.

> 	- different channels array for the 2 different cases (probably too much)

It is a bit odd to list avail when only one value, but not wrong as such so
I think no need to go this far, though maybe there is a userspace library
this might confuse?

> 
> 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@xxxxxxxxxx/
> 
> 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@xxxxxxxxxx/
> 
> 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
> 





[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux