linux/drivers/input/mouse/psmouse-smbus.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (c) 2017 Red Hat, Inc
 */

#define pr_fmt(fmt)

#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/libps2.h>
#include <linux/i2c.h>
#include <linux/serio.h>
#include <linux/slab.h>
#include <linux/workqueue.h>
#include "psmouse.h"

struct psmouse_smbus_dev {};

static LIST_HEAD(psmouse_smbus_list);
static DEFINE_MUTEX(psmouse_smbus_mutex);

static struct workqueue_struct *psmouse_smbus_wq;

static void psmouse_smbus_check_adapter(struct i2c_adapter *adapter)
{}

static void psmouse_smbus_detach_i2c_client(struct i2c_client *client)
{}

static int psmouse_smbus_notifier_call(struct notifier_block *nb,
				       unsigned long action, void *data)
{}

static struct notifier_block psmouse_smbus_notifier =;

static psmouse_ret_t psmouse_smbus_process_byte(struct psmouse *psmouse)
{}

static int psmouse_smbus_reconnect(struct psmouse *psmouse)
{}

struct psmouse_smbus_removal_work {};

static void psmouse_smbus_remove_i2c_device(struct work_struct *work)
{}

/*
 * This schedules removal of SMBus companion device. We have to do
 * it in a separate tread to avoid deadlocking on psmouse_mutex in
 * case the device has a trackstick (which is also driven by psmouse).
 *
 * Note that this may be racing with i2c adapter removal, but we
 * can't do anything about that: i2c automatically destroys clients
 * attached to an adapter that is being removed. This has to be
 * fixed in i2c core.
 */
static void psmouse_smbus_schedule_remove(struct i2c_client *client)
{}

static void psmouse_smbus_disconnect(struct psmouse *psmouse)
{}

static int psmouse_smbus_create_companion(struct device *dev, void *data)
{}

void psmouse_smbus_cleanup(struct psmouse *psmouse)
{}

int psmouse_smbus_init(struct psmouse *psmouse,
		       const struct i2c_board_info *board,
		       const void *pdata, size_t pdata_size,
		       bool need_deactivate,
		       bool leave_breadcrumbs)
{}

int __init psmouse_smbus_module_init(void)
{}

void psmouse_smbus_module_exit(void)
{}