linux/drivers/platform/surface/surface3-wmi.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 *  Driver for the LID cover switch of the Surface 3
 *
 *  Copyright (c) 2016 Red Hat Inc.
 */


#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/slab.h>

#include <linux/acpi.h>
#include <linux/dmi.h>
#include <linux/input.h>
#include <linux/mutex.h>
#include <linux/platform_device.h>
#include <linux/spi/spi.h>

MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();

#define ACPI_BUTTON_HID_LID
#define SPI_CTL_OBJ_NAME
#define SPI_TS_OBJ_NAME

#define SURFACE3_LID_GUID

MODULE_ALIAS();

static const struct dmi_system_id surface3_dmi_table[] =;

struct surface3_wmi {};

static struct platform_device *s3_wmi_pdev;

static struct surface3_wmi s3_wmi;

static DEFINE_MUTEX(s3_wmi_lock);

static int s3_wmi_query_block(const char *guid, int instance, int *ret)
{}

static inline int s3_wmi_query_lid(int *ret)
{}

static int s3_wmi_send_lid_state(void)
{}

static int s3_wmi_hp_notify(struct acpi_device *adev, u32 value)
{}

static acpi_status s3_wmi_attach_spi_device(acpi_handle handle,
					    u32 level,
					    void *data,
					    void **return_value)
{}

static int s3_wmi_check_platform_device(struct device *dev, void *data)
{}

static int s3_wmi_create_and_register_input(struct platform_device *pdev)
{}

static int __init s3_wmi_probe(struct platform_device *pdev)
{}

static void s3_wmi_remove(struct platform_device *device)
{}

static int __maybe_unused s3_wmi_resume(struct device *dev)
{}
static SIMPLE_DEV_PM_OPS(s3_wmi_pm, NULL, s3_wmi_resume);

static struct platform_driver s3_wmi_driver =;

static int __init s3_wmi_init(void)
{}

static void __exit s3_wmi_exit(void)
{}

module_init();
module_exit(s3_wmi_exit);