Re: [PATCH v3 10/11] PCI: imx6: Use flags to indicate support for suspend

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

 



Am Sonntag, den 31.03.2019, 21:25 -0700 schrieb Andrey Smirnov:
> Now that driver data has flags variable that can be used to indicate
> quirks/features supported we can switch the code to use it instead of
> having a special function that does so based on variant alone. No
> functional change intended.
> 
> Signed-off-by: Andrey Smirnov <andrew.smirnov@xxxxxxxxx>

Reviewed-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx>

> ---
>  drivers/pci/controller/dwc/pci-imx6.c | 15 ++++++---------
>  1 file changed, 6 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c
> index 9c658ef55aa4..c9431a8a7ca1 100644
> --- a/drivers/pci/controller/dwc/pci-imx6.c
> +++ b/drivers/pci/controller/dwc/pci-imx6.c
> @@ -52,6 +52,7 @@ enum imx6_pcie_variants {
>  
> >  #define IMX6_PCIE_FLAG_IMX6_PHY			BIT(0)
> >  #define IMX6_PCIE_FLAG_IMX6_SPEED_CHANGE	BIT(1)
> > +#define IMX6_PCIE_FLAG_SUPPORTS_SUSPEND		BIT(2)
>  
>  struct imx6_pcie_drvdata {
> >  	enum imx6_pcie_variants variant;
> @@ -973,17 +974,11 @@ static void imx6_pcie_clk_disable(struct imx6_pcie *imx6_pcie)
> >  	}
>  }
>  
> -static inline bool imx6_pcie_supports_suspend(struct imx6_pcie *imx6_pcie)
> -{
> > -	return (imx6_pcie->drvdata->variant == IMX7D ||
> > -		imx6_pcie->drvdata->variant == IMX6SX);
> -}
> -
>  static int imx6_pcie_suspend_noirq(struct device *dev)
>  {
> >  	struct imx6_pcie *imx6_pcie = dev_get_drvdata(dev);
>  
> > -	if (!imx6_pcie_supports_suspend(imx6_pcie))
> > +	if (!(imx6_pcie->drvdata->flags & IMX6_PCIE_FLAG_SUPPORTS_SUSPEND))
> >  		return 0;
>  
> >  	imx6_pcie_pm_turnoff(imx6_pcie);
> @@ -999,7 +994,7 @@ static int imx6_pcie_resume_noirq(struct device *dev)
> >  	struct imx6_pcie *imx6_pcie = dev_get_drvdata(dev);
> >  	struct pcie_port *pp = &imx6_pcie->pci->pp;
>  
> > -	if (!imx6_pcie_supports_suspend(imx6_pcie))
> > +	if (!(imx6_pcie->drvdata->flags & IMX6_PCIE_FLAG_SUPPORTS_SUSPEND))
> >  		return 0;
>  
> >  	imx6_pcie_assert_core_reset(imx6_pcie);
> @@ -1229,7 +1224,8 @@ static const struct imx6_pcie_drvdata drvdata[] = {
> >  	[IMX6SX] = {
> >  		.variant = IMX6SX,
> >  		.flags = IMX6_PCIE_FLAG_IMX6_PHY |
> > -			 IMX6_PCIE_FLAG_IMX6_SPEED_CHANGE,
> > +			 IMX6_PCIE_FLAG_IMX6_SPEED_CHANGE |
> > +			 IMX6_PCIE_FLAG_SUPPORTS_SUSPEND,
> >  	},
> >  	[IMX6QP] = {
> >  		.variant = IMX6QP,
> @@ -1238,6 +1234,7 @@ static const struct imx6_pcie_drvdata drvdata[] = {
> >  	},
> >  	[IMX7D] = {
> >  		.variant = IMX7D,
> > +		.flags = IMX6_PCIE_FLAG_SUPPORTS_SUSPEND,
> >  	},
> >  	[IMX8MQ] = {
> >  		.variant = IMX8MQ,



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux