Blame view

include/linux/platform_data/i2c-hid.h 1.39 KB
4a200c3b9   Benjamin Tissoires   HID: i2c-hid: int...
1
2
3
4
5
6
7
8
9
10
11
12
13
  /*
   * 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
6136f97cd   Stephen Boyd   HID: i2c-hid: Add...
14
  #include <linux/regulator/consumer.h>
4a200c3b9   Benjamin Tissoires   HID: i2c-hid: int...
15
16
17
18
19
  #include <linux/types.h>
  
  /**
   * struct i2chid_platform_data - used by hid over i2c implementation.
   * @hid_descriptor_address: i2c register where the HID descriptor is stored.
6136f97cd   Stephen Boyd   HID: i2c-hid: Add...
20
   * @supplies: regulators for powering on the device.
572d3c644   Brian Norris   HID: i2c-hid: sup...
21
   * @post_power_delay_ms: delay after powering on before device is usable.
4a200c3b9   Benjamin Tissoires   HID: i2c-hid: int...
22
23
   *
   * Note that it is the responsibility of the platform driver (or the acpi 5.0
3d7d248cf   Benjamin Tissoires   HID: i2c-hid: add...
24
25
   * driver, or the flattened device tree) to setup the irq related to the gpio in
   * the struct i2c_board_info.
4a200c3b9   Benjamin Tissoires   HID: i2c-hid: int...
26
27
28
29
30
31
32
33
34
35
   * 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;
6136f97cd   Stephen Boyd   HID: i2c-hid: Add...
36
  	struct regulator_bulk_data supplies[2];
572d3c644   Brian Norris   HID: i2c-hid: sup...
37
  	int post_power_delay_ms;
4a200c3b9   Benjamin Tissoires   HID: i2c-hid: int...
38
39
40
  };
  
  #endif /* __LINUX_I2C_HID_H */