#include <linux/acpi.h>
#include <linux/bitops.h>
#include <linux/errno.h>
#include <linux/gpio/driver.h>
#include <linux/io.h>
#include <linux/irq.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/pci_ids.h>
#include <linux/platform_device.h>
#include <linux/types.h>
#define GEN …
#define GIO …
#define GLV …
#define GTPE …
#define GTNE …
#define GGPE …
#define GSMI …
#define GTS …
#define CORE_BANK_OFFSET …
#define RESUME_BANK_OFFSET …
#define GPE0E_GPIO …
struct sch_gpio { … };
static unsigned int sch_gpio_offset(struct sch_gpio *sch, unsigned int gpio,
unsigned int reg)
{ … }
static unsigned int sch_gpio_bit(struct sch_gpio *sch, unsigned int gpio)
{ … }
static int sch_gpio_reg_get(struct sch_gpio *sch, unsigned int gpio, unsigned int reg)
{ … }
static void sch_gpio_reg_set(struct sch_gpio *sch, unsigned int gpio, unsigned int reg,
int val)
{ … }
static int sch_gpio_direction_in(struct gpio_chip *gc, unsigned int gpio_num)
{ … }
static int sch_gpio_get(struct gpio_chip *gc, unsigned int gpio_num)
{ … }
static void sch_gpio_set(struct gpio_chip *gc, unsigned int gpio_num, int val)
{ … }
static int sch_gpio_direction_out(struct gpio_chip *gc, unsigned int gpio_num,
int val)
{ … }
static int sch_gpio_get_direction(struct gpio_chip *gc, unsigned int gpio_num)
{ … }
static const struct gpio_chip sch_gpio_chip = …;
static int sch_irq_type(struct irq_data *d, unsigned int type)
{ … }
static void sch_irq_ack(struct irq_data *d)
{ … }
static void sch_irq_mask_unmask(struct gpio_chip *gc, irq_hw_number_t gpio_num, int val)
{ … }
static void sch_irq_mask(struct irq_data *d)
{ … }
static void sch_irq_unmask(struct irq_data *d)
{ … }
static const struct irq_chip sch_irqchip = …;
static u32 sch_gpio_gpe_handler(acpi_handle gpe_device, u32 gpe, void *context)
{ … }
static void sch_gpio_remove_gpe_handler(void *data)
{ … }
static int sch_gpio_install_gpe_handler(struct sch_gpio *sch)
{ … }
static int sch_gpio_probe(struct platform_device *pdev)
{ … }
static struct platform_driver sch_gpio_driver = …;
module_platform_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_ALIAS(…) …;