#define pr_fmt(fmt) …
#include <linux/dmi.h>
#include <linux/err.h>
#include <linux/kernel.h>
#include <linux/leds.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/gpio_keys.h>
#include <linux/gpio/machine.h>
#include <linux/input.h>
#include <linux/platform_data/gpio/gpio-amd-fch.h>
#define APU2_GPIO_REG_LED1 …
#define APU2_GPIO_REG_LED2 …
#define APU2_GPIO_REG_LED3 …
#define APU2_GPIO_REG_MODESW …
#define APU2_GPIO_REG_SIMSWAP …
#define APU2_GPIO_REG_MPCIE2 …
#define APU2_GPIO_REG_MPCIE3 …
#define APU2_GPIO_LINE_LED1 …
#define APU2_GPIO_LINE_LED2 …
#define APU2_GPIO_LINE_LED3 …
#define APU2_GPIO_LINE_MODESW …
#define APU2_GPIO_LINE_SIMSWAP …
#define APU2_GPIO_LINE_MPCIE2 …
#define APU2_GPIO_LINE_MPCIE3 …
static int apu2_gpio_regs[] = …;
static const char * const apu2_gpio_names[] = …;
static const struct amd_fch_gpio_pdata board_apu2 = …;
static const struct gpio_led apu2_leds[] = …;
static const struct gpio_led_platform_data apu2_leds_pdata = …;
static struct gpiod_lookup_table gpios_led_table = …;
static struct gpio_keys_button apu2_keys_buttons[] = …;
static const struct gpio_keys_platform_data apu2_keys_pdata = …;
static struct gpiod_lookup_table gpios_key_table = …;
static const struct dmi_system_id apu_gpio_dmi_table[] __initconst = …;
static struct platform_device *apu_gpio_pdev;
static struct platform_device *apu_leds_pdev;
static struct platform_device *apu_keys_pdev;
static struct platform_device * __init apu_create_pdev(
const char *name,
const void *pdata,
size_t sz)
{ … }
static int __init apu_board_init(void)
{ … }
static void __exit apu_board_exit(void)
{ … }
module_init(…) …;
module_exit(apu_board_exit);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_DEVICE_TABLE(dmi, apu_gpio_dmi_table);
MODULE_SOFTDEP(…) …;