bm92t: revert to inline request_irq
This commit is contained in:
1 parent
a409dcbfec
commit
a432aad700
1 file changed
+2
-11
@@ -2496,17 +2496,8 @@ static int bm92t_probe(struct i2c_client *client)
|
|||||||
INIT_DELAYED_WORK(&info->power_work, bm92t_power_work);
|
INIT_DELAYED_WORK(&info->power_work, bm92t_power_work);
|
||||||
|
|
||||||
if (client->irq > 0) {
|
if (client->irq > 0) {
|
||||||
/*
|
if (request_irq(client->irq, bm92t_interrupt_handler,
|
||||||
* Level-triggered (active-low) IRQ wired to BM92T36 ALERT.
|
IRQF_TRIGGER_LOW, "bm92t",
|
||||||
* Use a threaded handler with IRQF_ONESHOT so the line is
|
|
||||||
* masked while bm92t_interrupt_handler runs i2c reads, then
|
|
||||||
* re-enabled after the work clears the controller's status.
|
|
||||||
* Without IRQF_ONESHOT this would re-enter immediately on
|
|
||||||
* the still-asserted line and "irq nobody cared" disable it.
|
|
||||||
*/
|
|
||||||
if (request_threaded_irq(client->irq, NULL,
|
|
||||||
bm92t_interrupt_handler,
|
|
||||||
IRQF_TRIGGER_LOW | IRQF_ONESHOT, "bm92t",
|
|
||||||
info)) {
|
info)) {
|
||||||
dev_err(&client->dev, "Request irq failed\n");
|
dev_err(&client->dev, "Request irq failed\n");
|
||||||
destroy_workqueue(info->event_wq);
|
destroy_workqueue(info->event_wq);
|
||||||
|
|||||||
Reference in new issue
Block a user