linux/include/linux/extcon/extcon-gpio.h
<<
>>
Prefs
   1/*
   2 * Single-state GPIO extcon driver based on extcon class
   3 *
   4 * Copyright (C) 2012 Samsung Electronics
   5 * Author: MyungJoo Ham <myungjoo.ham@samsung.com>
   6 *
   7 * based on switch class driver
   8 * Copyright (C) 2008 Google, Inc.
   9 * Author: Mike Lockwood <lockwood@android.com>
  10 *
  11 * This software is licensed under the terms of the GNU General Public
  12 * License version 2, as published by the Free Software Foundation, and
  13 * may be copied, distributed, and modified under those terms.
  14 *
  15 * This program is distributed in the hope that it will be useful,
  16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
  17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  18 * GNU General Public License for more details.
  19 */
  20#ifndef __EXTCON_GPIO_H__
  21#define __EXTCON_GPIO_H__ __FILE__
  22
  23#include <linux/extcon.h>
  24
  25/**
  26 * struct gpio_extcon_pdata - A simple GPIO-controlled extcon device.
  27 * @extcon_id:          The unique id of specific external connector.
  28 * @gpio:               Corresponding GPIO.
  29 * @gpio_active_low:    Boolean describing whether gpio active state is 1 or 0
  30 *                      If true, low state of gpio means active.
  31 *                      If false, high state of gpio means active.
  32 * @debounce:           Debounce time for GPIO IRQ in ms.
  33 * @irq_flags:          IRQ Flags (e.g., IRQF_TRIGGER_LOW).
  34 * @check_on_resume:    Boolean describing whether to check the state of gpio
  35 *                      while resuming from sleep.
  36 */
  37struct gpio_extcon_pdata {
  38        unsigned int extcon_id;
  39        unsigned gpio;
  40        bool gpio_active_low;
  41        unsigned long debounce;
  42        unsigned long irq_flags;
  43
  44        bool check_on_resume;
  45};
  46
  47#endif /* __EXTCON_GPIO_H__ */
  48