Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (64 commits) Input: tc3589x-keypad - add missing kerneldoc Input: ucb1400-ts - switch to using dev_xxx() for diagnostic messages Input: ucb1400_ts - convert to threaded IRQ Input: ucb1400_ts - drop inline annotations Input: usb1400_ts - add __devinit/__devexit section annotations Input: ucb1400_ts - set driver owner Input: ucb1400_ts - convert to use dev_pm_ops Input: psmouse - make sure we do not use stale methods Input: evdev - do not block waiting for an event if fd is nonblock Input: evdev - if no events and non-block, return EAGAIN not 0 Input: evdev - only allow reading events if a full packet is present Input: add driver for pixcir i2c touchscreens Input: samsung-keypad - implement runtime power management support Input: tegra-kbc - report wakeup key for some platforms Input: tegra-kbc - add device tree bindings Input: add driver for AUO In-Cell touchscreens using pixcir ICs Input: mpu3050 - configure the sampling method Input: mpu3050 - ensure we enable interrupts Input: mpu3050 - add of_match table for device-tree probing Input: sentelic - document the latest hardware ... Fix up fairly trivial conflicts (device tree matching conflicting with some independent cleanups) in drivers/input/keyboard/samsung-keypad.c
This commit is contained in:
56
include/linux/input/auo-pixcir-ts.h
Normal file
56
include/linux/input/auo-pixcir-ts.h
Normal file
@@ -0,0 +1,56 @@
|
||||
/*
|
||||
* Driver for AUO in-cell touchscreens
|
||||
*
|
||||
* Copyright (c) 2011 Heiko Stuebner <heiko@sntech.de>
|
||||
*
|
||||
* based on auo_touch.h from Dell Streak kernel
|
||||
*
|
||||
* Copyright (c) 2008 QUALCOMM Incorporated.
|
||||
* Copyright (c) 2008 QUALCOMM USA, INC.
|
||||
*
|
||||
*
|
||||
* This software is licensed under the terms of the GNU General Public
|
||||
* License version 2, as published by the Free Software Foundation, and
|
||||
* may be copied, distributed, and modified under those terms.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __AUO_PIXCIR_TS_H__
|
||||
#define __AUO_PIXCIR_TS_H__
|
||||
|
||||
/*
|
||||
* Interrupt modes:
|
||||
* periodical: interrupt is asserted periodicaly
|
||||
* compare coordinates: interrupt is asserted when coordinates change
|
||||
* indicate touch: interrupt is asserted during touch
|
||||
*/
|
||||
#define AUO_PIXCIR_INT_PERIODICAL 0x00
|
||||
#define AUO_PIXCIR_INT_COMP_COORD 0x01
|
||||
#define AUO_PIXCIR_INT_TOUCH_IND 0x02
|
||||
|
||||
/*
|
||||
* @gpio_int interrupt gpio
|
||||
* @int_setting one of AUO_PIXCIR_INT_*
|
||||
* @init_hw hardwarespecific init
|
||||
* @exit_hw hardwarespecific shutdown
|
||||
* @x_max x-resolution
|
||||
* @y_max y-resolution
|
||||
*/
|
||||
struct auo_pixcir_ts_platdata {
|
||||
int gpio_int;
|
||||
|
||||
int int_setting;
|
||||
|
||||
void (*init_hw)(struct i2c_client *);
|
||||
void (*exit_hw)(struct i2c_client *);
|
||||
|
||||
unsigned int x_max;
|
||||
unsigned int y_max;
|
||||
};
|
||||
|
||||
#endif
|
||||
22
include/linux/input/gp2ap002a00f.h
Normal file
22
include/linux/input/gp2ap002a00f.h
Normal file
@@ -0,0 +1,22 @@
|
||||
#ifndef _GP2AP002A00F_H_
|
||||
#define _GP2AP002A00F_H_
|
||||
|
||||
#include <linux/i2c.h>
|
||||
|
||||
#define GP2A_I2C_NAME "gp2ap002a00f"
|
||||
|
||||
/**
|
||||
* struct gp2a_platform_data - Sharp gp2ap002a00f proximity platform data
|
||||
* @vout_gpio: The gpio connected to the object detected pin (VOUT)
|
||||
* @wakeup: Set to true if the proximity can wake the device from suspend
|
||||
* @hw_setup: Callback for setting up hardware such as gpios and vregs
|
||||
* @hw_shutdown: Callback for properly shutting down hardware
|
||||
*/
|
||||
struct gp2a_platform_data {
|
||||
int vout_gpio;
|
||||
bool wakeup;
|
||||
int (*hw_setup)(struct i2c_client *client);
|
||||
int (*hw_shutdown)(struct i2c_client *client);
|
||||
};
|
||||
|
||||
#endif
|
||||
73
include/linux/input/gpio_tilt.h
Normal file
73
include/linux/input/gpio_tilt.h
Normal file
@@ -0,0 +1,73 @@
|
||||
#ifndef _INPUT_GPIO_TILT_H
|
||||
#define _INPUT_GPIO_TILT_H
|
||||
|
||||
/**
|
||||
* struct gpio_tilt_axis - Axis used by the tilt switch
|
||||
* @axis: Constant describing the axis, e.g. ABS_X
|
||||
* @min: minimum value for abs_param
|
||||
* @max: maximum value for abs_param
|
||||
* @fuzz: fuzz value for abs_param
|
||||
* @flat: flat value for abs_param
|
||||
*/
|
||||
struct gpio_tilt_axis {
|
||||
int axis;
|
||||
int min;
|
||||
int max;
|
||||
int fuzz;
|
||||
int flat;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct gpio_tilt_state - state description
|
||||
* @gpios: bitfield of gpio target-states for the value
|
||||
* @axes: array containing the axes settings for the gpio state
|
||||
* The array indizes must correspond to the axes defined
|
||||
* in platform_data
|
||||
*
|
||||
* This structure describes a supported axis settings
|
||||
* and the necessary gpio-state which represent it.
|
||||
*
|
||||
* The n-th bit in the bitfield describes the state of the n-th GPIO
|
||||
* from the gpios-array defined in gpio_regulator_config below.
|
||||
*/
|
||||
struct gpio_tilt_state {
|
||||
int gpios;
|
||||
int *axes;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct gpio_tilt_platform_data
|
||||
* @gpios: Array containing the gpios determining the tilt state
|
||||
* @nr_gpios: Number of gpios
|
||||
* @axes: Array of gpio_tilt_axis descriptions
|
||||
* @nr_axes: Number of axes
|
||||
* @states: Array of gpio_tilt_state entries describing
|
||||
* the gpio state for specific tilts
|
||||
* @nr_states: Number of states available
|
||||
* @debounce_interval: debounce ticks interval in msecs
|
||||
* @poll_interval: polling interval in msecs - for polling driver only
|
||||
* @enable: callback to enable the tilt switch
|
||||
* @disable: callback to disable the tilt switch
|
||||
*
|
||||
* This structure contains gpio-tilt-switch configuration
|
||||
* information that must be passed by platform code to the
|
||||
* gpio-tilt input driver.
|
||||
*/
|
||||
struct gpio_tilt_platform_data {
|
||||
struct gpio *gpios;
|
||||
int nr_gpios;
|
||||
|
||||
struct gpio_tilt_axis *axes;
|
||||
int nr_axes;
|
||||
|
||||
struct gpio_tilt_state *states;
|
||||
int nr_states;
|
||||
|
||||
int debounce_interval;
|
||||
|
||||
unsigned int poll_interval;
|
||||
int (*enable)(struct device *dev);
|
||||
void (*disable)(struct device *dev);
|
||||
};
|
||||
|
||||
#endif
|
||||
10
include/linux/input/pixcir_ts.h
Normal file
10
include/linux/input/pixcir_ts.h
Normal file
@@ -0,0 +1,10 @@
|
||||
#ifndef _PIXCIR_I2C_TS_H
|
||||
#define _PIXCIR_I2C_TS_H
|
||||
|
||||
struct pixcir_ts_platform_data {
|
||||
int (*attb_read_val)(void);
|
||||
int x_max;
|
||||
int y_max;
|
||||
};
|
||||
|
||||
#endif
|
||||
43
include/linux/input/samsung-keypad.h
Normal file
43
include/linux/input/samsung-keypad.h
Normal file
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
* Samsung Keypad platform data definitions
|
||||
*
|
||||
* Copyright (C) 2010 Samsung Electronics Co.Ltd
|
||||
* Author: Joonyoung Shim <jy0922.shim@samsung.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation; either version 2 of the License, or (at your
|
||||
* option) any later version.
|
||||
*/
|
||||
|
||||
#ifndef __SAMSUNG_KEYPAD_H
|
||||
#define __SAMSUNG_KEYPAD_H
|
||||
|
||||
#include <linux/input/matrix_keypad.h>
|
||||
|
||||
#define SAMSUNG_MAX_ROWS 8
|
||||
#define SAMSUNG_MAX_COLS 8
|
||||
|
||||
/**
|
||||
* struct samsung_keypad_platdata - Platform device data for Samsung Keypad.
|
||||
* @keymap_data: pointer to &matrix_keymap_data.
|
||||
* @rows: number of keypad row supported.
|
||||
* @cols: number of keypad col supported.
|
||||
* @no_autorepeat: disable key autorepeat.
|
||||
* @wakeup: controls whether the device should be set up as wakeup source.
|
||||
* @cfg_gpio: configure the GPIO.
|
||||
*
|
||||
* Initialisation data specific to either the machine or the platform
|
||||
* for the device driver to use or call-back when configuring gpio.
|
||||
*/
|
||||
struct samsung_keypad_platdata {
|
||||
const struct matrix_keymap_data *keymap_data;
|
||||
unsigned int rows;
|
||||
unsigned int cols;
|
||||
bool no_autorepeat;
|
||||
bool wakeup;
|
||||
|
||||
void (*cfg_gpio)(unsigned int rows, unsigned int cols);
|
||||
};
|
||||
|
||||
#endif /* __SAMSUNG_KEYPAD_H */
|
||||
44
include/linux/input/tca8418_keypad.h
Normal file
44
include/linux/input/tca8418_keypad.h
Normal file
@@ -0,0 +1,44 @@
|
||||
/*
|
||||
* TCA8418 keypad platform support
|
||||
*
|
||||
* Copyright (C) 2011 Fuel7, Inc. All rights reserved.
|
||||
*
|
||||
* Author: Kyle Manna <kyle.manna@fuel7.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
* License v2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this program; if not, write to the
|
||||
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
* Boston, MA 021110-1307, USA.
|
||||
*
|
||||
* If you can't comply with GPLv2, alternative licensing terms may be
|
||||
* arranged. Please contact Fuel7, Inc. (http://fuel7.com/) for proprietary
|
||||
* alternative licensing inquiries.
|
||||
*/
|
||||
|
||||
#ifndef _TCA8418_KEYPAD_H
|
||||
#define _TCA8418_KEYPAD_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/input/matrix_keypad.h>
|
||||
|
||||
#define TCA8418_I2C_ADDR 0x34
|
||||
#define TCA8418_NAME "tca8418_keypad"
|
||||
|
||||
struct tca8418_keypad_platform_data {
|
||||
const struct matrix_keymap_data *keymap_data;
|
||||
unsigned rows;
|
||||
unsigned cols;
|
||||
bool rep;
|
||||
bool irq_is_gpio;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -96,13 +96,11 @@ struct ucb1400_gpio {
|
||||
|
||||
struct ucb1400_ts {
|
||||
struct input_dev *ts_idev;
|
||||
struct task_struct *ts_task;
|
||||
int id;
|
||||
wait_queue_head_t ts_wait;
|
||||
unsigned int ts_restart:1;
|
||||
int irq;
|
||||
unsigned int irq_pending; /* not bit field shared */
|
||||
struct snd_ac97 *ac97;
|
||||
wait_queue_head_t ts_wait;
|
||||
bool stopped;
|
||||
};
|
||||
|
||||
struct ucb1400 {
|
||||
|
||||
Reference in New Issue
Block a user