]>
Commit | Line | Data |
---|---|---|
4a200c3b BT |
1 | /* |
2 | * HID over I2C protocol implementation | |
3 | * | |
4 | * Copyright (c) 2012 Benjamin Tissoires <benjamin.tissoires@gmail.com> | |
5 | * Copyright (c) 2012 Ecole Nationale de l'Aviation Civile, France | |
6 | * | |
7 | * This file is subject to the terms and conditions of the GNU General Public | |
8 | * License. See the file COPYING in the main directory of this archive for | |
9 | * more details. | |
10 | */ | |
11 | ||
12 | #ifndef __LINUX_I2C_HID_H | |
13 | #define __LINUX_I2C_HID_H | |
14 | ||
15 | #include <linux/types.h> | |
16 | ||
572d3c64 BN |
17 | struct regulator; |
18 | ||
4a200c3b BT |
19 | /** |
20 | * struct i2chid_platform_data - used by hid over i2c implementation. | |
21 | * @hid_descriptor_address: i2c register where the HID descriptor is stored. | |
572d3c64 BN |
22 | * @supply: regulator for powering on the device. |
23 | * @post_power_delay_ms: delay after powering on before device is usable. | |
4a200c3b BT |
24 | * |
25 | * Note that it is the responsibility of the platform driver (or the acpi 5.0 | |
3d7d248c BT |
26 | * driver, or the flattened device tree) to setup the irq related to the gpio in |
27 | * the struct i2c_board_info. | |
4a200c3b BT |
28 | * The platform driver should also setup the gpio according to the device: |
29 | * | |
30 | * A typical example is the following: | |
31 | * irq = gpio_to_irq(intr_gpio); | |
32 | * hkdk4412_i2c_devs5[0].irq = irq; // store the irq in i2c_board_info | |
33 | * gpio_request(intr_gpio, "elan-irq"); | |
34 | * s3c_gpio_setpull(intr_gpio, S3C_GPIO_PULL_UP); | |
35 | */ | |
36 | struct i2c_hid_platform_data { | |
37 | u16 hid_descriptor_address; | |
572d3c64 BN |
38 | struct regulator *supply; |
39 | int post_power_delay_ms; | |
4a200c3b BT |
40 | }; |
41 | ||
42 | #endif /* __LINUX_I2C_HID_H */ |