linux/drivers/hid/i2c-hid/i2c-hid-dmi-quirks.c

// SPDX-License-Identifier: GPL-2.0+

/*
 * Quirks for I2C-HID devices that do not supply proper descriptors
 *
 * Copyright (c) 2018 Julian Sax <[email protected]>
 *
 */

#include <linux/types.h>
#include <linux/dmi.h>
#include <linux/mod_devicetable.h>
#include <linux/hid.h>

#include "i2c-hid.h"
#include "../hid-ids.h"


struct i2c_hid_desc_override {};


/*
 * descriptors for the SIPODEV SP1064 touchpad
 *
 * This device does not supply any descriptors and on windows a filter
 * driver operates between the i2c-hid layer and the device and injects
 * these descriptors when the device is prompted. The descriptors were
 * extracted by listening to the i2c-hid traffic that occurs between the
 * windows filter driver and the windows i2c-hid driver.
 */

static const struct i2c_hid_desc_override sipodev_desc =;


static const struct dmi_system_id i2c_hid_dmi_desc_override_table[] =;

static const struct hid_device_id i2c_hid_elan_flipped_quirks =;

/*
 * This list contains devices which have specific issues based on the system
 * they're on and not just the device itself. The driver_data will have a
 * specific hid device to match against.
 */
static const struct dmi_system_id i2c_hid_dmi_quirk_table[] =;


struct i2c_hid_desc *i2c_hid_get_dmi_i2c_hid_desc_override(uint8_t *i2c_name)
{}

char *i2c_hid_get_dmi_hid_report_desc_override(uint8_t *i2c_name,
					       unsigned int *size)
{}

u32 i2c_hid_get_dmi_quirks(const u16 vendor, const u16 product)
{}