Re: Simple MFD driver example

From: Lee Jones
Date: Mon Dec 16 2013 - 03:26:07 EST


> I have been trying to write about 50-100 LOC for 1-2 weeks now. I have
> a fairly simple use case for MFD where I need to have gpio and hwmon
> functionality for a GPIO.
>
> I read the mfd drivers inside and out by now, but it looks a bit
> inconsistent to me. I am not sure what to follow etc. The
> documentation seems to be virtually missing which makes my life and
> involvement even more difficult. :(
>
> May I ask for some pointer how to do all this? It would be nice to see
> a minimal example where the parent does not do anything else than just
> enumerating the sub-device drivers. Is that possible with an empty
> probe callback?
>
> If I understand the regmap correctly (again, it is possible I do not),
> then I would not need this. But in general, it is really hard to deal
> with the linux kernel in this regard when basic documentations are
> missing.
>
> I hope this would change over time for the posterity. It is a pity
> that contributors do not join probably due to this. It is a bit
> chaotic, but I hope it can be changed in the future.
>
> Apologies for my frustration...

Due to the nature of the MFD subsystem, there isn't a simple use-case
which you can use as a template. It's completely dependent on the
device you are trying to enable. There are lots of well written
drivers in the subsystem that you can use as good examples though.

Which device are you trying to write a driver for? Is there a
datasheet you can point to?

NB: When emailing subsystem maintainers for help, please don't forget
to CC the relevant Mailing Lists. All lists can be found in the
MAINTAINERS file, which is parsed by <kernel>/scripts/get_maintainer.pl.

--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org â Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/