Received: by 2002:a05:6602:18e:0:0:0:0 with SMTP id m14csp3056115ioo; Tue, 24 May 2022 12:00:25 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzhoHsKXi7ejpBo4kCnVuieFR2RWZrFvrrjxVVwgnWBceLoSS50wFlTcKJkTZ9jFBUqo9RP X-Received: by 2002:a05:6402:d75:b0:42a:c493:3736 with SMTP id ec53-20020a0564020d7500b0042ac4933736mr30376257edb.381.1653418824802; Tue, 24 May 2022 12:00:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1653418824; cv=none; d=google.com; s=arc-20160816; b=CNQg/vX/M67CoCVgUKbye8aQBittvoAmWWxmFbn6nLoKxDkx2PJysKNyL2BPZyDXA+ 0UPy28x1tOlpkmxfjlhk9xzxHyIJ8BRf1RlX/Cuq4CXWrn3+XWrwIMpKvKKlDvai1gyx ZXSJX1k7n4pS/xi/R3D1GOod1VBKZMSnIAHkBiiGDYThWeB6l+c4Pb1cwEOQLaKlcgfN GBZtplpWxv4HC992Kv4uxkbPCYmlWanRTQ0vcEljxSviii14E4ZL7CWz53xbTjIWacJp Z0mNzZRqwN+NhHeSiVxUqy4NnJF3n2ujxWGICa4tJi5RicumiVEJcV8MgOHdMD8WuplW 2H4A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=9Tx1BWROKP0/4lNYHpybGvkaMQyge6iiz9PNPvD4+qY=; b=DW2mUlVu4sxclE0osNM9vkmhka3uYN8M6ry6qmo/Nx9XKwIP+0K4HbH4Ibj3BoV57k 5J0yS4pE7FSZkyt2q25gl0x/xI0jx8MoZCSa4dJ9my1S1Qgg661E9DQMf9O+bSVrVG7b tO1OHFUXssN1+PXkn5BuiqPR7RqQ7nf//SVMuiFrMX2kNGbHiHWh0vBS1Jaqf7Vxw8WL HjGbh37q7YeJp7GxRHLq45XSkf7qxIM/B4wU/CHXEL0U59uqlo/eEMYpyFIN90bK9P5/ 1FkMOc6lcKgXDDgPIGa5qqBgtkcQwPL2jCU594ynfdWZRPoxBqhKo0RyMNyBazOHbZHF 9agA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=aQwUz6+f; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id c14-20020a50e3ce000000b00427ce39b5dcsi322254edm.513.2022.05.24.11.59.58; Tue, 24 May 2022 12:00:24 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=aQwUz6+f; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 S235013AbiEXJHR (ORCPT + 99 others); Tue, 24 May 2022 05:07:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56218 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234754AbiEXJHO (ORCPT ); Tue, 24 May 2022 05:07:14 -0400 Received: from mail-yb1-xb2d.google.com (mail-yb1-xb2d.google.com [IPv6:2607:f8b0:4864:20::b2d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A3D7767D05; Tue, 24 May 2022 02:07:12 -0700 (PDT) Received: by mail-yb1-xb2d.google.com with SMTP id p190so2851945ybg.4; Tue, 24 May 2022 02:07:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=9Tx1BWROKP0/4lNYHpybGvkaMQyge6iiz9PNPvD4+qY=; b=aQwUz6+ffoqY1v3jszLqvLwqJB7nzfjWfj+InzeqhN8GQDyYS/b88yLLRogzI3NS01 lH6OUz7zukDBCM5O4GlPa2gpHESJc2pU7dJExaOE0VxauQQtzCXHrHxvRzn71j/Y/qR4 tdv19sKBPmX5AJPpFh2A7SWjZkiUcWBHd0iEIB0iVZcGEfWXVyp0di3fmvAKZubV8ToU KU6XTCXHpxLEubIapRDOEhbO0/ShqLms1N/zrNDomIRyvjy3iBfOqofJFqmn+KPH2Bde utKp4yORLjuLScNdH0OPOWxD1uJSynt0kElv3Z3NyYpfxu7kjYgtf4Toih2xyLKk6b1n F1hg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=9Tx1BWROKP0/4lNYHpybGvkaMQyge6iiz9PNPvD4+qY=; b=nKlrVyy0IXzVkaOjJFt1fHxLIULxhm4ZDdsxqKWYqMInTCgyC4/F8f+yVVCYlX28f3 7o7qdRDbOlF3UHNZ4rO5XgJfIyRRaYpnAGUaJXkB378W8GUb1xWJvIl4DtuA+3aV+mJI GYsWt+oZwhtfXmBDsJ+UQRPPbu7sW3oPztCEHUHq6uPMdhYh31J85jN/57KKYzQjOrXP F+1qLSY7WD3140CVNDFhCPmBpnkFw/kVaValpJox8YC8zuhV4X3mr83nqKxWXCm4LjN1 j9BuA0QQ76MMN7Sm2vyOCzPDLaXVhcj3qT6Kwd1w0IEdOkvcUWLB6MQI4P8PlgkjkS6P 3CMw== X-Gm-Message-State: AOAM530b9EUunIHdMb7T5aYabFFJKdtrOYQybUZINECzt8sQwdhDRgSV fHFbaDFC/3VH3mfumJZCk6dr8vmpjtSDY3dgWIM= X-Received: by 2002:a5b:888:0:b0:651:ac74:d084 with SMTP id e8-20020a5b0888000000b00651ac74d084mr2445569ybq.218.1653383231923; Tue, 24 May 2022 02:07:11 -0700 (PDT) MIME-Version: 1.0 References: <20220523174238.28942-1-prabhakar.mahadev-lad.rj@bp.renesas.com> <20220523174238.28942-4-prabhakar.mahadev-lad.rj@bp.renesas.com> In-Reply-To: From: "Lad, Prabhakar" Date: Tue, 24 May 2022 10:06:46 +0100 Message-ID: Subject: Re: [PATCH v5 3/5] gpio: gpiolib: Allow free() callback to be overridden To: Linus Walleij Cc: Lad Prabhakar , Marc Zyngier , Geert Uytterhoeven , Thomas Gleixner , Rob Herring , Krzysztof Kozlowski , Bartosz Golaszewski , Thierry Reding , Jonathan Hunter , Bjorn Andersson , Andy Gross , Philipp Zabel , Andy Shevchenko , "open list:GPIO SUBSYSTEM" , linux-tegra , linux-arm-msm , "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" , LKML , Linux-Renesas , Phil Edworthy , Biju Das Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Linus, Thank you for the feedback. On Tue, May 24, 2022 at 9:54 AM Linus Walleij wrote: > > On Mon, May 23, 2022 at 7:43 PM Lad Prabhakar > wrote: > > > Allow free() callback to be overridden from irq_domain_ops for > > hierarchical chips. > > > > This allows drivers to free up resources which are allocated during > > child_to_parent_hwirq()/populate_parent_alloc_arg() callbacks. > > > > On Renesas RZ/G2L platform a bitmap is maintained for TINT slots, a slot > > is allocated in child_to_parent_hwirq() callback which is freed up in free > > callback hence this override. > > > > Signed-off-by: Lad Prabhakar > > Reviewed-by: Geert Uytterhoeven > > So that function today looks like this: > > static void gpiochip_hierarchy_setup_domain_ops(struct irq_domain_ops *ops) > { > ops->activate = gpiochip_irq_domain_activate; > ops->deactivate = gpiochip_irq_domain_deactivate; > ops->alloc = gpiochip_hierarchy_irq_domain_alloc; > ops->free = irq_domain_free_irqs_common; > > /* > * We only allow overriding the translate() function for > * hierarchical chips, and this should only be done if the user > * really need something other than 1:1 translation. > */ > if (!ops->translate) > ops->translate = gpiochip_hierarchy_irq_domain_translate; > } > > (...) > - ops->free = irq_domain_free_irqs_common; > (...) > > + if (!ops->free) > > + ops->free = irq_domain_free_irqs_common; > > Marc Z is working on cleaning up the way that gpiolib is (ab)using > irqchips. We definitely need his ACK if we do things like this. > This doesn't look like one of the big offenders to me, but I want > to make sure we don't create new problems while Marc is trying > to solve the old ones. > Agreed, I had a discussion with Marc on v3 series [0]. [0] https://patchwork.kernel.org/project/linux-renesas-soc/patch/20220511183210.5248-4-prabhakar.mahadev-lad.rj@bp.renesas.com/ Cheers, Prabhakar