Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1642256

[PATCH v2] iio: adc: bcm_iproc_adc: swap primary and secondary isr handler's

Path csiph.com!aioe.org!bofh.it!news.nic.it!robomod
From Raveendra Padasalagi <raveendra.padasalagi@broadcom.com>
Newsgroups linux.kernel
Subject [PATCH v2] iio: adc: bcm_iproc_adc: swap primary and secondary isr handler's
Date Tue, 16 May 2017 09:00:01 +0200
Message-ID <tHECB-2bV-5@gated-at.bofh.it> (permalink)
X-Original-To Jonathan Cameron <jic23@kernel.org>, Pavel Roskin <plroskin@gmail.com>, Hartmut Knaack <knaack.h@gmx.de>, Lars-Peter Clausen <lars@metafoo.de>, Peter Meerwald-Stadler <pmeerw@pmeerw.net>, Ray Jui <rjui@broadcom.com>, Scott Branden <sbranden@broadcom.com>
Dkim-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id; bh=qKGcdp645eMLqoDkopsSLvGoIS0DJhOx9aQlWQ/qouY=; b=adrijMZcHLzC4k7VMgz0/NQQXpx9648Q5dcyMVXXsm7d4PMhXoK8lnjyhljMITopvN XGmOm+eWhDUixxrCGW5g603y6q25IwjCG0C1zPfis+hT4gr8bq9hb/Tn6BmTG38qDvWF 6zdEJtWQPIW2rx2ekKcamB4g7l/cRsEJH7O0o=
X-Google-Dkim-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=qKGcdp645eMLqoDkopsSLvGoIS0DJhOx9aQlWQ/qouY=; b=t/utKSYs49flhtkjU/ndQhi7NmA1FRYdzElgromULjFnyQuH6kKZGfNkbHxXARH/JA vYLUav863uVAtr60Y+5I+QQbKk4V6pJcSKRmXCMgG0Cp/WGc94yrk2qKPiPllUY4Alqs 3j1esWSnZBgrVJYNqFHXM1NKswYpWvQEd+mkh0mLkQ8jimn/2NlHqnxM0YKM8l67Vm18 2CGYVJ9uWBAJsYtIXft+8peMGwnmjxY67va3LJJDxMF6pZ3orYKop0owlqTv1kLKSJen F5LeMUejXHWVG7hYeKrseEOJGikoS7YJkTilpk4XGp/UuZCIqem0oBJd2Z5vq/enDAIn GalQ==
X-Gm-Message-State AODbwcCOBj1dFf42ASL4cWG6E7a6XtGk1tXuH6IJoNT8VPZnyREDC6KZ N9UFQ1LAFymF5yNv
X-Received by 10.28.173.65 with SMTP id w62mr6617418wme.48.1494917575734; Mon, 15 May 2017 23:52:55 -0700 (PDT)
X-Mailer git-send-email 1.9.1
Sender robomod@news.nic.it
List-ID <linux-kernel.vger.kernel.org>
X-Mailing-List linux-kernel@vger.kernel.org
Approved robomod@news.nic.it
Lines 68
Organization linux.* mail to news gateway
X-Original-Cc linux-iio@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Raveendra Padasalagi <raveendra.padasalagi@broadcom.com>, stable@vger.kernel.org
X-Original-Date Tue, 16 May 2017 12:22:42 +0530
X-Original-Message-ID <1494917562-31439-1-git-send-email-raveendra.padasalagi@broadcom.com>
X-Original-Sender linux-kernel-owner@vger.kernel.org
Xref csiph.com linux.kernel:1642256

Show key headers only | View raw


The third argument of devm_request_threaded_irq() is the primary
handler. It is called in hardirq context and checks whether the
interrupt is relevant to the device. If the primary handler returns
IRQ_WAKE_THREAD, the secondary handler (a.k.a. handler thread) is
scheduled to run in process context.

bcm_iproc_adc.c uses the secondary handler as the primary one
and the other way around. So this patch fixes the same, along with
re-naming the secondary handler and primary handler names properly.

Tested on the BCM9583XX iProc SoC based boards.

Fixes: 4324c97ecedc ("iio: Add driver for Broadcom iproc-static-adc")
Reported-by: Pavel Roskin <plroskin@gmail.com>
Signed-off-by: Raveendra Padasalagi <raveendra.padasalagi@broadcom.com>
Cc: stable@vger.kernel.org
---

Changes in v2:
 - Added Cc tag in the Signed-off area to send the patch to stable kernel
 - Fixes tag corrected with proper formatting

 drivers/iio/adc/bcm_iproc_adc.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/iio/adc/bcm_iproc_adc.c b/drivers/iio/adc/bcm_iproc_adc.c
index 21d38c8..7f4f9c4 100644
--- a/drivers/iio/adc/bcm_iproc_adc.c
+++ b/drivers/iio/adc/bcm_iproc_adc.c
@@ -143,7 +143,7 @@ static void iproc_adc_reg_dump(struct iio_dev *indio_dev)
 	iproc_adc_dbg_reg(dev, adc_priv, IPROC_SOFT_BYPASS_DATA);
 }
 
-static irqreturn_t iproc_adc_interrupt_handler(int irq, void *data)
+static irqreturn_t iproc_adc_interrupt_thread(int irq, void *data)
 {
 	u32 channel_intr_status;
 	u32 intr_status;
@@ -167,7 +167,7 @@ static irqreturn_t iproc_adc_interrupt_handler(int irq, void *data)
 	return IRQ_NONE;
 }
 
-static irqreturn_t iproc_adc_interrupt_thread(int irq, void *data)
+static irqreturn_t iproc_adc_interrupt_handler(int irq, void *data)
 {
 	irqreturn_t retval = IRQ_NONE;
 	struct iproc_adc_priv *adc_priv;
@@ -181,7 +181,7 @@ static irqreturn_t iproc_adc_interrupt_thread(int irq, void *data)
 	adc_priv = iio_priv(indio_dev);
 
 	regmap_read(adc_priv->regmap, IPROC_INTERRUPT_STATUS, &intr_status);
-	dev_dbg(&indio_dev->dev, "iproc_adc_interrupt_thread(),INTRPT_STS:%x\n",
+	dev_dbg(&indio_dev->dev, "iproc_adc_interrupt_handler(),INTRPT_STS:%x\n",
 			intr_status);
 
 	intr_channels = (intr_status & IPROC_ADC_INTR_MASK) >> IPROC_ADC_INTR;
@@ -566,8 +566,8 @@ static int iproc_adc_probe(struct platform_device *pdev)
 	}
 
 	ret = devm_request_threaded_irq(&pdev->dev, adc_priv->irqno,
-				iproc_adc_interrupt_thread,
 				iproc_adc_interrupt_handler,
+				iproc_adc_interrupt_thread,
 				IRQF_SHARED, "iproc-adc", indio_dev);
 	if (ret) {
 		dev_err(&pdev->dev, "request_irq error %d\n", ret);
-- 
1.9.1

Back to linux.kernel | Previous | Next — Next in thread | Find similar | Unroll thread


Thread

[PATCH v2] iio: adc: bcm_iproc_adc: swap primary and secondary isr handler's Raveendra Padasalagi <raveendra.padasalagi@broadcom.com> - 2017-05-16 09:00 +0200
  Re: [PATCH v2] iio: adc: bcm_iproc_adc: swap primary and secondary  isr handler's Jonathan Cameron <jic23@kernel.org> - 2017-05-21 14:10 +0200

csiph-web