| /* | |
| * AHCI SATA platform driver | |
| * | |
| * Copyright 2004-2005 Red Hat, Inc. | |
| * Jeff Garzik <jgarzik@pobox.com> | |
| * Copyright 2010 MontaVista Software, LLC. | |
| * Anton Vorontsov <avorontsov@ru.mvista.com> | |
| * | |
| * This program is free software; you can redistribute it and/or modify | |
| * it under the terms of the GNU General Public License as published by | |
| * the Free Software Foundation; either version 2, or (at your option) | |
| * any later version. | |
| */ | |
| #ifndef _AHCI_PLATFORM_H | |
| #define _AHCI_PLATFORM_H | |
| #include <linux/compiler.h> | |
| struct device; | |
| struct ata_port_info; | |
| struct ahci_host_priv; | |
| struct platform_device; | |
| /* | |
| * Note ahci_platform_data is deprecated, it is only kept around for use | |
| * by the old da850 and spear13xx ahci code. | |
| * New drivers should instead declare their own platform_driver struct, and | |
| * use ahci_platform* functions in their own probe, suspend and resume methods. | |
| */ | |
| struct ahci_platform_data { | |
| int (*init)(struct device *dev, void __iomem *addr); | |
| void (*exit)(struct device *dev); | |
| int (*suspend)(struct device *dev); | |
| int (*resume)(struct device *dev); | |
| }; | |
| int ahci_platform_enable_clks(struct ahci_host_priv *hpriv); | |
| void ahci_platform_disable_clks(struct ahci_host_priv *hpriv); | |
| int ahci_platform_enable_resources(struct ahci_host_priv *hpriv); | |
| void ahci_platform_disable_resources(struct ahci_host_priv *hpriv); | |
| struct ahci_host_priv *ahci_platform_get_resources( | |
| struct platform_device *pdev); | |
| int ahci_platform_init_host(struct platform_device *pdev, | |
| struct ahci_host_priv *hpriv, | |
| const struct ata_port_info *pi_template, | |
| unsigned long host_flags, | |
| unsigned int force_port_map, | |
| unsigned int mask_port_map); | |
| int ahci_platform_suspend_host(struct device *dev); | |
| int ahci_platform_resume_host(struct device *dev); | |
| int ahci_platform_suspend(struct device *dev); | |
| int ahci_platform_resume(struct device *dev); | |
| #endif /* _AHCI_PLATFORM_H */ |