summaryrefslogtreecommitdiffstats
path: root/include/linux/platform_data
diff options
context:
space:
mode:
authorWolfram Sang <wsa@the-dreams.de>2017-05-21 22:30:33 +0200
committerJiri Kosina <jkosina@suse.cz>2017-05-22 14:00:31 +0200
commit91b9ae48aadd7e634161372b0bc3ffc88a050e8b (patch)
tree99dffd449a9405496bea34db20f56eaf9a44a1c6 /include/linux/platform_data
parent7af4c727c7b6104f94f2ffc3d0899e75a9cc1e55 (diff)
downloadop-kernel-dev-91b9ae48aadd7e634161372b0bc3ffc88a050e8b.zip
op-kernel-dev-91b9ae48aadd7e634161372b0bc3ffc88a050e8b.tar.gz
HID: i2c-hid: move header file out of I2C realm
include/linux/i2c is not for client devices. Move the header file to a more appropriate location. Signed-off-by: Wolfram Sang <wsa@the-dreams.de> Acked-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'include/linux/platform_data')
-rw-r--r--include/linux/platform_data/i2c-hid.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/include/linux/platform_data/i2c-hid.h b/include/linux/platform_data/i2c-hid.h
new file mode 100644
index 0000000..1fb0882
--- /dev/null
+++ b/include/linux/platform_data/i2c-hid.h
@@ -0,0 +1,42 @@
+/*
+ * HID over I2C protocol implementation
+ *
+ * Copyright (c) 2012 Benjamin Tissoires <benjamin.tissoires@gmail.com>
+ * Copyright (c) 2012 Ecole Nationale de l'Aviation Civile, France
+ *
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License. See the file COPYING in the main directory of this archive for
+ * more details.
+ */
+
+#ifndef __LINUX_I2C_HID_H
+#define __LINUX_I2C_HID_H
+
+#include <linux/types.h>
+
+struct regulator;
+
+/**
+ * struct i2chid_platform_data - used by hid over i2c implementation.
+ * @hid_descriptor_address: i2c register where the HID descriptor is stored.
+ * @supply: regulator for powering on the device.
+ * @post_power_delay_ms: delay after powering on before device is usable.
+ *
+ * Note that it is the responsibility of the platform driver (or the acpi 5.0
+ * driver, or the flattened device tree) to setup the irq related to the gpio in
+ * the struct i2c_board_info.
+ * The platform driver should also setup the gpio according to the device:
+ *
+ * A typical example is the following:
+ * irq = gpio_to_irq(intr_gpio);
+ * hkdk4412_i2c_devs5[0].irq = irq; // store the irq in i2c_board_info
+ * gpio_request(intr_gpio, "elan-irq");
+ * s3c_gpio_setpull(intr_gpio, S3C_GPIO_PULL_UP);
+ */
+struct i2c_hid_platform_data {
+ u16 hid_descriptor_address;
+ struct regulator *supply;
+ int post_power_delay_ms;
+};
+
+#endif /* __LINUX_I2C_HID_H */
OpenPOWER on IntegriCloud