Re: [PATCH v3 09/11] usb: dwc3: omap: add basic suspend/resume support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Feb 11, 2013 at 04:32:10PM +0530, kishon wrote:
> Hi,
> 
> On Monday 11 February 2013 03:22 PM, Felipe Balbi wrote:
> >this patch implements basic suspend/resume
> >functionality for the OMAP glue layer.
> >
> >Signed-off-by: Felipe Balbi <balbi@xxxxxx>
> >---
> >  drivers/usb/dwc3/dwc3-omap.c | 56 ++++++++++++++++++++++++++++++++++++++++++++
> >  1 file changed, 56 insertions(+)
> >
> >diff --git a/drivers/usb/dwc3/dwc3-omap.c b/drivers/usb/dwc3/dwc3-omap.c
> >index 3214236..422bfed 100644
> >--- a/drivers/usb/dwc3/dwc3-omap.c
> >+++ b/drivers/usb/dwc3/dwc3-omap.c
> >@@ -141,6 +141,8 @@ struct dwc3_omap {
> >  	int			irq;
> >  	void __iomem		*base;
> >
> >+	u32			utmi_otg_status;
> >+
> >  	u32			dma_status:1;
> >  };
> >
> >@@ -444,12 +446,66 @@ static const struct of_device_id of_dwc3_match[] = {
> >  };
> >  MODULE_DEVICE_TABLE(of, of_dwc3_match);
> >
> >+#ifdef CONFIG_PM
> >+static int dwc3_omap_prepare(struct device *dev)
> >+{
> >+	struct dwc3_omap	*omap = dev_get_drvdata(dev);
> >+
> >+	dwc3_omap_disable_irqs(omap);
> 
> Any reason for disabling irqs in *prepare* instead of *suspend*? From
> whatever I could make out from *include/linux/pm.h*, "prepare" should
> be used to prevent new calls to the probe method from being made too
> oncece @prepare() has succeeded.

well, it helps at least with the possibility of us ever implementing
e.g. freeze and suspend differently. Because ->prepare() will always
run, we mask the IRQs early enough and don't need to sprinkle
disable_irqs() in many places.

-- 
balbi

Attachment: signature.asc
Description: Digital signature


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux