linux/drivers/hid/hid-elan.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * HID Driver for ELAN Touchpad
 *
 * Currently only supports touchpad found on HP Pavilion X2 10
 *
 * Copyright (c) 2016 Alexandrov Stanislav <[email protected]>
 */

#include <linux/hid.h>
#include <linux/input/mt.h>
#include <linux/leds.h>
#include <linux/module.h>
#include <linux/usb.h>

#include "hid-ids.h"

#define ELAN_MT_I2C
#define ELAN_SINGLE_FINGER
#define ELAN_MT_FIRST_FINGER
#define ELAN_MT_SECOND_FINGER
#define ELAN_INPUT_REPORT_SIZE
#define ELAN_I2C_REPORT_SIZE
#define ELAN_FINGER_DATA_LEN
#define ELAN_MAX_FINGERS
#define ELAN_MAX_PRESSURE
#define ELAN_TP_USB_INTF

#define ELAN_FEATURE_REPORT
#define ELAN_FEATURE_SIZE
#define ELAN_PARAM_MAX_X
#define ELAN_PARAM_MAX_Y
#define ELAN_PARAM_RES

#define ELAN_MUTE_LED_REPORT
#define ELAN_LED_REPORT_SIZE

#define ELAN_HAS_LED

struct elan_drvdata {};

static int is_not_elan_touchpad(struct hid_device *hdev)
{}

static int elan_input_mapping(struct hid_device *hdev, struct hid_input *hi,
			      struct hid_field *field, struct hid_usage *usage,
			      unsigned long **bit, int *max)
{}

static int elan_get_device_param(struct hid_device *hdev,
				 unsigned char *dmabuf, unsigned char param)
{}

static unsigned int elan_convert_res(char val)
{}

static int elan_get_device_params(struct hid_device *hdev)
{}

static int elan_input_configured(struct hid_device *hdev, struct hid_input *hi)
{}

static void elan_report_mt_slot(struct elan_drvdata *drvdata, u8 *data,
				unsigned int slot_num)
{}

static void elan_usb_report_input(struct elan_drvdata *drvdata, u8 *data)
{}

static void elan_i2c_report_input(struct elan_drvdata *drvdata, u8 *data)
{}

static int elan_raw_event(struct hid_device *hdev,
			  struct hid_report *report, u8 *data, int size)
{}

static int elan_start_multitouch(struct hid_device *hdev)
{}

static int elan_mute_led_set_brigtness(struct led_classdev *led_cdev,
				       enum led_brightness value)
{}

static int elan_init_mute_led(struct hid_device *hdev)
{}

static int elan_probe(struct hid_device *hdev, const struct hid_device_id *id)
{}

static const struct hid_device_id elan_devices[] =;
MODULE_DEVICE_TABLE(hid, elan_devices);

static struct hid_driver elan_driver =;

module_hid_driver();

MODULE_LICENSE();
MODULE_AUTHOR();
MODULE_DESCRIPTION();