Re: [PATCH v2] iio: proximity: sx_common: Add old register mapping

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

 



On Fri, 23 Dec 2022 15:40:17 +0000
Jonathan Cameron <jic23@xxxxxxxxxx> wrote:

> On Tue, 20 Dec 2022 11:39:26 -0800
> Gwendal Grignou <gwendal@xxxxxxxxxxxx> wrote:
> 
> > Older firmwares still send sensor configuration using a list of
> > registers with opaque values defined during sensor tuning.
> > sx9234 and sx9360 sensor on ACPI based devices are concerned.
> > More schema to configure the sensors will be needed to support devices
> > designed for windows, like Samsung Galaxy Book2.
> > 
> > Support schema is: "<_HID>.<register_name>". For instance
> > "STH9324,reg_adv_ctrl2" in:
> > 
> >     Scope (\_SB.PCI0.I2C2)
> >     {
> >         Device (SX28)
> >         {
> >             Name (_HID, "STH9324")  // _HID: Hardware ID
> > ...
> >             Name (_DSD, Package (0x02)  // _DSD: Device-Specific Data
> >             {
> >                 ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /*
> > Device Properties for _DSD */,
> >                 Package (0x3F)
> >                 {
> > ...
> >                     Package (0x02)
> >                     {
> >                         "STH9324,reg_adv_ctrl2",
> >                         Zero
> >                     },`
> > 
> > Signed-off-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx>  
> LGTM with one exception. See below.  I can fix that whilst applying, but
> would like to leave time for Stephen to take a look anyway.
> 
> ...
> 
> >  
> > @@ -101,6 +105,7 @@ struct sx_common_chip_info {
> >   * @client:		I2C client structure.
> >   * @trig:		IIO trigger object.
> >   * @regmap:		Register map.
> > + * @acpi_id: ACPI device entry when the device is using APCI, NULL otherwise.  
> 
> The lack of num_default_regs below made me suspicious enough to open the code.
> This is the wrong documentation block.
huh. My interpretation of this oddity was wrong.  The actual issue is that
we have docs here for a field that doesn't exist.

I'll send a follow up.

Applied this patch to the togreg branch of iio.git.
Thanks,

Jonathan

> 
> >   * @num_default_regs:	Number of default registers to set at init.
> >   * @supplies:		Power supplies object.
> >   * @chan_prox_stat:	Last reading of the proximity status for each channel.
> > @@ -119,6 +124,7 @@ struct sx_common_data {
> >  	struct i2c_client *client;
> >  	struct iio_trigger *trig;
> >  	struct regmap *regmap;
> > +	const struct acpi_device_id *acpi_id;
> >  
> >  	struct regulator_bulk_data supplies[2];
> >  	unsigned long chan_prox_stat;
> > @@ -151,6 +157,10 @@ int sx_common_probe(struct i2c_client *client,
> >  		    const struct sx_common_chip_info *chip_info,
> >  		    const struct regmap_config *regmap_config);
> >  
> > +void sx_common_get_raw_register_config(struct device *dev,
> > +				       const struct acpi_device_id *id,
> > +				       struct sx_common_reg_default *reg_def);
> > +
> >  /* 3 is the number of events defined by a single phase. */
> >  extern const struct iio_event_spec sx_common_events[3];
> >    
> 




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux