Hi Lee, On Thu, 30 Mar 2023 17:05:10 +0100 Lee Jones <lee@xxxxxxxxxx> wrote: > On Tue, 28 Mar 2023, Herve Codina wrote: > > > 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. > > My goodness! > > It's been a long time since I've seen anything quite like this. Yes, old things but working on recent kernel. > > My suggestion to you: > > * Split this up into components that fit functional subsystems It is done. The audio part is present in ASoC subsystem (path 5 in this series). pinctrl function is implemented in this driver and, as I don't want to share registers, I would prefer to keep this function inside this driver. Also, I sent a RFC related to HDLC and PHY. In this RFC, the pef2256 is considered as a PHY and handled in the PHY subsystem. https://lore.kernel.org/linux-kernel/20230323103154.264546-1-herve.codina@xxxxxxxxxxx/ > * Run checkpatch.pl I did. > * Remove all of the debug prints I can do that in the next iteration if really needed. > * Move all of the defines out to a header file These defines are related to registers. As I don't want to share these registers, is it really necessary to use a header file for them ? > * Be more verbose in your documentation / comments I can improve the API documentation present in include/mfd/pef2256.h. Do you thing that is necessary ? Only a few devices will use this API. > * Consider using simple-mfd to probe child devices. I did. The driver has (and needs to have) a compatible string. Having this compatible string, sub-nodes are not automatically populated in the device tree. In order to have them populated and probed, the pef2256 probe function ends calling devm_of_platform_populate(). Best regards, Hervé > > > Signed-off-by: Herve Codina <herve.codina@xxxxxxxxxxx> > > --- > > drivers/mfd/Kconfig | 17 + > > drivers/mfd/Makefile | 1 + > > drivers/mfd/pef2256.c | 1355 +++++++++++++++++++++++++++++++++++ > > include/linux/mfd/pef2256.h | 28 + > > 4 files changed, 1401 insertions(+) > > create mode 100644 drivers/mfd/pef2256.c > > create mode 100644 include/linux/mfd/pef2256.h > > -- > Lee Jones [李琼斯]