#include <linux/init.h>
#include <linux/module.h>
#include <linux/export.h>
#include <linux/platform_device.h>
#include <linux/clk.h>
#include <linux/of.h>
#include <linux/ahci_platform.h>
#include <linux/libata.h>
#include <linux/reset.h>
#include <linux/io.h>
#include <linux/dma-mapping.h>
#include "ahci.h"
#define DRV_NAME …
#define ST_AHCI_OOBR …
#define ST_AHCI_OOBR_WE …
#define ST_AHCI_OOBR_CWMIN_SHIFT …
#define ST_AHCI_OOBR_CWMAX_SHIFT …
#define ST_AHCI_OOBR_CIMIN_SHIFT …
#define ST_AHCI_OOBR_CIMAX_SHIFT …
struct st_ahci_drv_data { … };
static void st_ahci_configure_oob(void __iomem *mmio)
{ … }
static int st_ahci_deassert_resets(struct ahci_host_priv *hpriv,
struct device *dev)
{ … }
static void st_ahci_host_stop(struct ata_host *host)
{ … }
static int st_ahci_probe_resets(struct ahci_host_priv *hpriv,
struct device *dev)
{ … }
static struct ata_port_operations st_ahci_port_ops = …;
static const struct ata_port_info st_ahci_port_info = …;
static const struct scsi_host_template ahci_platform_sht = …;
static int st_ahci_probe(struct platform_device *pdev)
{ … }
#ifdef CONFIG_PM_SLEEP
static int st_ahci_suspend(struct device *dev)
{ … }
static int st_ahci_resume(struct device *dev)
{ … }
#endif
static SIMPLE_DEV_PM_OPS(st_ahci_pm_ops, st_ahci_suspend, st_ahci_resume);
static const struct of_device_id st_ahci_match[] = …;
MODULE_DEVICE_TABLE(of, st_ahci_match);
static struct platform_driver st_ahci_driver = …;
module_platform_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;