mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
Pull input update from Dmitry Torokhov: "Updates for the input subsystem. Just a couple of driver fixes this time." * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: gpio_keys - defer probing if GPIO probing is deferred Input: gpio_keys_polled - defer probing if GPIO probing is deferred Input: sentelic - only report position of first finger as ST coordinates
This commit is contained in:
commit
6ed1914982
@ -602,6 +602,7 @@ gpio_keys_get_devtree_pdata(struct device *dev)
|
||||
|
||||
i = 0;
|
||||
for_each_child_of_node(node, pp) {
|
||||
int gpio;
|
||||
enum of_gpio_flags flags;
|
||||
|
||||
if (!of_find_property(pp, "gpios", NULL)) {
|
||||
@ -610,9 +611,19 @@ gpio_keys_get_devtree_pdata(struct device *dev)
|
||||
continue;
|
||||
}
|
||||
|
||||
gpio = of_get_gpio_flags(pp, 0, &flags);
|
||||
if (gpio < 0) {
|
||||
error = gpio;
|
||||
if (error != -EPROBE_DEFER)
|
||||
dev_err(dev,
|
||||
"Failed to get gpio flags, error: %d\n",
|
||||
error);
|
||||
goto err_free_pdata;
|
||||
}
|
||||
|
||||
button = &pdata->buttons[i++];
|
||||
|
||||
button->gpio = of_get_gpio_flags(pp, 0, &flags);
|
||||
button->gpio = gpio;
|
||||
button->active_low = flags & OF_GPIO_ACTIVE_LOW;
|
||||
|
||||
if (of_property_read_u32(pp, "linux,code", &button->code)) {
|
||||
|
@ -135,6 +135,7 @@ static struct gpio_keys_platform_data *gpio_keys_polled_get_devtree_pdata(struct
|
||||
|
||||
i = 0;
|
||||
for_each_child_of_node(node, pp) {
|
||||
int gpio;
|
||||
enum of_gpio_flags flags;
|
||||
|
||||
if (!of_find_property(pp, "gpios", NULL)) {
|
||||
@ -143,9 +144,19 @@ static struct gpio_keys_platform_data *gpio_keys_polled_get_devtree_pdata(struct
|
||||
continue;
|
||||
}
|
||||
|
||||
gpio = of_get_gpio_flags(pp, 0, &flags);
|
||||
if (gpio < 0) {
|
||||
error = gpio;
|
||||
if (error != -EPROBE_DEFER)
|
||||
dev_err(dev,
|
||||
"Failed to get gpio flags, error: %d\n",
|
||||
error);
|
||||
goto err_free_pdata;
|
||||
}
|
||||
|
||||
button = &pdata->buttons[i++];
|
||||
|
||||
button->gpio = of_get_gpio_flags(pp, 0, &flags);
|
||||
button->gpio = gpio;
|
||||
button->active_low = flags & OF_GPIO_ACTIVE_LOW;
|
||||
|
||||
if (of_property_read_u32(pp, "linux,code", &button->code)) {
|
||||
|
@ -791,7 +791,7 @@ static psmouse_ret_t fsp_process_byte(struct psmouse *psmouse)
|
||||
fsp_set_slot(dev, 0, fgrs > 0, abs_x, abs_y);
|
||||
fsp_set_slot(dev, 1, false, 0, 0);
|
||||
}
|
||||
if (fgrs > 0) {
|
||||
if (fgrs == 1 || (fgrs == 2 && !(packet[0] & FSP_PB0_MFMC_FGR2))) {
|
||||
input_report_abs(dev, ABS_X, abs_x);
|
||||
input_report_abs(dev, ABS_Y, abs_y);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user