Linux IIO development
 help / color / mirror / Atom feed
From: Jonathan Cameron <jic23@kernel.org>
To: linux-iio@vger.kernel.org, Marcelo Schmitt <marcelo.schmitt1@gmail.com>
Cc: Hennerich@vger.kernel.org, Michael <Michael.Hennerich@analog.com>,
	Nuno Sa <Nuno.Sa@analog.com>,
	lars@metafoo.de, Jonathan Cameron <Jonathan.Cameron@huawei.com>
Subject: [PATCH v3 00/20] iio:adc:ad7280a Cleanup and proposed staging graduation.
Date: Sun,  6 Feb 2022 19:03:08 +0000	[thread overview]
Message-ID: <20220206190328.333093-1-jic23@kernel.org> (raw)

From: Jonathan Cameron <Jonathan.Cameron@huawei.com>

Changes since v2:
All in response to Marcelo Schmitt doing a really detailed review and
testing against the QEMU model.

- Moved elements of patch 2 to patch 5 to avoid missing defines.
- Patch 6: Amend ordering to avoid updated software cached values until the
  hardware write has succeeded.
- Patch 12 Fixed wrong callbacks in no_irq case
- Patch 14: Changed all numeric properties to u32 to avoid needing to
  specify bit depth in dts.
- Patch 14: Typo fix.
- Patch 15: New Patch to drop the handling of partial aux alert channels as
  it is buggy (and always was). Anyone wanting to bring this back will
  hopefully have hardware to test as it will be fiddly.
- Patch 15 (old number, now 16). Update dt bindings to drop the
  adi,temp-alert-last-chan given new patch 15 drops the support.
- New Patch 18: Change cb_mask software cache to not include the offset of 2
  and instead apply that only when writing the registers.
- New Patch 19: More conservative timings to allow 105 degree Centigrade
  operation.
- Patch 20 is moving the new code so obviously all the above apply to that
  as well!

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 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 becomes unavailable sometime soon.

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.

All comments welcome and thanks to Marcelo for reviewing this beast!

Thanks,

Jonathan


Jonathan Cameron (20):
  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.
  staging:iio:adc:ad7280a: Drop buggy support for early termination of
    AUX alert.
  dt-bindings:iio:adc:ad7280a: Add binding
  iio:adc:ad7280a: Document ABI for cell balance switches
  staging:iio:adc:ad7280a: Remove shift from cb_mask state cache.
  staging:iio:adc:ad7280a: Use more conservative delays to allow 105C
    operation.
  iio:adc:ad7280a: Move out of staging

 .../ABI/testing/sysfs-bus-iio-adc-ad7280a     |   13 +
 .../bindings/iio/adc/adi,ad7280a.yaml         |   77 ++
 drivers/iio/adc/Kconfig                       |   11 +
 drivers/iio/adc/Makefile                      |    1 +
 drivers/iio/adc/ad7280a.c                     | 1111 +++++++++++++++++
 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, 1213 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.35.1


             reply	other threads:[~2022-02-06 18:57 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-06 19:03 Jonathan Cameron [this message]
2022-02-06 19:03 ` [PATCH v3 01/20] staging:iio:adc:ad7280a: Fix handing of device address bit reversing Jonathan Cameron
2022-02-06 19:03 ` [PATCH v3 02/20] staging:iio:adc:ad7280a: Register define cleanup Jonathan Cameron
2022-02-06 19:03 ` [PATCH v3 03/20] staging:iio:adc:ad7280a: rename _read() to _read_reg() Jonathan Cameron
2022-02-06 19:03 ` [PATCH v3 04/20] staging:iio:adc:ad7280a: Split buff[2] into tx and rx parts Jonathan Cameron
2022-02-06 19:03 ` [PATCH v3 05/20] staging:iio:adc:ad7280a: Use bitfield ops to managed fields in transfers Jonathan Cameron
2022-02-06 19:03 ` [PATCH v3 06/20] staging:iio:adc:ad7280a: Switch to standard event control Jonathan Cameron
2022-02-06 19:03 ` [PATCH v3 07/20] staging:iio:adc:ad7280a: Standardize extended ABI naming Jonathan Cameron
2022-02-06 19:03 ` [PATCH v3 08/20] staging:iio:adc:ad7280a: Drop unused timestamp channel Jonathan Cameron
2022-02-06 19:03 ` [PATCH v3 09/20] staging:iio:adc:ad7280a: Trivial comment formatting cleanup Jonathan Cameron
2022-02-06 19:03 ` [PATCH v3 10/20] staging:iio:adc:ad7280a: Make oversampling_ratio a runtime control Jonathan Cameron
2022-02-06 19:03 ` [PATCH v3 11/20] staging:iio:adc:ad7280a: Cleanup includes Jonathan Cameron
2022-02-06 19:03 ` [PATCH v3 12/20] staging:iio:ad7280a: Reflect optionality of irq in ABI Jonathan Cameron
2022-02-06 19:03 ` [PATCH v3 13/20] staging:iio:adc:ad7280a: Use a local dev pointer to avoid &spi->dev Jonathan Cameron
2022-02-06 19:03 ` [PATCH v3 14/20] staging:iio:adc:ad7280a: Use device properties to replace platform data Jonathan Cameron
2022-02-06 19:03 ` [PATCH v3 15/20] staging:iio:adc:ad7280a: Drop buggy support for early termination of AUX alert Jonathan Cameron
2022-02-06 19:03 ` [PATCH v3 16/20] dt-bindings:iio:adc:ad7280a: Add binding Jonathan Cameron
2022-02-06 19:03 ` [PATCH v3 17/20] iio:adc:ad7280a: Document ABI for cell balance switches Jonathan Cameron
2022-02-06 19:03 ` [PATCH v3 18/20] staging:iio:adc:ad7280a: Remove shift from cb_mask state cache Jonathan Cameron
2022-02-06 19:03 ` [PATCH v3 19/20] staging:iio:adc:ad7280a: Use more conservative delays to allow 105C operation Jonathan Cameron
2022-02-06 19:03 ` [PATCH v3 20/20] iio:adc:ad7280a: Move out of staging Jonathan Cameron
2022-02-13 20:11 ` [PATCH v3 00/20] iio:adc:ad7280a Cleanup and proposed staging graduation Marcelo Schmitt
2022-02-18 11:59   ` Jonathan Cameron

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220206190328.333093-1-jic23@kernel.org \
    --to=jic23@kernel.org \
    --cc=Hennerich@vger.kernel.org \
    --cc=Jonathan.Cameron@huawei.com \
    --cc=Michael.Hennerich@analog.com \
    --cc=Nuno.Sa@analog.com \
    --cc=lars@metafoo.de \
    --cc=linux-iio@vger.kernel.org \
    --cc=marcelo.schmitt1@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox