#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/device.h>
#include <linux/platform_device.h>
#include <linux/ioport.h>
#include <linux/dma-mapping.h>
#include <linux/kthread.h>
#include <linux/sched.h>
#include <linux/interrupt.h>
#include <linux/spinlock.h>
#include <linux/delay.h>
#include <linux/ccp.h>
#include <linux/of.h>
#include <linux/of_address.h>
#include <linux/acpi.h>
#include "ccp-dev.h"
struct sp_platform { … };
static const struct sp_dev_vdata dev_vdata[] = …;
static const struct acpi_device_id sp_acpi_match[] = …;
MODULE_DEVICE_TABLE(acpi, sp_acpi_match);
static const struct of_device_id sp_of_match[] = …;
MODULE_DEVICE_TABLE(of, sp_of_match);
static struct sp_dev_vdata *sp_get_of_version(struct platform_device *pdev)
{ … }
static struct sp_dev_vdata *sp_get_acpi_version(struct platform_device *pdev)
{ … }
static int sp_get_irqs(struct sp_device *sp)
{ … }
static int sp_platform_probe(struct platform_device *pdev)
{ … }
static void sp_platform_remove(struct platform_device *pdev)
{ … }
#ifdef CONFIG_PM
static int sp_platform_suspend(struct platform_device *pdev,
pm_message_t state)
{ … }
static int sp_platform_resume(struct platform_device *pdev)
{ … }
#endif
static struct platform_driver sp_platform_driver = …;
int sp_platform_init(void)
{ … }
void sp_platform_exit(void)
{ … }