[PATCH v3 0/6] Add the Lantiq PEF2256 audio support

From: Herve Codina
Date: Wed Mar 22 2023 - 09:47:18 EST


Hi,

This series adds support for audio using the Lantiq PEF2256 framer.

The Lantiq PEF2256 is a framer and line interface component designed to
fulfill all required interfacing between an analog E1/T1/J1 line and the
digital PCM system highway/H.100 bus.

The first part of this series (patches 1 to 4) adds the Lantiq PEF2256
driver core.
The second part (patches 5 to 7) adds the audio support using the Lantiq
PEF2256 driver core.

The consumer/provider relation between the codec and the driver core
allows to use the PEF2256 framer for other purpose than audio support.

Compared to the previous iteration
https://lore.kernel.org/linux-kernel/20230316122741.577663-1-herve.codina@xxxxxxxxxxx/
This v3 series mainly:
- takes into account pef2256.c modifications suggested by Christophe.
- fixes binding
- Moves to MFD.
- Merges MAINTAINERS entries

Best regards,
Herve Codina

Changes v2 -> v3
- Patch 1
Remove unneeded 'allOf' and quotes.
Add several 'additionalProperties: false'
Fix example (node name, interrupts and reg properties)
Replace the lantiq,sysclk-rate-hz property by sclkr and sclkx clocks.
Define 'lantiq,frame-format' property in top level.
Move to MFD

- Patch 2
Fix some #define.
Compact the register accessor helpers.
Rework pef2256_get_version().
Merge v1.2 and v2.x GCM setup functions into one pef2256_setup_gcm().
Update comments, avoid duplicates and change some conditionals.
Remove the carrier spinlock and use atomic_t.
Make exported symbol consistent and use EXPORT_SYMBOL_GPL.
Remove the no more needed pef2256_get_byphandle() and
devm_pef2256_get_byphandle().
Replace the lantiq,sysclk-rate-hz property by sclkr and sclkx clocks.
Move to MFD

- Patch 4
Remove, merged with patch 7

- Patch 4 (patch 5 in v2)
Update title and description.
Remove incorrect SPI reference.
Remove the 'lantiq,pef2256' phandle.
Fix commit log

- Patch 5 (patch 6 in v2)
Remove devm_pef2256_get_byphandle().
Fix commit log

- Patch 6 (patch 7 in v2)
Merge v2 patch 4. One entry only for PEF2256

Changes v1 -> v2
- Patch 2
Remove duplicate const qualifiers.
Add HAS_IOMEM as a dependency

- Patch 3
Fix a "Block quote ends without a blank line; unexpected unindent"
syntax issue.

Herve Codina (6):
dt-bindings: mfd: Add the Lantiq PEF2256 E1/T1/J1 framer
mfd: Add support for the Lantiq PEF2256 framer
Documentation: sysfs: Document the Lantiq PEF2256 sysfs entry
dt-bindings: sound: Add support for the Lantiq PEF2256 codec
ASoC: codecs: Add support for the Lantiq PEF2256 codec
MAINTAINERS: Add the Lantiq PEF2256 driver entry

.../sysfs-bus-platform-devices-pef2256 | 12 +
.../bindings/mfd/lantiq,pef2256.yaml | 205 +++
.../bindings/sound/lantiq,pef2256-codec.yaml | 54 +
MAINTAINERS | 10 +
drivers/mfd/Kconfig | 16 +
drivers/mfd/Makefile | 1 +
drivers/mfd/pef2256.c | 1355 +++++++++++++++++
include/linux/mfd/pef2256.h | 28 +
sound/soc/codecs/Kconfig | 14 +
sound/soc/codecs/Makefile | 2 +
sound/soc/codecs/pef2256-codec.c | 390 +++++
11 files changed, 2087 insertions(+)
create mode 100644 Documentation/ABI/testing/sysfs-bus-platform-devices-pef2256
create mode 100644 Documentation/devicetree/bindings/mfd/lantiq,pef2256.yaml
create mode 100644 Documentation/devicetree/bindings/sound/lantiq,pef2256-codec.yaml
create mode 100644 drivers/mfd/pef2256.c
create mode 100644 include/linux/mfd/pef2256.h
create mode 100644 sound/soc/codecs/pef2256-codec.c

--
2.39.2