Messages in this thread | | | Date | Tue, 22 Dec 2020 10:16:25 +0000 | From | Lee Jones <> | Subject | Re: [PATCH 2/4] mfd: qca639x: add support for QCA639x powerup sequence |
| |
On Mon, 21 Dec 2020, Dmitry Baryshkov wrote:
> Hello, > > On Mon, 21 Dec 2020 at 12:02, Lee Jones <lee.jones@linaro.org> 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@linaro.org> > > > --- > > > 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
| |