Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
3c3416ab
Commit
3c3416ab
authored
Jul 07, 2012
by
Dmitry Torokhov
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'for-linus' to bring in change ensuring that drivers that
use threaded IRQs use IRQF_ONESHOT.
parents
333fbe84
9b7e31bb
Changes
19
Show whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
39 additions
and
25 deletions
+39
-25
drivers/input/joystick/as5011.c
drivers/input/joystick/as5011.c
+3
-2
drivers/input/keyboard/mcs_touchkey.c
drivers/input/keyboard/mcs_touchkey.c
+2
-1
drivers/input/keyboard/mpr121_touchkey.c
drivers/input/keyboard/mpr121_touchkey.c
+1
-1
drivers/input/keyboard/qt1070.c
drivers/input/keyboard/qt1070.c
+2
-1
drivers/input/keyboard/tca6416-keypad.c
drivers/input/keyboard/tca6416-keypad.c
+2
-1
drivers/input/keyboard/tca8418_keypad.c
drivers/input/keyboard/tca8418_keypad.c
+1
-1
drivers/input/keyboard/tnetv107x-keypad.c
drivers/input/keyboard/tnetv107x-keypad.c
+4
-4
drivers/input/misc/ad714x.c
drivers/input/misc/ad714x.c
+5
-3
drivers/input/misc/dm355evm_keys.c
drivers/input/misc/dm355evm_keys.c
+2
-1
drivers/input/tablet/wacom_sys.c
drivers/input/tablet/wacom_sys.c
+4
-2
drivers/input/touchscreen/ad7879.c
drivers/input/touchscreen/ad7879.c
+1
-1
drivers/input/touchscreen/atmel_mxt_ts.c
drivers/input/touchscreen/atmel_mxt_ts.c
+2
-1
drivers/input/touchscreen/bu21013_ts.c
drivers/input/touchscreen/bu21013_ts.c
+2
-1
drivers/input/touchscreen/cy8ctmg110_ts.c
drivers/input/touchscreen/cy8ctmg110_ts.c
+2
-1
drivers/input/touchscreen/intel-mid-touch.c
drivers/input/touchscreen/intel-mid-touch.c
+1
-1
drivers/input/touchscreen/pixcir_i2c_ts.c
drivers/input/touchscreen/pixcir_i2c_ts.c
+1
-1
drivers/input/touchscreen/tnetv107x-ts.c
drivers/input/touchscreen/tnetv107x-ts.c
+1
-1
drivers/input/touchscreen/tsc2005.c
drivers/input/touchscreen/tsc2005.c
+2
-1
include/linux/input.h
include/linux/input.h
+1
-0
No files found.
drivers/input/joystick/as5011.c
View file @
3c3416ab
...
...
@@ -282,7 +282,8 @@ static int __devinit as5011_probe(struct i2c_client *client,
error
=
request_threaded_irq
(
as5011
->
button_irq
,
NULL
,
as5011_button_interrupt
,
IRQF_TRIGGER_RISING
|
IRQF_TRIGGER_FALLING
,
IRQF_TRIGGER_RISING
|
IRQF_TRIGGER_FALLING
|
IRQF_ONESHOT
,
"as5011_button"
,
as5011
);
if
(
error
<
0
)
{
dev_err
(
&
client
->
dev
,
...
...
@@ -296,7 +297,7 @@ static int __devinit as5011_probe(struct i2c_client *client,
error
=
request_threaded_irq
(
as5011
->
axis_irq
,
NULL
,
as5011_axis_interrupt
,
plat_data
->
axis_irqflags
,
plat_data
->
axis_irqflags
|
IRQF_ONESHOT
,
"as5011_joystick"
,
as5011
);
if
(
error
)
{
dev_err
(
&
client
->
dev
,
...
...
drivers/input/keyboard/mcs_touchkey.c
View file @
3c3416ab
...
...
@@ -178,7 +178,8 @@ static int __devinit mcs_touchkey_probe(struct i2c_client *client,
}
error
=
request_threaded_irq
(
client
->
irq
,
NULL
,
mcs_touchkey_interrupt
,
IRQF_TRIGGER_FALLING
,
client
->
dev
.
driver
->
name
,
data
);
IRQF_TRIGGER_FALLING
|
IRQF_ONESHOT
,
client
->
dev
.
driver
->
name
,
data
);
if
(
error
)
{
dev_err
(
&
client
->
dev
,
"Failed to register interrupt
\n
"
);
goto
err_free_mem
;
...
...
drivers/input/keyboard/mpr121_touchkey.c
View file @
3c3416ab
...
...
@@ -248,7 +248,7 @@ static int __devinit mpr_touchkey_probe(struct i2c_client *client,
error
=
request_threaded_irq
(
client
->
irq
,
NULL
,
mpr_touchkey_interrupt
,
IRQF_TRIGGER_FALLING
,
IRQF_TRIGGER_FALLING
|
IRQF_ONESHOT
,
client
->
dev
.
driver
->
name
,
mpr121
);
if
(
error
)
{
dev_err
(
&
client
->
dev
,
"Failed to register interrupt
\n
"
);
...
...
drivers/input/keyboard/qt1070.c
View file @
3c3416ab
...
...
@@ -201,7 +201,8 @@ static int __devinit qt1070_probe(struct i2c_client *client,
msleep
(
QT1070_RESET_TIME
);
err
=
request_threaded_irq
(
client
->
irq
,
NULL
,
qt1070_interrupt
,
IRQF_TRIGGER_NONE
,
client
->
dev
.
driver
->
name
,
data
);
IRQF_TRIGGER_NONE
|
IRQF_ONESHOT
,
client
->
dev
.
driver
->
name
,
data
);
if
(
err
)
{
dev_err
(
&
client
->
dev
,
"fail to request irq
\n
"
);
goto
err_free_mem
;
...
...
drivers/input/keyboard/tca6416-keypad.c
View file @
3c3416ab
...
...
@@ -278,7 +278,8 @@ static int __devinit tca6416_keypad_probe(struct i2c_client *client,
error
=
request_threaded_irq
(
chip
->
irqnum
,
NULL
,
tca6416_keys_isr
,
IRQF_TRIGGER_FALLING
,
IRQF_TRIGGER_FALLING
|
IRQF_ONESHOT
,
"tca6416-keypad"
,
chip
);
if
(
error
)
{
dev_dbg
(
&
client
->
dev
,
...
...
drivers/input/keyboard/tca8418_keypad.c
View file @
3c3416ab
...
...
@@ -360,7 +360,7 @@ static int __devinit tca8418_keypad_probe(struct i2c_client *client,
client
->
irq
=
gpio_to_irq
(
client
->
irq
);
error
=
request_threaded_irq
(
client
->
irq
,
NULL
,
tca8418_irq_handler
,
IRQF_TRIGGER_FALLING
,
IRQF_TRIGGER_FALLING
|
IRQF_ONESHOT
,
client
->
name
,
keypad_data
);
if
(
error
)
{
dev_dbg
(
&
client
->
dev
,
...
...
drivers/input/keyboard/tnetv107x-keypad.c
View file @
3c3416ab
...
...
@@ -227,15 +227,15 @@ static int __devinit keypad_probe(struct platform_device *pdev)
goto
error_clk
;
}
error
=
request_threaded_irq
(
kp
->
irq_press
,
NULL
,
keypad_irq
,
0
,
dev_name
(
dev
),
kp
);
error
=
request_threaded_irq
(
kp
->
irq_press
,
NULL
,
keypad_irq
,
IRQF_ONESHOT
,
dev_name
(
dev
),
kp
);
if
(
error
<
0
)
{
dev_err
(
kp
->
dev
,
"Could not allocate keypad press key irq
\n
"
);
goto
error_irq_press
;
}
error
=
request_threaded_irq
(
kp
->
irq_release
,
NULL
,
keypad_irq
,
0
,
dev_name
(
dev
),
kp
);
error
=
request_threaded_irq
(
kp
->
irq_release
,
NULL
,
keypad_irq
,
IRQF_ONESHOT
,
dev_name
(
dev
),
kp
);
if
(
error
<
0
)
{
dev_err
(
kp
->
dev
,
"Could not allocate keypad release key irq
\n
"
);
goto
error_irq_release
;
...
...
drivers/input/misc/ad714x.c
View file @
3c3416ab
...
...
@@ -972,6 +972,7 @@ struct ad714x_chip *ad714x_probe(struct device *dev, u16 bus_type, int irq,
struct
ad714x_platform_data
*
plat_data
=
dev
->
platform_data
;
struct
ad714x_chip
*
ad714x
;
void
*
drv_mem
;
unsigned
long
irqflags
;
struct
ad714x_button_drv
*
bt_drv
;
struct
ad714x_slider_drv
*
sd_drv
;
...
...
@@ -1162,10 +1163,11 @@ struct ad714x_chip *ad714x_probe(struct device *dev, u16 bus_type, int irq,
alloc_idx
++
;
}
irqflags
=
plat_data
->
irqflags
?:
IRQF_TRIGGER_FALLING
;
irqflags
|=
IRQF_ONESHOT
;
error
=
request_threaded_irq
(
ad714x
->
irq
,
NULL
,
ad714x_interrupt_thread
,
plat_data
->
irqflags
?
plat_data
->
irqflags
:
IRQF_TRIGGER_FALLING
,
"ad714x_captouch"
,
ad714x
);
irqflags
,
"ad714x_captouch"
,
ad714x
);
if
(
error
)
{
dev_err
(
dev
,
"can't allocate irq %d
\n
"
,
ad714x
->
irq
);
goto
err_unreg_dev
;
...
...
drivers/input/misc/dm355evm_keys.c
View file @
3c3416ab
...
...
@@ -213,7 +213,8 @@ static int __devinit dm355evm_keys_probe(struct platform_device *pdev)
/* REVISIT: flush the event queue? */
status
=
request_threaded_irq
(
keys
->
irq
,
NULL
,
dm355evm_keys_irq
,
IRQF_TRIGGER_FALLING
,
dev_name
(
&
pdev
->
dev
),
keys
);
IRQF_TRIGGER_FALLING
|
IRQF_ONESHOT
,
dev_name
(
&
pdev
->
dev
),
keys
);
if
(
status
<
0
)
goto
fail2
;
...
...
drivers/input/tablet/wacom_sys.c
View file @
3c3416ab
...
...
@@ -216,7 +216,7 @@ static void wacom_retrieve_report_data(struct usb_interface *intf,
rep_data
[
0
]
=
12
;
result
=
wacom_get_report
(
intf
,
WAC_HID_FEATURE_REPORT
,
rep_data
[
0
],
&
rep_data
,
2
,
rep_data
[
0
],
rep_data
,
2
,
WAC_MSG_RETRIES
);
if
(
result
>=
0
&&
rep_data
[
1
]
>
2
)
...
...
@@ -401,6 +401,8 @@ static int wacom_parse_hid(struct usb_interface *intf,
break
;
case
HID_USAGE_CONTACTMAX
:
/* leave touch_max as is if predefined */
if
(
!
features
->
touch_max
)
wacom_retrieve_report_data
(
intf
,
features
);
i
++
;
break
;
...
...
drivers/input/touchscreen/ad7879.c
View file @
3c3416ab
...
...
@@ -602,7 +602,7 @@ struct ad7879 *ad7879_probe(struct device *dev, u8 devid, unsigned int irq,
AD7879_TMR
(
ts
->
pen_down_acc_interval
);
err
=
request_threaded_irq
(
ts
->
irq
,
NULL
,
ad7879_irq
,
IRQF_TRIGGER_FALLING
,
IRQF_TRIGGER_FALLING
|
IRQF_ONESHOT
,
dev_name
(
dev
),
ts
);
if
(
err
)
{
dev_err
(
dev
,
"irq %d busy?
\n
"
,
ts
->
irq
);
...
...
drivers/input/touchscreen/atmel_mxt_ts.c
View file @
3c3416ab
...
...
@@ -1149,7 +1149,8 @@ static int __devinit mxt_probe(struct i2c_client *client,
goto
err_free_object
;
error
=
request_threaded_irq
(
client
->
irq
,
NULL
,
mxt_interrupt
,
pdata
->
irqflags
,
client
->
dev
.
driver
->
name
,
data
);
pdata
->
irqflags
|
IRQF_ONESHOT
,
client
->
dev
.
driver
->
name
,
data
);
if
(
error
)
{
dev_err
(
&
client
->
dev
,
"Failed to register interrupt
\n
"
);
goto
err_free_object
;
...
...
drivers/input/touchscreen/bu21013_ts.c
View file @
3c3416ab
...
...
@@ -509,7 +509,8 @@ static int __devinit bu21013_probe(struct i2c_client *client,
input_set_drvdata
(
in_dev
,
bu21013_data
);
error
=
request_threaded_irq
(
pdata
->
irq
,
NULL
,
bu21013_gpio_irq
,
IRQF_TRIGGER_FALLING
|
IRQF_SHARED
,
IRQF_TRIGGER_FALLING
|
IRQF_SHARED
|
IRQF_ONESHOT
,
DRIVER_TP
,
bu21013_data
);
if
(
error
)
{
dev_err
(
&
client
->
dev
,
"request irq %d failed
\n
"
,
pdata
->
irq
);
...
...
drivers/input/touchscreen/cy8ctmg110_ts.c
View file @
3c3416ab
...
...
@@ -251,7 +251,8 @@ static int __devinit cy8ctmg110_probe(struct i2c_client *client,
}
err
=
request_threaded_irq
(
client
->
irq
,
NULL
,
cy8ctmg110_irq_thread
,
IRQF_TRIGGER_RISING
,
"touch_reset_key"
,
ts
);
IRQF_TRIGGER_RISING
|
IRQF_ONESHOT
,
"touch_reset_key"
,
ts
);
if
(
err
<
0
)
{
dev_err
(
&
client
->
dev
,
"irq %d busy? error %d
\n
"
,
client
->
irq
,
err
);
...
...
drivers/input/touchscreen/intel-mid-touch.c
View file @
3c3416ab
...
...
@@ -620,7 +620,7 @@ static int __devinit mrstouch_probe(struct platform_device *pdev)
MRST_PRESSURE_MIN
,
MRST_PRESSURE_MAX
,
0
,
0
);
err
=
request_threaded_irq
(
tsdev
->
irq
,
NULL
,
mrstouch_pendet_irq
,
0
,
"mrstouch"
,
tsdev
);
IRQF_ONESHOT
,
"mrstouch"
,
tsdev
);
if
(
err
)
{
dev_err
(
tsdev
->
dev
,
"unable to allocate irq
\n
"
);
goto
err_free_mem
;
...
...
drivers/input/touchscreen/pixcir_i2c_ts.c
View file @
3c3416ab
...
...
@@ -165,7 +165,7 @@ static int __devinit pixcir_i2c_ts_probe(struct i2c_client *client,
input_set_drvdata
(
input
,
tsdata
);
error
=
request_threaded_irq
(
client
->
irq
,
NULL
,
pixcir_ts_isr
,
IRQF_TRIGGER_FALLING
,
IRQF_TRIGGER_FALLING
|
IRQF_ONESHOT
,
client
->
name
,
tsdata
);
if
(
error
)
{
dev_err
(
&
client
->
dev
,
"Unable to request touchscreen IRQ.
\n
"
);
...
...
drivers/input/touchscreen/tnetv107x-ts.c
View file @
3c3416ab
...
...
@@ -297,7 +297,7 @@ static int __devinit tsc_probe(struct platform_device *pdev)
goto
error_clk
;
}
error
=
request_threaded_irq
(
ts
->
tsc_irq
,
NULL
,
tsc_irq
,
0
,
error
=
request_threaded_irq
(
ts
->
tsc_irq
,
NULL
,
tsc_irq
,
IRQF_ONESHOT
,
dev_name
(
dev
),
ts
);
if
(
error
<
0
)
{
dev_err
(
ts
->
dev
,
"Could not allocate ts irq
\n
"
);
...
...
drivers/input/touchscreen/tsc2005.c
View file @
3c3416ab
...
...
@@ -650,7 +650,8 @@ static int __devinit tsc2005_probe(struct spi_device *spi)
tsc2005_stop_scan
(
ts
);
error
=
request_threaded_irq
(
spi
->
irq
,
NULL
,
tsc2005_irq_thread
,
IRQF_TRIGGER_RISING
,
"tsc2005"
,
ts
);
IRQF_TRIGGER_RISING
|
IRQF_ONESHOT
,
"tsc2005"
,
ts
);
if
(
error
)
{
dev_err
(
&
spi
->
dev
,
"Failed to request irq, err: %d
\n
"
,
error
);
goto
err_free_mem
;
...
...
include/linux/input.h
View file @
3c3416ab
...
...
@@ -116,6 +116,7 @@ struct input_keymap_entry {
/**
* EVIOCGMTSLOTS(len) - get MT slot values
* @len: size of the data buffer in bytes
*
* The ioctl buffer argument should be binary equivalent to
*
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment