#include <linux/auxiliary_bus.h>
#include <linux/bitops.h>
#include <linux/completion.h>
#include <linux/container_of.h>
#include <linux/module.h>
#include <linux/notifier.h>
#include <linux/string.h>
#include <linux/platform_data/lenovo-yoga-c630.h>
#include "ucsi.h"
struct yoga_c630_ucsi { … };
static int yoga_c630_ucsi_read_version(struct ucsi *ucsi, u16 *version)
{ … }
static int yoga_c630_ucsi_read_cci(struct ucsi *ucsi, u32 *cci)
{ … }
static int yoga_c630_ucsi_read_message_in(struct ucsi *ucsi,
void *val, size_t val_len)
{ … }
static int yoga_c630_ucsi_async_control(struct ucsi *ucsi, u64 command)
{ … }
const struct ucsi_operations yoga_c630_ucsi_ops = …;
static int yoga_c630_ucsi_notify(struct notifier_block *nb,
unsigned long action, void *data)
{ … }
static int yoga_c630_ucsi_probe(struct auxiliary_device *adev,
const struct auxiliary_device_id *id)
{ … }
static void yoga_c630_ucsi_remove(struct auxiliary_device *adev)
{ … }
static const struct auxiliary_device_id yoga_c630_ucsi_id_table[] = …;
MODULE_DEVICE_TABLE(auxiliary, yoga_c630_ucsi_id_table);
static struct auxiliary_driver yoga_c630_ucsi_driver = …;
module_auxiliary_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;