• Lee Jones's avatar
    pinctrl: abx500: Rejiggle platform data and DT initialisation · 86c976e4
    Lee Jones authored
    Platform Data is invariably populated for this driver, even when
    booting with Device Tree. Thus the Device Tree probing code encased
    within the first check for Platform Data will never executed, causing
    the driver to fail when DT is enabled.
    This patch fixes the aforementioned regression by rejigging the
    probe() semantics to attempt to extract a platform ID from Device Tree
    if one can not be sourced from platform data.
    A pointer to GPIO platform data is always passed to the driver now, so
    there's little point in checking for 'pdata' and executing the DT case if
    it's not there. The difference between booting with DT and !DT is when
    booting with DT, plat_id is not populated. Thus, in the DT case we have
    to use a DT match table in order to find out which platform we're
    executing on. So, we're changing the semantics here to only use the
    match table if no plat_id is supplied though platform data.
    Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
    [edited commit message]
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
pinctrl-abx500.c 26 KB