From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754904AbbG1IFa (ORCPT ); Tue, 28 Jul 2015 04:05:30 -0400 Received: from mail-wi0-f178.google.com ([209.85.212.178]:33981 "EHLO mail-wi0-f178.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754890AbbG1IFS (ORCPT ); Tue, 28 Jul 2015 04:05:18 -0400 Date: Tue, 28 Jul 2015 09:05:13 +0100 From: Lee Jones To: Thomas Gleixner Cc: LKML , Jiang Liu , Samuel Ortiz , Russell King , Julia Lawall Subject: Re: [patch 4/9] mfd/pm8921: Consolidate chained IRQ handler install/remove Message-ID: <20150728080513.GE14943@x1> References: <20150712225758.573960291@linutronix.de> <20150712225929.739294107@linutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20150712225929.739294107@linutronix.de> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 13 Jul 2015, Thomas Gleixner wrote: > Chained irq handlers usually set up handler data as well. We now have > a function to set both under irq_desc->lock. Replace the two calls > with one. > > Reported-by: Russell King > Signed-off-by: Thomas Gleixner > Cc: Julia Lawall > Cc: Samuel Ortiz > Cc: Lee Jones > --- > drivers/mfd/pm8921-core.c | 9 +++------ > 1 file changed, 3 insertions(+), 6 deletions(-) Applied, thanks. > Index: tip/drivers/mfd/pm8921-core.c > =================================================================== > --- tip.orig/drivers/mfd/pm8921-core.c > +++ tip/drivers/mfd/pm8921-core.c > @@ -336,14 +336,12 @@ static int pm8921_probe(struct platform_ > if (!chip->irqdomain) > return -ENODEV; > > - irq_set_handler_data(irq, chip); > - irq_set_chained_handler(irq, pm8xxx_irq_handler); > + irq_set_chained_handler_and_data(irq, pm8xxx_irq_handler, chip); > irq_set_irq_wake(irq, 1); > > rc = of_platform_populate(pdev->dev.of_node, NULL, NULL, &pdev->dev); > if (rc) { > - irq_set_chained_handler(irq, NULL); > - irq_set_handler_data(irq, NULL); > + irq_set_chained_handler_and_data(irq, NULL, NULL); > irq_domain_remove(chip->irqdomain); > } > > @@ -362,8 +360,7 @@ static int pm8921_remove(struct platform > struct pm_irq_chip *chip = platform_get_drvdata(pdev); > > device_for_each_child(&pdev->dev, NULL, pm8921_remove_child); > - irq_set_chained_handler(irq, NULL); > - irq_set_handler_data(irq, NULL); > + irq_set_chained_handler_and_data(irq, NULL, NULL); > irq_domain_remove(chip->irqdomain); > > return 0; > > -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog