On Thu, Aug 22, 2024 at 10:50:52PM +0200, Benjamin Larsson wrote:
On 22/08/2024 18:06, Conor Dooley wrote:
Hi.
quoted
before looking at v1:
I would really like to see an explanation for why this is a correct
model of the hardware as part of the commit message. To me this screams
syscon/MFD and instead of describing this as a child of a syscon and
using regmap to access it you're doing whatever this is...
Can you post a link to a good example dts that uses syscon/MFD ?
It is not only pinctrl, pwm and gpio that are entangled in each other. A
good example would help with developing a proper implementation.
Off the top of my head, no unfortunately. Maybe Rob or Krzk have a good
example. I would suggest to start by looking at drivers within gpio or
pinctrl that use syscon_to_regmap() where the argument is sourced from
either of_node->parent or dev.parent->of_node (which you use depends on
whether or not you have a child node or not).
I recently had some questions myself for Rob about child nodes for mfd
devices and when they were suitable to use:
https://lore.kernel.org/all/20240815200003.GA2956351-robh@kernel.org/ (local)
Following Rob's line of thought, I'd kinda expect an mfd driver to create
the devices for gpio and pwm using devm_mfd_add_devices() and the
pinctrl to have a child node.