[PATCH v2 3/8] input: misc: Add driver for AXP20x Power Enable Key

Lee Jones lee.jones at linaro.org
Tue Mar 18 06:58:51 EDT 2014


> > > > This patch add support for the Power Enable Key found on MFD AXP202 and
> > > > AXP209. Besides the basic support for the button, the driver adds two
> > > > entries in sysfs to configure the time delay for power on/off.
> > > > 
> > > > Signed-off-by: Carlo Caione <carlo at caione.org>
> > > > ---
> > > >  drivers/input/misc/Kconfig      |  11 ++
> > > >  drivers/input/misc/Makefile     |   1 +
> > > >  drivers/input/misc/axp20x-pek.c | 267 ++++++++++++++++++++++++++++++++++++++++
> > > >  3 files changed, 279 insertions(+)
> > > >  create mode 100644 drivers/input/misc/axp20x-pek.c
> > > 
> > > From what I understood of the MFD framework, you usually have a MFD
> > > core driver that gets loaded from the DT and instantiate its various
> > > functions through sub-devices, that are registered through
> > > mfd_add_devices, and the drivers for these sub-devices are supported
> > > in sub-drivers that are located in the driver/mfd, alongside the core
> > > driver.
> > > 
> > > I believe that such a pattern allows for two interesting things:
> > >   - You don't have to search around the whole kernel tree to find
> > >     where a given sub-feature is supported.
> > >   - You don't have to cripple your DT with instantiation of all the
> > >     subcomponents, while you only really have one device.
> > > 
> > > Do you have a reason for not following this pattern?
> > 
> > Sorry Maxime, this is not the case.
> > 
> > If an MFD contains Regulators and USB & GPIO Controllers, I'd expect
> > to see the device represented in the following way:
> > 
> >   drivers/mfd/<id>.c
> >   drivers/{gpio,pinctrl}/{gpio,pinctrl}-<id>.c
> >   drivers/regulator/<id>-regulator.c
> >   drivers/usb/host/<id>.c
> 
> Oh, ok. Nevermind then :)
> 
> Just out of curiosity, some drivers at least seem to follow that trend
> in drivers/mfd, is there any reason for this (other than historical) ?

Would you mind providing an example?

-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog



More information about the linux-arm-kernel mailing list