On Fri, Mar 04, 2016 at 05:19:34PM +0100, Thierry Reding wrote: > From: Thierry Reding <[email protected]> > > Add a new driver for the XUSB pad controller found on NVIDIA Tegra SoCs. > This hardware block used to be exposed as a pin controller, but it turns > out that this isn't a good fit. The new driver and DT binding much more > accurately describe the hardware and are more flexible in supporting new > SoC generations. > > Signed-off-by: Thierry Reding <[email protected]> > --- > Changes in v9: > - export public API for direct use by the xHCI driver (replaces mailbox > API which had introduced a nasty circular dependency) > > drivers/phy/Kconfig | 2 + > drivers/phy/Makefile | 2 + > drivers/phy/tegra/Kconfig | 8 + > drivers/phy/tegra/Makefile | 5 + > drivers/phy/tegra/xusb-tegra124.c | 1747 > ++++++++++++++++++++++++++++ > drivers/phy/tegra/xusb.c | 1017 ++++++++++++++++ > drivers/phy/tegra/xusb.h | 421 +++++++ > drivers/pinctrl/tegra/pinctrl-tegra-xusb.c | 20 +-
Hi Linus,
the changes to the existing pinctrl driver here would need an Acked-by
from you as well. Effectively this turns the pinctrl driver into library
code that is used by the PHY driver to preserve backwards-compatibility
with older bindings.
Here's the hunk that does this:
[...]
> diff --git a/drivers/pinctrl/tegra/pinctrl-tegra-xusb.c
> b/drivers/pinctrl/tegra/pinctrl-tegra-xusb.c
> index 2f06029c9405..946cda3fee35 100644
> --- a/drivers/pinctrl/tegra/pinctrl-tegra-xusb.c
> +++ b/drivers/pinctrl/tegra/pinctrl-tegra-xusb.c
> @@ -873,7 +873,7 @@ static const struct of_device_id
> tegra_xusb_padctl_of_match[] = {
> };
> MODULE_DEVICE_TABLE(of, tegra_xusb_padctl_of_match);
>
> -static int tegra_xusb_padctl_probe(struct platform_device *pdev)
> +int tegra_xusb_padctl_legacy_probe(struct platform_device *pdev)
> {
> struct tegra_xusb_padctl *padctl;
> const struct of_device_id *match;
> @@ -955,8 +955,9 @@ reset:
> reset_control_assert(padctl->rst);
> return err;
> }
> +EXPORT_SYMBOL_GPL(tegra_xusb_padctl_legacy_probe);
>
> -static int tegra_xusb_padctl_remove(struct platform_device *pdev)
> +int tegra_xusb_padctl_legacy_remove(struct platform_device *pdev)
> {
> struct tegra_xusb_padctl *padctl = platform_get_drvdata(pdev);
> int err;
> @@ -969,17 +970,4 @@ static int tegra_xusb_padctl_remove(struct
> platform_device *pdev)
>
> return err;
> }
> -
> -static struct platform_driver tegra_xusb_padctl_driver = {
> - .driver = {
> - .name = "tegra-xusb-padctl",
> - .of_match_table = tegra_xusb_padctl_of_match,
> - },
> - .probe = tegra_xusb_padctl_probe,
> - .remove = tegra_xusb_padctl_remove,
> -};
> -module_platform_driver(tegra_xusb_padctl_driver);
> -
> -MODULE_AUTHOR("Thierry Reding <[email protected]>");
> -MODULE_DESCRIPTION("Tegra 124 XUSB Pad Control driver");
> -MODULE_LICENSE("GPL v2");
> +EXPORT_SYMBOL_GPL(tegra_xusb_padctl_legacy_remove);
Since this merely implements the binding change, does your Acked-by on
the binding apply to this part as well?
Thanks,
Thierry
signature.asc
Description: PGP signature

