Received: by 2002:a05:6358:c692:b0:131:369:b2a3 with SMTP id fe18csp3753677rwb; Sun, 30 Jul 2023 15:32:47 -0700 (PDT) X-Google-Smtp-Source: APBJJlHIY6D9VqIB3v76gnsh41vf3eM+JqaDSZ3SVml/4WwyzgUvzn2JITfrRjOryivSiMrKHRMj X-Received: by 2002:ac2:5e2b:0:b0:4fb:845d:9e8f with SMTP id o11-20020ac25e2b000000b004fb845d9e8fmr4457792lfg.53.1690756367048; Sun, 30 Jul 2023 15:32:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690756367; cv=none; d=google.com; s=arc-20160816; b=YbnVq4C7he6J07fShxtFW5aoDk9sVRFXLxuj+lUs/i87qDV1fq+w/KS542rDufcmCJ NgJ/fYmH2HEpijCgr1w0RBBjT/61NUHKjphP87KrM2hKudSTxJEueZ/7fADw9CfO05k4 BLYzioZo1JO70nfaP8keNCVWBhGb7hFXu2MXaz7S5JBV+C+yQ0/QH3OJn2cKUmoeYGfJ TS/H5L8cpdD57xHYeFx6uioQpDB3CukNIC5LTFtcLsswqeIEAObC7zSkZ+qHiIzHeYDt G0GnPtozlVGr/OMI5l8bIm3UK8FIyU6IzA8S4G3isXuSlRo+glcx1n3wkNe7L0YrLQeb 2LeQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=FLIJT0pIN0xx5Km36CftmzWynpoiuU7SbAaz0nhUcRs=; fh=4k7P03jnw8tvA7tS8Tcmd/m1xIZkvqhNSoNJFQOtqv8=; b=G4N0q2oecuvlDTlB6CrRWaBMBl6eI6+v7wxvk4XuvVSRnoztLLlkUbCCSrDsVRxilD YS67P+8YL3jIfGIpaqy4/al/RkH+xt/oDXyQG5h5E4sPJUYNU2+7j9TRAR6CDL7JN8as Y7mgtmXvRXkE2eaanj3ARRRmQco7cE9oKALeKZlxun51HFEV4zBpzXKp49s5gOytWham QAPwUiRYZBHkLC8wBwE/BPG/r5THo7govMI7Og0G01MVhcUo/rb1oOq3Q4bNtPIEw+zf Q8y058Aw43nrldhWH9hAhyoeIs+16NdtYFU0vpSOnHr1Wc35Z8CmpAtcwzzZUMKeYB5T tXJg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@rere.qmqm.pl header.s=1 header.b=VFAEojvd; 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=REJECT sp=REJECT dis=NONE) header.from=rere.qmqm.pl Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id a13-20020a50ff0d000000b00522bf0f7009si1360576edu.457.2023.07.30.15.32.23; Sun, 30 Jul 2023 15:32:47 -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=@rere.qmqm.pl header.s=1 header.b=VFAEojvd; 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=REJECT sp=REJECT dis=NONE) header.from=rere.qmqm.pl Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229749AbjG3V4L (ORCPT + 99 others); Sun, 30 Jul 2023 17:56:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46478 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229746AbjG3V4K (ORCPT ); Sun, 30 Jul 2023 17:56:10 -0400 Received: from rere.qmqm.pl (rere.qmqm.pl [91.227.64.183]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 18960E78; Sun, 30 Jul 2023 14:56:04 -0700 (PDT) Received: from remote.user (localhost [127.0.0.1]) by rere.qmqm.pl (Postfix) with ESMTPSA id 4RDZv467S2zFj; Sun, 30 Jul 2023 23:56:00 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=rere.qmqm.pl; s=1; t=1690754161; bh=byX9670r2X+Qy32i+ehQ6SIBHRmaZicJA95V27zCL1I=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=VFAEojvd6+7iWd+dolv4exLCT/wARBTtKZ+fmiWwDwyG/++p0kl0BP24B5qfmdIwF zwghNPh14XRWhwhIlB3DjL0hMexuB3Rep8amO5diOOr1Bgix6tI/yRSjulPJB3p9Fl yhoH196EVFku1lJ1YBuB5XqjSjCfxHl1oDznRU/7Ki/HsEC88MiDGKs330T8Q8ghdP awaQeuDoSig76lSI5FU1ChEAO23qMnr7i0s96DrUIjmtxJ1WcP5WgaZVfDBcoGxaSp VWv1mTMz5tYS1gtjeSA5Ii0s8CczkzSTk7d+aHUHsDJQTYXCCk7NPpqSuv3vah1Xvk 0gfoJs51HDiiA== X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.8 at mail Date: Sun, 30 Jul 2023 23:55:59 +0200 From: =?iso-8859-2?Q?Micha=B3_Miros=B3aw?= To: Krzysztof Kozlowski , Svyatoslav Ryhel Cc: Andi Shyti , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Wolfram Sang , linux-i2c@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v3 2/2] i2c: Add GPIO-based hotplug gate Message-ID: References: <20230729160857.6332-1-clamor95@gmail.com> <20230729160857.6332-3-clamor95@gmail.com> <25858c22-ef92-2136-67ef-0d27364c1600@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-2 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <25858c22-ef92-2136-67ef-0d27364c1600@linaro.org> X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,RCVD_IN_DNSWL_BLOCKED,SPF_HELO_PASS,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 On Sun, Jul 30, 2023 at 10:30:56PM +0200, Krzysztof Kozlowski wrote: > On 29/07/2023 18:08, Svyatoslav Ryhel wrote: > > From: Micha? Miros?aw > > > > Implement driver for hot-plugged I2C busses, where some devices on > > a bus are hot-pluggable and their presence is indicated by GPIO line. [...] > > + priv->irq = platform_get_irq(pdev, 0); > > + if (priv->irq < 0) > > + return dev_err_probe(&pdev->dev, priv->irq, > > + "failed to get IRQ %d\n", priv->irq); > > + > > + ret = devm_request_threaded_irq(&pdev->dev, priv->irq, NULL, > > + i2c_hotplug_interrupt, > > + IRQF_ONESHOT | IRQF_SHARED, > > Shared IRQ with devm is a recipe for disaster. Are you sure this is a > shared one? You have a remove() function which also points that it is > not safe. You can: > 1. investigate to be sure it is 100% safe (please document why do you > think it is safe) Could you elaborate on what is unsafe in using devm with shared interrupts (as compared to non-shared or not devm-managed)? The remove function is indeed reversing the order of cleanup. The shutdown path can be fixed by removing `remove()` and adding `devm_add_action_or_reset(...deactivate)` before the IRQ is registered. Best Regards Micha? Miros?aw