[PATCH 1/2] GPIO: Add driver for Zynq GPIO controller

Sören Brinkmann soren.brinkmann at xilinx.com
Mon Apr 7 12:00:05 PDT 2014


On Mon, 2014-03-31 at 11:23AM +0200, Ulf Hansson wrote:
> On 27 March 2014 16:25, Harini Katakam <harinik at xilinx.com> wrote:
[...]
> > +static int __maybe_unused zynq_gpio_runtime_suspend(struct device *dev)
> > +{
> > +       struct platform_device *pdev = to_platform_device(dev);
> > +       struct zynq_gpio *gpio = platform_get_drvdata(pdev);
> > +
> > +       clk_disable(gpio->clk);
> 
> You should be able can use clk_disable_unprepare() here.
> 
> > +
> > +       return 0;
> > +}
> > +
> > +static int __maybe_unused zynq_gpio_runtime_resume(struct device *dev)
> > +{
> > +       struct platform_device *pdev = to_platform_device(dev);
> > +       struct zynq_gpio *gpio = platform_get_drvdata(pdev);
> > +
> > +       return clk_enable(gpio->clk);
> 
> You should be able can use clk_prepare_enable() here.

Is there some common practice regarding this? As I understand it, we
want to ensure the clock to be gated during suspend, which should happen
with clk_disable(). Why would we also unprepare the clock? We are highly
likely to use it again once we resume.

	Thanks,
	Sören





More information about the linux-arm-kernel mailing list