• Paul Cercueil's avatar
    pwm: jz4740: Let the pinctrl driver configure the pins · 47096d70
    Paul Cercueil authored
    Now that the JZ4740 and similar SoCs have a pinctrl driver, we rely on
    the pins being properly configured before the driver probes.
    
    One inherent problem of this new approach is that the pinctrl framework
    does not allow us to configure each pin on demand, when the various PWM
    channels are requested or released. For instance, the PWM channels can
    be configured from sysfs, which would require all PWM pins to be configured
    properly beforehand for the PWM function, eventually causing conflicts
    with other platform or board drivers.
    
    The proper solution here would be to modify the pwm-jz4740 driver to
    handle only one PWM channel, and create an instance of this driver
    for each one of the 8 PWM channels. Then, it could use the pinctrl
    framework to dynamically configure the PWM pin it controls.
    
    Until this can be done, the only jz4740 board supported upstream
    (Qi lb60) can configure all of its connected PWM pins in PWM function
    mode, since those are not used by other drivers nor by GPIOs on the
    board.
    Signed-off-by: default avatarPaul Cercueil <paul@crapouillou.net>
    Acked-by: default avatarThierry Reding <thierry.reding@gmail.com>
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    47096d70
pwm-jz4740.c 4.18 KB