1 /* 2 * AHCI SATA platform driver 3 * 4 * Copyright 2004-2005 Red Hat, Inc. 5 * Jeff Garzik <jgarzik@pobox.com> 6 * Copyright 2010 MontaVista Software, LLC. 7 * Anton Vorontsov <avorontsov@ru.mvista.com> 8 * 9 * This program is free software; you can redistribute it and/or modify 10 * it under the terms of the GNU General Public License as published by 11 * the Free Software Foundation; either version 2, or (at your option) 12 * any later version. 13 */ 14 15 #ifndef _AHCI_PLATFORM_H 16 #define _AHCI_PLATFORM_H 17 18 #include <linux/compiler.h> 19 20 struct device; 21 struct ata_port_info; 22 struct ahci_host_priv; 23 struct platform_device; 24 struct scsi_host_template; 25 26 int ahci_platform_enable_clks(struct ahci_host_priv *hpriv); 27 void ahci_platform_disable_clks(struct ahci_host_priv *hpriv); 28 int ahci_platform_enable_regulators(struct ahci_host_priv *hpriv); 29 void ahci_platform_disable_regulators(struct ahci_host_priv *hpriv); 30 int ahci_platform_enable_resources(struct ahci_host_priv *hpriv); 31 void ahci_platform_disable_resources(struct ahci_host_priv *hpriv); 32 struct ahci_host_priv *ahci_platform_get_resources( 33 struct platform_device *pdev, unsigned int flags); 34 int ahci_platform_init_host(struct platform_device *pdev, 35 struct ahci_host_priv *hpriv, 36 const struct ata_port_info *pi_template, 37 struct scsi_host_template *sht); 38 39 void ahci_platform_shutdown(struct platform_device *pdev); 40 41 int ahci_platform_suspend_host(struct device *dev); 42 int ahci_platform_resume_host(struct device *dev); 43 int ahci_platform_suspend(struct device *dev); 44 int ahci_platform_resume(struct device *dev); 45 46 #define AHCI_PLATFORM_GET_RESETS 0x01 47 48 #endif /* _AHCI_PLATFORM_H */ 49