#include <linux/module.h>
#include <linux/device.h>
#include <linux/clk.h>
#include <linux/pm_runtime.h>
#include <linux/platform_device.h>
#include <linux/dmaengine.h>
#include <linux/dma-mapping.h>
#include <linux/of.h>
#include <linux/acpi.h>
#include "internal.h"
#define DRV_NAME …
static int dw_probe(struct platform_device *pdev)
{ … }
static void dw_remove(struct platform_device *pdev)
{ … }
static void dw_shutdown(struct platform_device *pdev)
{ … }
#ifdef CONFIG_OF
static const struct of_device_id dw_dma_of_id_table[] = …;
MODULE_DEVICE_TABLE(of, dw_dma_of_id_table);
#endif
#ifdef CONFIG_ACPI
static const struct acpi_device_id dw_dma_acpi_id_table[] = …;
MODULE_DEVICE_TABLE(acpi, dw_dma_acpi_id_table);
#endif
#ifdef CONFIG_PM_SLEEP
static int dw_suspend_late(struct device *dev)
{ … }
static int dw_resume_early(struct device *dev)
{ … }
#endif
static const struct dev_pm_ops dw_dev_pm_ops = …;
static struct platform_driver dw_driver = …;
static int __init dw_init(void)
{ … }
subsys_initcall(dw_init);
static void __exit dw_exit(void)
{ … }
module_exit(dw_exit);
MODULE_LICENSE(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_ALIAS(…) …;