On 30 August 2015 at 16:55, Simon Glass <s...@chromium.org> wrote: > My original pinctrl patch operating using a peripheral ID enum. This was > shared between pinmux and clock and provides an easy way to specify a device > that needs to be controlled, even it is does not (yet) have a driver within > driver model. > > Masahiro's new simple pinctrl gets around this by providing a > set_state_simple() pinctrl method. By passing a device to that call the > peripheral ID becomes unnecessary. If the driver needs it, it can calculate > it itself and use it internally. > > However this does not solve the problem for peripheral clocks. The 'pure' > solution would be to pass a driver to the clock uclass also. But this > requires that all devices should have a driver, and a struct udevide. Also > a key optimisation of the clock uclass is allowing a peripheral clock to > be set even when there is no device for that clock. > > There may be a better way to achive the same goal, but for now it seems > expedient to add in peripheral ID to the pinctrl uclass. Two methods are > added - one to get the peripheral ID and one to select it. The existing > set_state_simple() is effectively the union of these. > > Signed-off-by: Simon Glass <s...@chromium.org> > --- > > Changes in v5: > - Rebase on top of Masahiro's v5 series > > Changes in v4: None > Changes in v3: None > Changes in v2: None > > drivers/pinctrl/pinctrl-uclass.c | 40 +++++++++++++++++++++------ > include/dm/pinctrl.h | 60 > ++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 91 insertions(+), 9 deletions(-)
Applied to u-boot-rockchip. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot