#include <linux/acpi.h>
#include <linux/bitops.h>
#include <linux/device.h>
#include <linux/gpio/driver.h>
#include <linux/io.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/pm.h>
#include <linux/resource.h>
#include <linux/types.h>
#define MLXBF_GPIO_NR …
#define MLXBF_GPIO_PAD_CONTROL_FIRST_WORD …
#define MLXBF_GPIO_PAD_CONTROL_1_FIRST_WORD …
#define MLXBF_GPIO_PAD_CONTROL_2_FIRST_WORD …
#define MLXBF_GPIO_PAD_CONTROL_3_FIRST_WORD …
#define MLXBF_GPIO_PIN_DIR_I …
#define MLXBF_GPIO_PIN_DIR_O …
#define MLXBF_GPIO_PIN_STATE …
#define MLXBF_GPIO_SCRATCHPAD …
#ifdef CONFIG_PM
struct mlxbf_gpio_context_save_regs { … };
#endif
struct mlxbf_gpio_state { … };
static int mlxbf_gpio_probe(struct platform_device *pdev)
{ … }
#ifdef CONFIG_PM
static int mlxbf_gpio_suspend(struct platform_device *pdev, pm_message_t state)
{ … }
static int mlxbf_gpio_resume(struct platform_device *pdev)
{ … }
#endif
static const struct acpi_device_id __maybe_unused mlxbf_gpio_acpi_match[] = …;
MODULE_DEVICE_TABLE(acpi, mlxbf_gpio_acpi_match);
static struct platform_driver mlxbf_gpio_driver = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;