Merge tag 'pci-v3.15-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaa...
[deliverable/linux.git] / include / linux / ahci_platform.h
CommitLineData
1c2a49f6
AV
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
08354809
JB
18#include <linux/compiler.h>
19
1c2a49f6
AV
20struct device;
21struct ata_port_info;
156c5887 22struct ahci_host_priv;
23b07d4c 23struct platform_device;
1c2a49f6 24
23b07d4c
HG
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 */
1c2a49f6 31struct ahci_platform_data {
08354809 32 int (*init)(struct device *dev, void __iomem *addr);
1c2a49f6 33 void (*exit)(struct device *dev);
17ab594f
BN
34 int (*suspend)(struct device *dev);
35 int (*resume)(struct device *dev);
1c2a49f6
AV
36};
37
156c5887
HG
38int ahci_platform_enable_clks(struct ahci_host_priv *hpriv);
39void ahci_platform_disable_clks(struct ahci_host_priv *hpriv);
96a01ba5
HG
40int ahci_platform_enable_resources(struct ahci_host_priv *hpriv);
41void ahci_platform_disable_resources(struct ahci_host_priv *hpriv);
23b07d4c
HG
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);
156c5887 49
648cb6fd
HG
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
1c2a49f6 55#endif /* _AHCI_PLATFORM_H */
This page took 0.349454 seconds and 5 git commands to generate.