Re: [PATCH 2/4] mfd: qca639x: add support for QCA639x powerup sequence
From: Lee Jones
Date: Tue Dec 22 2020 - 05:17:11 EST
On Mon, 21 Dec 2020, Dmitry Baryshkov wrote:
> Hello,
>
> On Mon, 21 Dec 2020 at 12:02, Lee Jones <lee.jones@xxxxxxxxxx> wrote:
> >
> > On Sun, 20 Dec 2020, Dmitry Baryshkov wrote:
> >
> > > Qualcomm QCA639x is a family of WiFi + Bluetooth SoCs, with BT part
> > > being controlled through the UART and WiFi being present on PCIe
> > > bus. Both blocks share common power sources. So add mfd device driver
> > > handling power sequencing of QCA6390/1.
> > >
> > > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx>
> > > ---
> > > drivers/mfd/Kconfig | 12 +++
> > > drivers/mfd/Makefile | 1 +
> > > drivers/mfd/qcom-qca639x.c | 168 +++++++++++++++++++++++++++++++++++++
> > > 3 files changed, 181 insertions(+)
> > > create mode 100644 drivers/mfd/qcom-qca639x.c
> >
> > This is not an MFD, since it utilised neither the MFD API nor
> > of_platform_populate() to register child devices.
>
> It would use them if the WiFi part was not on a discoverable bus.
This is a can of worms that I do not wish to open right now.
However the TL;DR is:
MFD is currently only *meant* for non-discoverable platform devices.
> > Suggest you use drivers/power or similar to handle shared power
> > sequencing requirements.
>
> What about drivers/soc/qcom? Or drivers/misc?
These are 2 other subsystems, just like MFD, which are commonly used
as dumping grounds for code which doesn't fit anywhere else. However,
I implore you to please try to find a suitable subsystem for this to
fit into first. If this driver only deals with power management,
place it is a power related subsystem *before* considering drivers/soc
or drivers/misc.
--
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog