Hey Jonathan, On 06/14, Jonathan Cameron wrote: > From: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> > > Hi All, > > This one proved an interesting diversion. > > Work done against a somewhat hacked up QEMU emulation of 3 daisy chained > ad7280a devices (18 channels). Note that the emulation isn't complete > but does do chaining, CRC, and readout of channels etc in a fashion that > worked with the original driver (up to the bug in patch 1) and continues > to work with the updated version. I've not intention to upstream the > emulation (as would need to make it more completed and flexible), but > happy to share it with anyone who is interested. I'm interested in seeing your device emulation with QEMU. I was looking at the ad7150 emulation you shared earlier this year but had some trouble getting the i2c slave created. Being able to see it running, I may feel more confident to provide a review for this set :) Regards, Marcelo > > I briefly flirted with posting a patch to just drop the driver entirely, > but the part is still available and it looked like fun + isn't going > to greatly impact maintainability of the subsystem long term so is low > cost even if it goes obsolete sometime soonish. > > There are lots of things we could do after this set to improved the driver > and make things more flexible, but it should basically 'just work' > > Anyhow, as normal for staging graduations, last patch has rename detection > turned off so that people can easily see what I am proposing we move > out of staging. > > Jonathan Cameron (17): > staging:iio:adc:ad7280a: Fix handing of device address bit reversing. > staging:iio:adc:ad7280a: Register define cleanup. > staging:iio:adc:ad7280a: rename _read() to _read_reg() > staging:iio:adc:ad7280a: Split buff[2] into tx and rx parts > staging:iio:adc:ad7280a: Use bitfield ops to managed fields in > transfers. > staging:iio:adc:ad7280a: Switch to standard event control > staging:iio:adc:ad7280a: Standardize extended ABI naming > staging:iio:adc:ad7280a: Drop unused timestamp channel. > staging:iio:adc:ad7280a: Trivial comment formatting cleanup > staging:iio:adc:ad7280a: Make oversampling_ratio a runtime control > staging:iio:adc:ad7280a: Cleanup includes > staging:iio:ad7280a: Reflect optionality of irq in ABI > staging:iio:adc:ad7280a: Use a local dev pointer to avoid &spi->dev > staging:iio:adc:ad7280a: Use device properties to replace platform > data. > dt-bindings:iio:adc:ad7280a: Add binding > iio:adc:ad7280a: Document ABI for cell balance switches > iio:adc:ad7280a: Move out of staging > > .../ABI/testing/sysfs-bus-iio-adc-ad7280a | 14 + > .../bindings/iio/adc/adi,ad7280a.yaml | 87 ++ > drivers/iio/adc/Kconfig | 11 + > drivers/iio/adc/Makefile | 1 + > drivers/iio/adc/ad7280a.c | 1116 +++++++++++++++++ > drivers/staging/iio/adc/Kconfig | 11 - > drivers/staging/iio/adc/Makefile | 1 - > drivers/staging/iio/adc/ad7280a.c | 1044 --------------- > drivers/staging/iio/adc/ad7280a.h | 37 - > 9 files changed, 1229 insertions(+), 1093 deletions(-) > create mode 100644 Documentation/ABI/testing/sysfs-bus-iio-adc-ad7280a > create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,ad7280a.yaml > create mode 100644 drivers/iio/adc/ad7280a.c > delete mode 100644 drivers/staging/iio/adc/ad7280a.c > delete mode 100644 drivers/staging/iio/adc/ad7280a.h > > -- > 2.32.0 >