#include <linux/dmi.h>
#include <linux/kconfig.h>
#include <linux/mfd/core.h>
#include <linux/module.h>
#include <linux/mod_devicetable.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/platform_data/cros_ec_chardev.h>
#include <linux/platform_data/cros_ec_commands.h>
#include <linux/platform_data/cros_ec_proto.h>
#include <linux/slab.h>
#define DRV_NAME …
static struct class cros_class = …;
struct cros_feature_to_name { … };
struct cros_feature_to_cells { … };
static const struct cros_feature_to_name cros_mcu_devices[] = …;
static const struct mfd_cell cros_ec_cec_cells[] = …;
static const struct mfd_cell cros_ec_gpio_cells[] = …;
static const struct mfd_cell cros_ec_rtc_cells[] = …;
static const struct mfd_cell cros_ec_sensorhub_cells[] = …;
static const struct mfd_cell cros_usbpd_charger_cells[] = …;
static const struct mfd_cell cros_usbpd_notify_cells[] = …;
static const struct mfd_cell cros_ec_wdt_cells[] = …;
static const struct mfd_cell cros_ec_led_cells[] = …;
static const struct mfd_cell cros_ec_keyboard_leds_cells[] = …;
static const struct cros_feature_to_cells cros_subdevices[] = …;
static const struct mfd_cell cros_ec_platform_cells[] = …;
static const struct mfd_cell cros_ec_pchg_cells[] = …;
static const struct mfd_cell cros_ec_lightbar_cells[] = …;
static const struct mfd_cell cros_ec_vbc_cells[] = …;
static void cros_ec_class_release(struct device *dev)
{ … }
static int ec_device_probe(struct platform_device *pdev)
{ … }
static void ec_device_remove(struct platform_device *pdev)
{ … }
static const struct platform_device_id cros_ec_id[] = …;
MODULE_DEVICE_TABLE(platform, cros_ec_id);
static struct platform_driver cros_ec_dev_driver = …;
static int __init cros_ec_dev_init(void)
{ … }
static void __exit cros_ec_dev_exit(void)
{ … }
module_init(…) …;
module_exit(cros_ec_dev_exit);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_VERSION(…) …;
MODULE_LICENSE(…) …;