Received: by 10.223.185.116 with SMTP id b49csp1026081wrg; Wed, 21 Feb 2018 10:47:29 -0800 (PST) X-Google-Smtp-Source: AH8x227hzSTtFGnIWA8a66EJ1FftxduiuPb4rjjPDL8n/dArgHD7h5bNLzp8U5r9xIVmn//2W9CK X-Received: by 2002:a17:902:7290:: with SMTP id d16-v6mr4065332pll.303.1519238849707; Wed, 21 Feb 2018 10:47:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1519238849; cv=none; d=google.com; s=arc-20160816; b=MsR5E7LuM0aQnm0zjcoXZgP48HyrYypGPaxYJasU54TZJH7Tfsf1/LSnNtOO2S6Ngj ee5yD1x8hMUvkj53UTa5ojtH7zv2ayGmOhgT6OgLDF+4rQut+wXpRLvfIwEoLW98MP6z +TBCGvZ8ktOOWlIbFUpboN9+GGMSUDNkW7N0niqgS175BbpNwYtSCEcC4uhw5fEwd4S6 0S4slW6OqXhHJdSrbpsZ2Cd744zfjHwxY70L4DS9LLbttsMew3Zuzmy46cy0w4MQE9Pa VjBqhRXHN4rR5TIgAGVZqHdBLS6CDhUXAwlX49Oju9v3HVPWqIwFQKVxLW9jJYrUOac2 JeKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:to:from:dkim-signature:arc-authentication-results; bh=VVqA6TmsCmUDL+MfrbFmjktbOjJvDrn3r3cBqVMaFvM=; b=gtNV48sup/pyAV0p4XH27D/lDQmJuXp6eCL1CiDdxYKkRLslUizGB/Y0Vn9+SCL3/9 gNhmLm87k9A72jipIFrNj4dvCOSKFdEt4zl33oUXCm+fZSV+nMVTVF1M4gPAL79yF2Xi ZkgCdAk0/pEYI1d5SBeFxTSwhReYxNNuuRVlOrRz/YeyD2+JvavGkujcpFSFPn+paWHS xOarE8JWtXtudmEG9fmpc5UnHseY49AS0kv5iu5dHQunTnuARh3B5DmKZ2U91RMHBLZw cC/hYEUcfS0XPSF8OVZHofV5gm0lrAIQTZdRXQWIoEFqQvOihahEw8NVqUkJDoas7na/ wCNw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=A1LGZNMk; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id c17si7986101pgp.809.2018.02.21.10.47.15; Wed, 21 Feb 2018 10:47:29 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=A1LGZNMk; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S937205AbeBUNum (ORCPT + 99 others); Wed, 21 Feb 2018 08:50:42 -0500 Received: from mail-lf0-f67.google.com ([209.85.215.67]:39263 "EHLO mail-lf0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753829AbeBUNuh (ORCPT ); Wed, 21 Feb 2018 08:50:37 -0500 Received: by mail-lf0-f67.google.com with SMTP id h78so2448572lfg.6; Wed, 21 Feb 2018 05:50:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=VVqA6TmsCmUDL+MfrbFmjktbOjJvDrn3r3cBqVMaFvM=; b=A1LGZNMkhG3UfkDdaMLmlzVfCcL1rapGaOSTfIdktdzFnmDSg+/V8ak8d5jX/boSYr C/rvqJKKJQtynSMHWY2/hcwXI5O609SJ3ufFgZyi1Epi70+Xh6FBPRGF1b1/95Qymr4n ReNvCnl3HMqw/+H2uOXvNrkDHXivWXabYNw/Urq4ecPE9B883ZoM35PkeGnZ+ArHoylN A+Km9g80stNvwgUN239fNTCOIYxmJGiOci4oQGsUgoIm2ZXMUXZlj/FqLokdgi72cllw a0/g/NuRJBR6mYVneJ/hlmyJY/a7NJvOPWV/an0BygOZxVGLOGqYLHSGuBi4U8wEgMxX Wv/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=VVqA6TmsCmUDL+MfrbFmjktbOjJvDrn3r3cBqVMaFvM=; b=FcTBUosqLYlkgEQ3Cpmr1JEJrOHVQtOGHy4A8lLTXlw3wT9/dLDTEcDfwWFpSgrBAn 4cqp0hJS9cWSAoqUVjwnu7ryzRUc9ja+leA7q86othGCWgOodtinfJmL8qLLsfv4YLSI 6d2KJsufrbhbb/n5M6RYlvCz/DL7rhJANYRmGXlYFg87l8pgPtStnRvG29Yd3lGZke+6 3Yf+tJE3s0p4hUphbFYLtTH1408C9QBtuLcuceCSq12tQeZHhPNIY7bQamZGZx9M3dxH Nf+RcpIcFStlDTRBJxHRNAdiIPDCSHSGKKGO9sZWVYHD7zr8os2PQpscAU8eKuTNBs+0 Sevg== X-Gm-Message-State: APf1xPCHzMPuqbv78xEImz4Ef/s1jKh0ESIVmst9uu00F0CUpztk37Ib F/VIalHCteLELx/doKADuaU= X-Received: by 10.25.0.19 with SMTP id 19mr2482028lfa.69.1519221035808; Wed, 21 Feb 2018 05:50:35 -0800 (PST) Received: from PLLZPC317.harman.com ([212.91.28.199]) by smtp.gmail.com with ESMTPSA id f33sm6040708lji.52.2018.02.21.05.50.34 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 21 Feb 2018 05:50:35 -0800 (PST) From: Radoslaw Pietrzyk To: Thomas Gleixner , Jason Cooper , Marc Zyngier , Maxime Coquelin , Alexandre Torgue , Linus Walleij , Radoslaw Pietrzyk , Benjamin Gaignard , Philipp Zabel , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org Subject: [PATCH 1/2] ARM: irqchip: stm32: Optimizes and cleans up stm32-exti irq_domain Date: Wed, 21 Feb 2018 14:50:26 +0100 Message-Id: <1519221027-4028-2-git-send-email-radoslaw.pietrzyk@gmail.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1519221027-4028-1-git-send-email-radoslaw.pietrzyk@gmail.com> References: <1519221027-4028-1-git-send-email-radoslaw.pietrzyk@gmail.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org - allocates generic chip with handle_simple_irq which simplifies irq_domain_ops.alloc callback - removes ack register from generic chip which is not used for handle_simple_irq as acking is done in a chained handler - removes unneeded irq_domain_ops.xlate callback Signed-off-by: Radoslaw Pietrzyk --- drivers/irqchip/irq-stm32-exti.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/drivers/irqchip/irq-stm32-exti.c b/drivers/irqchip/irq-stm32-exti.c index 36f0fbe..42e74e3 100644 --- a/drivers/irqchip/irq-stm32-exti.c +++ b/drivers/irqchip/irq-stm32-exti.c @@ -176,16 +176,12 @@ static int stm32_irq_set_wake(struct irq_data *data, unsigned int on) static int stm32_exti_alloc(struct irq_domain *d, unsigned int virq, unsigned int nr_irqs, void *data) { - struct irq_chip_generic *gc; struct irq_fwspec *fwspec = data; irq_hw_number_t hwirq; hwirq = fwspec->param[0]; - gc = irq_get_domain_generic_chip(d, hwirq); irq_map_generic_chip(d, virq, hwirq); - irq_domain_set_info(d, virq, hwirq, &gc->chip_types->chip, gc, - handle_simple_irq, NULL, NULL); return 0; } @@ -200,7 +196,6 @@ static void stm32_exti_free(struct irq_domain *d, unsigned int virq, struct irq_domain_ops irq_exti_domain_ops = { .map = irq_map_generic_chip, - .xlate = irq_domain_xlate_onetwocell, .alloc = stm32_exti_alloc, .free = stm32_exti_free, }; @@ -231,7 +226,7 @@ __init stm32_exti_init(const struct stm32_exti_bank **stm32_exti_banks, } ret = irq_alloc_domain_generic_chips(domain, IRQS_PER_BANK, 1, "exti", - handle_edge_irq, clr, 0, 0); + handle_simple_irq, clr, 0, 0); if (ret) { pr_err("%pOF: Could not allocate generic interrupt chip.\n", node); @@ -246,13 +241,10 @@ __init stm32_exti_init(const struct stm32_exti_bank **stm32_exti_banks, gc->reg_base = base; gc->chip_types->type = IRQ_TYPE_EDGE_BOTH; - gc->chip_types->chip.irq_ack = irq_gc_ack_set_bit; gc->chip_types->chip.irq_mask = irq_gc_mask_clr_bit; gc->chip_types->chip.irq_unmask = irq_gc_mask_set_bit; gc->chip_types->chip.irq_set_type = stm32_irq_set_type; gc->chip_types->chip.irq_set_wake = stm32_irq_set_wake; - gc->chip_types->regs.ack = stm32_bank->pr_ofst; - gc->chip_types->regs.mask = stm32_bank->imr_ofst; gc->private = (void *)stm32_bank; /* Determine number of irqs supported */ -- 1.9.1