07 Jan, 2020

1 commit

  • The artpec6_pconf_set should have marked reg as __iomem,
    which ends up making sparse complain about address
    space conversions. Add the __iomem to silence the
    following warnings:

    drivers/pinctrl/pinctrl-artpec6.c:814:13: warning: incorrect type in assignment (different address spaces)
    drivers/pinctrl/pinctrl-artpec6.c:814:13: expected unsigned int *reg
    drivers/pinctrl/pinctrl-artpec6.c:814:13: got void [noderef] *
    drivers/pinctrl/pinctrl-artpec6.c:825:34: warning: incorrect type in argument 1 (different address spaces)
    drivers/pinctrl/pinctrl-artpec6.c:825:34: expected void const volatile [noderef] *addr
    drivers/pinctrl/pinctrl-artpec6.c:825:34: got unsigned int *reg
    drivers/pinctrl/pinctrl-artpec6.c:827:25: warning: incorrect type in argument 2 (different address spaces)
    drivers/pinctrl/pinctrl-artpec6.c:827:25: expected void volatile [noderef] *addr
    drivers/pinctrl/pinctrl-artpec6.c:827:25: got unsigned int *reg
    drivers/pinctrl/pinctrl-artpec6.c:837:34: warning: incorrect type in argument 1 (different address spaces)
    drivers/pinctrl/pinctrl-artpec6.c:837:34: expected void const volatile [noderef] *addr
    drivers/pinctrl/pinctrl-artpec6.c:837:34: got unsigned int *reg
    drivers/pinctrl/pinctrl-artpec6.c:840:25: warning: incorrect type in argument 2 (different address spaces)
    drivers/pinctrl/pinctrl-artpec6.c:840:25: expected void volatile [noderef] *addr
    drivers/pinctrl/pinctrl-artpec6.c:840:25: got unsigned int *reg
    drivers/pinctrl/pinctrl-artpec6.c:850:34: warning: incorrect type in argument 1 (different address spaces)
    drivers/pinctrl/pinctrl-artpec6.c:850:34: expected void const volatile [noderef] *addr
    drivers/pinctrl/pinctrl-artpec6.c:850:34: got unsigned int *reg
    drivers/pinctrl/pinctrl-artpec6.c:853:25: warning: incorrect type in argument 2 (different address spaces)
    drivers/pinctrl/pinctrl-artpec6.c:853:25: expected void volatile [noderef] *addr
    drivers/pinctrl/pinctrl-artpec6.c:853:25: got unsigned int *reg
    drivers/pinctrl/pinctrl-artpec6.c:864:34: warning: incorrect type in argument 1 (different address spaces)
    drivers/pinctrl/pinctrl-artpec6.c:864:34: expected void const volatile [noderef] *addr
    drivers/pinctrl/pinctrl-artpec6.c:864:34: got unsigned int *reg
    drivers/pinctrl/pinctrl-artpec6.c:867:25: warning: incorrect type in argument 2 (different address spaces)
    drivers/pinctrl/pinctrl-artpec6.c:867:25: expected void volatile [noderef] *addr
    drivers/pinctrl/pinctrl-artpec6.c:867:25: got unsigned int *reg

    Signed-off-by: Ben Dooks (Codethink)
    Link: https://lore.kernel.org/r/20191218101602.2442868-1-ben.dooks@codethink.co.uk
    [Changed unsigned int -> void for the reg pointer]
    Signed-off-by: Linus Walleij

    Ben Dooks (Codethink)
     

05 Nov, 2019

1 commit

  • devm_platform_ioremap_resource() internally have platform_get_resource()
    and devm_ioremap_resource() in it. So instead of calling them separately
    use devm_platform_ioremap_resource() directly.

    Signed-off-by: YueHaibing
    Acked-by: Thierry Reding
    Acked-by: Neil Armstrong
    Acked-by: Manivannan Sadhasivam
    Acked-by: Jesper Nilsson
    Reviewed-by: Bjorn Andersson
    Link: https://lore.kernel.org/r/20191104142654.39256-1-yuehaibing@huawei.com
    Signed-off-by: Linus Walleij

    YueHaibing
     

11 Apr, 2019

1 commit

  • The pincontrol callbacks used to be symmetric:
    enable/disable.

    However for a while we only have one function that
    set the muxing, no disabling.

    Drop the unused disable function, and rename the
    *enable() function to *set().

    Reported-by: Nathan Chancellor
    Cc: YueHaibing
    Reviewed-by: Nathan Chancellor
    Acked-by: Jesper Nilsson
    Signed-off-by: Linus Walleij

    Linus Walleij
     

04 Apr, 2019

1 commit

  • Fix sparse warnings:

    drivers/pinctrl/pinctrl-artpec6.c:691:5: warning:
    symbol 'artpec6_pmx_enable' was not declared. Should it be static?
    drivers/pinctrl/pinctrl-artpec6.c:705:6: warning:
    symbol 'artpec6_pmx_disable' was not declared. Should it be static?

    Signed-off-by: YueHaibing
    Acked-by: Jesper Nilsson
    Reviewed-by: Mukesh Ojha
    Signed-off-by: Linus Walleij

    YueHaibing
     

02 Mar, 2018

1 commit

  • Add group configuration for uarts that are cut down
    variants, the standard being full, i.e. all signals,
    flow control, i.e. rx/tx and cts/rts, and rx/tx only.

    This allows us to be more precise in which pins we're
    actually using.

    Signed-off-by: Jesper Nilsson
    Signed-off-by: Linus Walleij

    Jesper Nilsson
     

22 Aug, 2017

1 commit


28 Apr, 2017

1 commit


26 Apr, 2017

1 commit


24 Apr, 2017

1 commit

  • The Kconfig currently controlling compilation of this code is:

    drivers/pinctrl/Kconfig:config PINCTRL_ARTPEC6
    drivers/pinctrl/Kconfig: bool "Axis ARTPEC-6 pin controller driver"

    ...meaning that it currently is not being built as a module by anyone.

    Lets remove the modular code that is essentially orphaned, so that
    when reading the driver there is no doubt it is builtin-only.

    Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.

    We also delete the MODULE_LICENSE tag etc. since all that information
    is already contained at the top of the file in the comments.

    Cc: Lars Persson
    Cc: Niklas Cassel
    Cc: linux-arm-kernel@axis.com
    Cc: linux-gpio@vger.kernel.org
    Signed-off-by: Paul Gortmaker
    Acked-by: Jesper Nilsson
    Signed-off-by: Linus Walleij

    Paul Gortmaker
     

07 Apr, 2017

1 commit

  • Add pinctrl driver support for the Axis ARTPEC-6 SoC.
    There are only some pins that actually have different
    functions available, but all can control bias (pull-up/-down)
    and drive strength.

    Code originally written by Chris Paterson.

    Signed-off-by: Jesper Nilsson
    Signed-off-by: Linus Walleij

    Jesper Nilsson