lkml.org 
[lkml]   [2016]   [Apr]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v10 4/9] phy: Add Tegra XUSB pad controller support
    On Fri, Mar 04, 2016 at 05:19:34PM +0100, Thierry Reding wrote:
    > From: Thierry Reding <treding@nvidia.com>
    >
    > 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@nvidia.com>
    > ---
    > 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@nvidia.com>");
    > -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
    [unhandled content-type:application/pgp-signature]
    \
     
     \ /
      Last update: 2016-04-18 14:01    [W:4.169 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site