#include <linux/platform_device.h>
#include <linux/module.h>
#include <linux/acpi.h>
#include <linux/dmi.h>
#include "ucsi.h"
#define UCSI_DSM_UUID …
#define UCSI_DSM_FUNC_WRITE …
#define UCSI_DSM_FUNC_READ …
struct ucsi_acpi { … };
static int ucsi_acpi_dsm(struct ucsi_acpi *ua, int func)
{ … }
static int ucsi_acpi_read_version(struct ucsi *ucsi, u16 *version)
{ … }
static int ucsi_acpi_read_cci(struct ucsi *ucsi, u32 *cci)
{ … }
static int ucsi_acpi_read_message_in(struct ucsi *ucsi, void *val, size_t val_len)
{ … }
static int ucsi_acpi_async_control(struct ucsi *ucsi, u64 command)
{ … }
static const struct ucsi_operations ucsi_acpi_ops = …;
static int
ucsi_zenbook_read_cci(struct ucsi *ucsi, u32 *cci)
{ … }
static int
ucsi_zenbook_read_message_in(struct ucsi *ucsi, void *val, size_t val_len)
{ … }
static const struct ucsi_operations ucsi_zenbook_ops = …;
static int ucsi_gram_read_message_in(struct ucsi *ucsi, void *val, size_t val_len)
{ … }
static int ucsi_gram_sync_control(struct ucsi *ucsi, u64 command)
{ … }
static const struct ucsi_operations ucsi_gram_ops = …;
static const struct dmi_system_id ucsi_acpi_quirks[] = …;
static void ucsi_acpi_notify(acpi_handle handle, u32 event, void *data)
{ … }
static int ucsi_acpi_probe(struct platform_device *pdev)
{ … }
static void ucsi_acpi_remove(struct platform_device *pdev)
{ … }
static int ucsi_acpi_resume(struct device *dev)
{ … }
static DEFINE_SIMPLE_DEV_PM_OPS(ucsi_acpi_pm_ops, NULL, ucsi_acpi_resume);
static const struct acpi_device_id ucsi_acpi_match[] = …;
MODULE_DEVICE_TABLE(acpi, ucsi_acpi_match);
static struct platform_driver ucsi_acpi_platform_driver = …;
module_platform_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;
MODULE_DESCRIPTION(…) …;