All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nikita Travkin <nikita@trvn.ru>
To: dmitry.torokhov@gmail.com
Cc: robh+dt@kernel.org, Michael.Srba@seznam.cz,
	linus.walleij@linaro.org, broonie@kernel.org,
	linux-input@vger.kernel.org, devicetree@vger.kernel.org,
	phone-devel@vger.kernel.org, linux-kernel@vger.kernel.org,
	~postmarketos/upstreaming@lists.sr.ht,
	Nikita Travkin <nikita@trvn.ru>
Subject: [PATCH 1/6] input: touchscreen: zinitix: Make sure the IRQ is allocated before it gets enabled
Date: Wed, 27 Oct 2021 23:13:45 +0500	[thread overview]
Message-ID: <20211027181350.91630-2-nikita@trvn.ru> (raw)
In-Reply-To: <20211027181350.91630-1-nikita@trvn.ru>

Since irq request is the last thing in the driver probe, it happens
later than the input device registration. This means that there is a
small time window where if the open method is called the driver will
attempt to enable not yet available irq.

Fix that by moving the irq request before the input device registration.

Fixes: 26822652c85e ("Input: add zinitix touchscreen driver")
Signed-off-by: Nikita Travkin <nikita@trvn.ru>
---
 drivers/input/touchscreen/zinitix.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/drivers/input/touchscreen/zinitix.c b/drivers/input/touchscreen/zinitix.c
index b8d901099378..1e70b8d2a8d7 100644
--- a/drivers/input/touchscreen/zinitix.c
+++ b/drivers/input/touchscreen/zinitix.c
@@ -488,6 +488,15 @@ static int zinitix_ts_probe(struct i2c_client *client)
 		return error;
 	}
 
+	error = devm_request_threaded_irq(&client->dev, client->irq,
+					  NULL, zinitix_ts_irq_handler,
+					  IRQF_ONESHOT | IRQF_NO_AUTOEN,
+					  client->name, bt541);
+	if (error) {
+		dev_err(&client->dev, "Failed to request IRQ: %d\n", error);
+		return error;
+	}
+
 	error = zinitix_init_input_dev(bt541);
 	if (error) {
 		dev_err(&client->dev,
@@ -513,15 +522,6 @@ static int zinitix_ts_probe(struct i2c_client *client)
 		return -EINVAL;
 	}
 
-	error = devm_request_threaded_irq(&client->dev, client->irq,
-					  NULL, zinitix_ts_irq_handler,
-					  IRQF_ONESHOT | IRQF_NO_AUTOEN,
-					  client->name, bt541);
-	if (error) {
-		dev_err(&client->dev, "Failed to request IRQ: %d\n", error);
-		return error;
-	}
-
 	return 0;
 }
 
-- 
2.30.2


  reply	other threads:[~2021-10-27 18:25 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-27 18:13 [PATCH 0/6] Add touch-keys support to the Zinitix touch driver Nikita Travkin
2021-10-27 18:13 ` Nikita Travkin [this message]
2021-11-09  4:37   ` [PATCH 1/6] input: touchscreen: zinitix: Make sure the IRQ is allocated before it gets enabled Linus Walleij
2021-10-27 18:13 ` [PATCH 2/6] dt-bindings: input/ts/zinitix: Convert to YAML, fix and extend Nikita Travkin
2021-11-01 21:39   ` Rob Herring
2021-11-09  4:39   ` Linus Walleij
2021-10-27 18:13 ` [PATCH 3/6] Input: zinitix - Handle proper supply names Nikita Travkin
2021-10-27 18:30   ` Luca Weiss
2021-10-27 18:13 ` [PATCH 4/6] input: touchscreen: zinitix: Add compatible for bt532 Nikita Travkin
2021-11-09  4:41   ` Linus Walleij
2021-10-27 18:13 ` [PATCH 5/6] dt-bindings: input: zinitix: Document touch-keys support Nikita Travkin
2021-10-27 18:33   ` Luca Weiss
2021-10-27 18:54     ` Nikita Travkin
2021-11-01 21:41   ` Rob Herring
2021-10-27 18:13 ` [PATCH 6/6] input: touchscreen: zinitix: Add touchkey support Nikita Travkin
2021-11-09  4:42   ` Linus Walleij
2021-11-10  6:01   ` kernel test robot
2021-11-10  6:01     ` kernel test robot
2021-11-09  4:45 ` [PATCH 0/6] Add touch-keys support to the Zinitix touch driver Linus Walleij
2021-11-09 15:23   ` Nikita Travkin
2021-11-11 10:40     ` Linus Walleij
2022-01-04 21:04 ` Linus Walleij
2022-01-05  5:10   ` Nikita Travkin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20211027181350.91630-2-nikita@trvn.ru \
    --to=nikita@trvn.ru \
    --cc=Michael.Srba@seznam.cz \
    --cc=broonie@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dmitry.torokhov@gmail.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=phone-devel@vger.kernel.org \
    --cc=robh+dt@kernel.org \
    --cc=~postmarketos/upstreaming@lists.sr.ht \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.