[PATCH] sata_fsl: Add power mgmt support

Sergei Shtylyov sshtylyov at ru.mvista.com
Thu Jun 11 19:29:41 EST 2009


Hello.

Kumar Gala wrote:

> From: Dave Liu <daveliu at freescale.com>
>
> Signed-off-by: Dave Liu <daveliu at freescale.com>
> Signed-off-by: Liu Yu <yu.liu at freescale.com>
> Signed-off-by: Kumar Gala <galak at kernel.crashing.org>
> ---
>  drivers/ata/sata_fsl.c |   35 +++++++++++++++++++++++++++++++++++
>  1 files changed, 35 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/ata/sata_fsl.c b/drivers/ata/sata_fsl.c
> index 36b8629..94eaa43 100644
> --- a/drivers/ata/sata_fsl.c
> +++ b/drivers/ata/sata_fsl.c
> @@ -1378,6 +1378,37 @@ static int sata_fsl_remove(struct of_device *ofdev)
>  	return 0;
>  }
>  
> +#ifdef CONFIG_PM
> +static int sata_fsl_suspend(struct of_device *op, pm_message_t state)
> +{
> +	struct ata_host *host = dev_get_drvdata(&op->dev);
> +	return ata_host_suspend(host, state);
> +}
> +
> +static int sata_fsl_resume(struct of_device *op)
> +{
> +	struct ata_host *host = dev_get_drvdata(&op->dev);
> +	struct sata_fsl_host_priv *host_priv = host->private_data;
> +	int ret;
> +	void __iomem *hcr_base = host_priv->hcr_base;
> +	struct ata_port *ap = host->ports[0];
> +	struct sata_fsl_port_priv *pp = ap->private_data;
> +
> +	ret = sata_fsl_init_controller(host);
> +	if (ret) {
> +		dev_printk(KERN_ERR, &op->dev,
> +			"Error initialize hardware\n");
>   

   May be "initializing"?

> +		return ret;
> +	}
> +
> +	/* Recovery the CHBA register in host controller cmd register set */
>   

   Maybe "Recover"?

> +	iowrite32(pp->cmdslot_paddr & 0xffffffff, hcr_base + CHBA);
> +
> +	ata_host_resume(host);
> +	return 0;
> +}
> +#endif
>   

MBR, Sergei




More information about the Linuxppc-dev mailing list