On Fri, Mar 04, 2016 at 05:19:34PM +0100, Thierry Reding wrote: > From: Thierry Reding <treding@xxxxxxxxxx> > > 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 <treding@xxxxxxxxxx> > --- > 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 <treding@xxxxxxxxxx>"); > -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
Attachment:
signature.asc
Description: PGP signature