at v3.15 1.9 kB view raw
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 20struct device; 21struct ata_port_info; 22struct ahci_host_priv; 23struct platform_device; 24 25/* 26 * Note ahci_platform_data is deprecated, it is only kept around for use 27 * by the old da850 and spear13xx ahci code. 28 * New drivers should instead declare their own platform_driver struct, and 29 * use ahci_platform* functions in their own probe, suspend and resume methods. 30 */ 31struct ahci_platform_data { 32 int (*init)(struct device *dev, void __iomem *addr); 33 void (*exit)(struct device *dev); 34 int (*suspend)(struct device *dev); 35 int (*resume)(struct device *dev); 36}; 37 38int ahci_platform_enable_clks(struct ahci_host_priv *hpriv); 39void ahci_platform_disable_clks(struct ahci_host_priv *hpriv); 40int ahci_platform_enable_resources(struct ahci_host_priv *hpriv); 41void ahci_platform_disable_resources(struct ahci_host_priv *hpriv); 42struct ahci_host_priv *ahci_platform_get_resources( 43 struct platform_device *pdev); 44int ahci_platform_init_host(struct platform_device *pdev, 45 struct ahci_host_priv *hpriv, 46 const struct ata_port_info *pi_template, 47 unsigned int force_port_map, 48 unsigned int mask_port_map); 49 50int ahci_platform_suspend_host(struct device *dev); 51int ahci_platform_resume_host(struct device *dev); 52int ahci_platform_suspend(struct device *dev); 53int ahci_platform_resume(struct device *dev); 54 55#endif /* _AHCI_PLATFORM_H */