#include <linux/acpi.h>
#include <linux/bits.h>
#include <linux/i2c.h>
#include <linux/interrupt.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/property.h>
#include <linux/spi/spi.h>
#include <linux/types.h>
#define IRQ_RESOURCE_TYPE …
#define IRQ_RESOURCE_NONE …
#define IRQ_RESOURCE_GPIO …
#define IRQ_RESOURCE_APIC …
#define IRQ_RESOURCE_AUTO …
enum smi_bus_type { … };
struct smi_instance { … };
struct smi_node { … };
struct smi { … };
static int smi_get_irq(struct platform_device *pdev, struct acpi_device *adev,
const struct smi_instance *inst)
{ … }
static void smi_devs_unregister(struct smi *smi)
{ … }
static int smi_spi_probe(struct platform_device *pdev, struct smi *smi,
const struct smi_instance *inst_array)
{ … }
static int smi_i2c_probe(struct platform_device *pdev, struct smi *smi,
const struct smi_instance *inst_array)
{ … }
static int smi_probe(struct platform_device *pdev)
{ … }
static void smi_remove(struct platform_device *pdev)
{ … }
static const struct smi_node bsg1160_data = …;
static const struct smi_node bsg2150_data = …;
static const struct smi_node int3515_data = …;
static const struct smi_node cs35l41_hda = …;
static const struct smi_node cs35l54_hda = …;
static const struct smi_node cs35l56_hda = …;
static const struct smi_node cs35l57_hda = …;
static const struct acpi_device_id smi_acpi_ids[] = …;
MODULE_DEVICE_TABLE(acpi, smi_acpi_ids);
static struct platform_driver smi_driver = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;