From patchwork Wed Aug 2 07:51:25 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 796530 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-gpio-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=bgdev-pl.20150623.gappssmtp.com header.i=@bgdev-pl.20150623.gappssmtp.com header.b="1EnJtyWt"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3xMll94gD0z9sRW for ; Wed, 2 Aug 2017 17:52:05 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751894AbdHBHvv (ORCPT ); Wed, 2 Aug 2017 03:51:51 -0400 Received: from mail-wr0-f172.google.com ([209.85.128.172]:35773 "EHLO mail-wr0-f172.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751999AbdHBHvq (ORCPT ); Wed, 2 Aug 2017 03:51:46 -0400 Received: by mail-wr0-f172.google.com with SMTP id k71so15373610wrc.2 for ; Wed, 02 Aug 2017 00:51:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=kpQrhfrp66Ik2yg2dk3JTWP/DMFjNoXGK513dnGgmD8=; b=1EnJtyWtttHd3RSJPU2EY8/WEFp0M0BoqlHqvxql1gglMt1oTh25F0NgDnKgUy3fyt wjNY7/5iJyb/KZKP2HP7/I6C07HJFCfoVBZBpe3cFnXG+BbrnboMVWrwrOY/ojGNqTk7 2XxIv62NA2vrf0V6iGJuTq9mHC/JSQ/ID3bQfQqmSJdYqHwJZDpuZ4uV28JRPYVw4rzh +G9caatNndTlYfmvGVBWC4AZKO9AHmuPsqYRGIWswPOis5BFyX42NI8LZ8tU89wfzRyW hcjYkbdiL4WSpZCRIjuQXaGzGoStcFKkuZ3L4XhlwUz5WjNLgvw9yhTiQ2PvKdSP7ILx naeA== 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:in-reply-to :references; bh=kpQrhfrp66Ik2yg2dk3JTWP/DMFjNoXGK513dnGgmD8=; b=PISk+q+ko44LJLOFQMNtYP7fgrR5/4nzWvXQfDI4JwnG3lKlGv2ckq1cNwdbRAnbWH cAaoHBiozHtTCdCDAHpfmH5ZH0TfUvtHp8yPJqY1D2QlB522jVGaJlSZCCWJ7msq71i/ 7F+707H2kdmAEDyUJfPAZ2aoSFRpgeHtHvzKJ3KlLMBhTjWsCUuTl0ly31lmXOLM+qkW Yili4sGgPmejtLC0YUknduqARav8nKgzzh+zQsWNehKMZ93CHDKMOk/R2WYV7ou+Vr+k jmjABfHq0R/BT29Q5WBvKvEtLaQhSvWc8pUlGRFP5VQHmBAJ+wYuU8D5CtNv7eehICc7 Q/ZQ== X-Gm-Message-State: AIVw110z6Gc+hsjVt/vmQURLLHSPeWH2noAPOKfqAzcfR/Jeeb83XoJF NRXL+BT+dX/ToGNdmGZT7w== X-Received: by 10.223.152.47 with SMTP id v44mr16871980wrb.60.1501660305312; Wed, 02 Aug 2017 00:51:45 -0700 (PDT) Received: from localhost.localdomain ([90.63.244.31]) by smtp.gmail.com with ESMTPSA id j29sm15465741wrb.9.2017.08.02.00.51.44 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 02 Aug 2017 00:51:44 -0700 (PDT) From: Bartosz Golaszewski To: Linus Walleij Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski Subject: [PATCH 5/6] gpio: mxs: use devres for irq generic chip Date: Wed, 2 Aug 2017 09:51:25 +0200 Message-Id: <20170802075126.17637-6-brgl@bgdev.pl> X-Mailer: git-send-email 2.13.2 In-Reply-To: <20170802075126.17637-1-brgl@bgdev.pl> References: <20170802075126.17637-1-brgl@bgdev.pl> Sender: linux-gpio-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-gpio@vger.kernel.org Use resource managed variants of irq_alloc_generic_chip() and irq_setup_generic_chip(). Signed-off-by: Bartosz Golaszewski --- drivers/gpio/gpio-mxs.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/drivers/gpio/gpio-mxs.c b/drivers/gpio/gpio-mxs.c index 6ae583f36733..f7c645f7dae5 100644 --- a/drivers/gpio/gpio-mxs.c +++ b/drivers/gpio/gpio-mxs.c @@ -66,6 +66,7 @@ struct mxs_gpio_port { int irq; struct irq_domain *domain; struct gpio_chip gc; + struct device *dev; enum mxs_gpio_id devid; u32 both_edges; }; @@ -209,9 +210,10 @@ static int mxs_gpio_init_gc(struct mxs_gpio_port *port, int irq_base) { struct irq_chip_generic *gc; struct irq_chip_type *ct; + int rv; - gc = irq_alloc_generic_chip("gpio-mxs", 2, irq_base, - port->base, handle_level_irq); + gc = devm_irq_alloc_generic_chip(port->dev, "gpio-mxs", 2, irq_base, + port->base, handle_level_irq); if (!gc) return -ENOMEM; @@ -242,10 +244,11 @@ static int mxs_gpio_init_gc(struct mxs_gpio_port *port, int irq_base) ct->regs.disable = PINCTRL_IRQEN(port) + MXS_CLR; ct->handler = handle_level_irq; - irq_setup_generic_chip(gc, IRQ_MSK(32), IRQ_GC_INIT_NESTED_LOCK, - IRQ_NOREQUEST, 0); + rv = devm_irq_setup_generic_chip(port->dev, gc, IRQ_MSK(32), + IRQ_GC_INIT_NESTED_LOCK, + IRQ_NOREQUEST, 0); - return 0; + return rv; } static int mxs_gpio_to_irq(struct gpio_chip *gc, unsigned offset) @@ -304,6 +307,7 @@ static int mxs_gpio_probe(struct platform_device *pdev) if (port->id < 0) return port->id; port->devid = (enum mxs_gpio_id) of_id->data; + port->dev = &pdev->dev; port->irq = platform_get_irq(pdev, 0); if (port->irq < 0) return port->irq;