• Stephen Warren's avatar
    arm/tegra: Use bus notifiers to trigger pinmux setup · a58116f3
    Stephen Warren authored
    Currently, the Tegra pinmux is initialized at different times when booting
    with and without device tree:
    
    Without device tree:
    
    1) Pinmux and GPIO drivers are registered.
    2) Pinmux is configured.
    3) All other drivers are registered.
    
    With device tree:
    
    1) All drivers are registered and probed, including pinmux and GPIO.
    2) Pinmux is configured.
    
    This change modifies board-pinmux.c to detect pinmux and GPIO driver
    registration using bus notifiers. This allows pinmux configuration to
    happen immediately after the pinmux driver is probed, irrespective of
    whether the pinmux driver is manually registered by board-pinmux.c, or
    if it's instantiated during device tree parsing.
    
    To support this with device tree, the pinmux init functions must be
    called prior to instantiating devices from device tree, so that the
    notifiers are set up before-hand.
    Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
    Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
    a58116f3
board-pinmux.c 2.37 KB