From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S966872AbcJZMoy (ORCPT ); Wed, 26 Oct 2016 08:44:54 -0400 Received: from mail-wm0-f49.google.com ([74.125.82.49]:38386 "EHLO mail-wm0-f49.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S966692AbcJZMou (ORCPT ); Wed, 26 Oct 2016 08:44:50 -0400 Date: Wed, 26 Oct 2016 13:47:13 +0100 From: Lee Jones To: Heikki Krogerus Cc: linux-kernel@vger.kernel.org, Bin Gao Subject: Re: [PATCH] mfd: intel_soc_pmic_bxtwc: fix usbc interrupt Message-ID: <20161026124713.GJ11267@dell> References: <20161017073213.19747-1-heikki.krogerus@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20161017073213.19747-1-heikki.krogerus@linux.intel.com> User-Agent: Mutt/1.6.2 (2016-07-01) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 17 Oct 2016, Heikki Krogerus wrote: > The wcove USB Type-C driver is currently being flooded with > interrupts that are not targeted to it. The reason for that > is because all CHRG first level interrupts are mapped to it. > This fixes the issue by introducing separate irq for the > usbc device, and mapping only USB Type-C PHY interrupts to > it. > > Fixes: 9c6235c86332 ("mfd: intel_soc_pmic_bxtwc: Add bxt_wcove_usbc device") > Signed-off-by: Heikki Krogerus > --- > drivers/mfd/intel_soc_pmic_bxtwc.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) Applied, thanks. > diff --git a/drivers/mfd/intel_soc_pmic_bxtwc.c b/drivers/mfd/intel_soc_pmic_bxtwc.c > index 43e54b7..f9a8c52 100644 > --- a/drivers/mfd/intel_soc_pmic_bxtwc.c > +++ b/drivers/mfd/intel_soc_pmic_bxtwc.c > @@ -86,6 +86,7 @@ enum bxtwc_irqs_level2 { > BXTWC_THRM2_IRQ, > BXTWC_BCU_IRQ, > BXTWC_ADC_IRQ, > + BXTWC_USBC_IRQ, > BXTWC_CHGR0_IRQ, > BXTWC_CHGR1_IRQ, > BXTWC_GPIO0_IRQ, > @@ -111,7 +112,8 @@ static const struct regmap_irq bxtwc_regmap_irqs_level2[] = { > REGMAP_IRQ_REG(BXTWC_THRM2_IRQ, 2, 0xff), > REGMAP_IRQ_REG(BXTWC_BCU_IRQ, 3, 0x1f), > REGMAP_IRQ_REG(BXTWC_ADC_IRQ, 4, 0xff), > - REGMAP_IRQ_REG(BXTWC_CHGR0_IRQ, 5, 0x3f), > + REGMAP_IRQ_REG(BXTWC_USBC_IRQ, 5, BIT(5)), > + REGMAP_IRQ_REG(BXTWC_CHGR0_IRQ, 5, 0x1f), > REGMAP_IRQ_REG(BXTWC_CHGR1_IRQ, 6, 0x1f), > REGMAP_IRQ_REG(BXTWC_GPIO0_IRQ, 7, 0xff), > REGMAP_IRQ_REG(BXTWC_GPIO1_IRQ, 8, 0x3f), > @@ -146,7 +148,7 @@ static struct resource adc_resources[] = { > }; > > static struct resource usbc_resources[] = { > - DEFINE_RES_IRQ_NAMED(BXTWC_CHGR0_IRQ, "USBC"), > + DEFINE_RES_IRQ(BXTWC_USBC_IRQ), > }; > > static struct resource charger_resources[] = { -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog