On Fri, Nov 15, 2013 at 1:54 PM, Stephen Warren <swarren@xxxxxxxxxxxxx> wrote: > From: Stephen Warren <swarren@xxxxxxxxxx> > > Tegra's clock driver now provides an implementation of the common > reset API (include/linux/reset.h). Use this instead of the old Tegra- > specific API; that will soon be removed. > > Cc: treding@xxxxxxxxxx > Cc: pdeschrijver@xxxxxxxxxx > Cc: linux-tegra@xxxxxxxxxxxxxxx > Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx > Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> > Cc: linux-pci@xxxxxxxxxxxxxxx > Cc: Terje Bergström <tbergstrom@xxxxxxxxxx> > Cc: David Airlie <airlied@xxxxxxxx> > Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx > Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> > --- > This patch is part of a series with strong internal depdendencies. I'm > looking for an ack so that I can take the entire series through the Tegra > and arm-soc trees. The series will be part of a stable branch that can be > merged into other subsystems if needed to avoid/resolve dependencies. > --- > arch/arm/mach-tegra/powergate.c | 8 +++++--- > drivers/gpu/drm/tegra/gr3d.c | 6 ++++-- > drivers/pci/host/pci-tegra.c | 3 ++- > include/linux/tegra-powergate.h | 4 +++- > 4 files changed, 14 insertions(+), 7 deletions(-) > > diff --git a/arch/arm/mach-tegra/powergate.c b/arch/arm/mach-tegra/powergate.c > index 85d28e756bb7..f6f5b54ff95e 100644 > --- a/arch/arm/mach-tegra/powergate.c > +++ b/arch/arm/mach-tegra/powergate.c > @@ -25,6 +25,7 @@ > #include <linux/export.h> > #include <linux/init.h> > #include <linux/io.h> > +#include <linux/reset.h> > #include <linux/seq_file.h> > #include <linux/spinlock.h> > #include <linux/clk/tegra.h> > @@ -144,11 +145,12 @@ int tegra_powergate_remove_clamping(int id) > } > > /* Must be called with clk disabled, and returns with clk enabled */ > -int tegra_powergate_sequence_power_up(int id, struct clk *clk) > +int tegra_powergate_sequence_power_up(int id, struct clk *clk, > + struct reset_control *rst) > { > int ret; > > - tegra_periph_reset_assert(clk); > + reset_control_assert(rst); > > ret = tegra_powergate_power_on(id); > if (ret) > @@ -165,7 +167,7 @@ int tegra_powergate_sequence_power_up(int id, struct clk *clk) > goto err_clamp; > > udelay(10); > - tegra_periph_reset_deassert(clk); > + reset_control_deassert(rst); > > return 0; > > diff --git a/drivers/gpu/drm/tegra/gr3d.c b/drivers/gpu/drm/tegra/gr3d.c > index f629e38b00e4..0cbb24b1ae04 100644 > --- a/drivers/gpu/drm/tegra/gr3d.c > +++ b/drivers/gpu/drm/tegra/gr3d.c > @@ -279,7 +279,8 @@ static int gr3d_probe(struct platform_device *pdev) > } > } > > - err = tegra_powergate_sequence_power_up(TEGRA_POWERGATE_3D, gr3d->clk); > + err = tegra_powergate_sequence_power_up(TEGRA_POWERGATE_3D, gr3d->clk, > + gr3d->rst); > if (err < 0) { > dev_err(&pdev->dev, "failed to power up 3D unit\n"); > return err; > @@ -287,7 +288,8 @@ static int gr3d_probe(struct platform_device *pdev) > > if (gr3d->clk_secondary) { > err = tegra_powergate_sequence_power_up(TEGRA_POWERGATE_3D1, > - gr3d->clk_secondary); > + gr3d->clk_secondary, > + gr3d->rst_secondary); > if (err < 0) { > dev_err(&pdev->dev, > "failed to power up secondary 3D unit\n"); > diff --git a/drivers/pci/host/pci-tegra.c b/drivers/pci/host/pci-tegra.c > index 174a5bc2d993..aace19edc469 100644 > --- a/drivers/pci/host/pci-tegra.c > +++ b/drivers/pci/host/pci-tegra.c > @@ -956,7 +956,8 @@ static int tegra_pcie_power_on(struct tegra_pcie *pcie) > } > > err = tegra_powergate_sequence_power_up(TEGRA_POWERGATE_PCIE, > - pcie->pex_clk); > + pcie->pex_clk, > + pcie->pex_rst); > if (err) { > dev_err(pcie->dev, "powerup sequence failed: %d\n", err); > return err; > diff --git a/include/linux/tegra-powergate.h b/include/linux/tegra-powergate.h > index c98cfa406952..b5ad64aca071 100644 > --- a/include/linux/tegra-powergate.h > +++ b/include/linux/tegra-powergate.h > @@ -19,6 +19,7 @@ > #define _MACH_TEGRA_POWERGATE_H_ > > struct clk; > +struct reset_control; > > #define TEGRA_POWERGATE_CPU 0 > #define TEGRA_POWERGATE_3D 1 > @@ -51,6 +52,7 @@ int tegra_powergate_power_off(int id); > int tegra_powergate_remove_clamping(int id); > > /* Must be called with clk disabled, and returns with clk enabled */ > -int tegra_powergate_sequence_power_up(int id, struct clk *clk); > +int tegra_powergate_sequence_power_up(int id, struct clk *clk, > + struct reset_control *rst); > > #endif /* _MACH_TEGRA_POWERGATE_H_ */ > -- > 1.8.1.5 > -- To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html