Received: by 2002:a6b:fb09:0:0:0:0:0 with SMTP id h9csp1484367iog; Thu, 16 Jun 2022 07:19:06 -0700 (PDT) X-Google-Smtp-Source: AGRyM1uGoFd17/B4Q5X3JJqKAZqMxoW/X7G1VCMbHSP3o1bPy2vl64O04gZ7TKlRbSEFzXhIVzqa X-Received: by 2002:a05:6402:2741:b0:434:fe8a:1f96 with SMTP id z1-20020a056402274100b00434fe8a1f96mr6720735edd.331.1655389146661; Thu, 16 Jun 2022 07:19:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1655389146; cv=none; d=google.com; s=arc-20160816; b=hR8b46+87cOa8DUY7V0NgsDfJ/xJCD+uDulMsYtNx3uZsGdhpMDUp6JyOTsNFjrex1 T2Hfw5D1dsGhK2FNrSK/TgKH6dHO9ukuFSASyCfGDQ1EZUFPksQNXJwocIhJYtNKHCnN XtMtJc45tOn8tuY75rmvEtflBJsGS2ZcjdqBO4hWsy5KuCIczvGy8v0wYCNf8DsDjl/L RzpHGe3wfWialxh45Fp4r6JlM6COLzebk1zCr0bO5otEczsXTTVrvQDuecgVLmxPXZVD +UcOAhHXZm3Cl5NXn5ibpQSKr4clXJsfThg4EWe4lQMrWfO9MPOQe/g+RNCog352mLys QGFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-id:content-language:accept-language:in-reply-to:references :message-id:date:thread-index:thread-topic:subject:cc:to:from :dkim-signature; bh=BFF9/E0PRVlK3YlyruWBFQLQJJ7X4aBdkgjrxHVmkn4=; b=fNX76k+AGhMZMftIb3XyBt8dSxFtXHPh8JRPPHbQk1FMaXI+TMc7piXHUvtnW914MH 6NuzrCo/8dAghIb8RhO3bgVRz8zVoZa1W2/3IF1pBIPLbK8Jbpf4W4DCXOOEu9V773uS e/D9fsfV7pDjQwy5qwdEmCbBqCCJUjAooB7bAwUlnJIbH/2ccB+xqyZcTbPi5iW51hEl hSYk7VigurF9x7JLNh6jpgboLKFJtWIvDx13XpQRPO7Oj+1mt25Z11ek02V/hJULxI2R CUvyr/TdfnK1HatzO87ZWoFC8A/CC1fc9xDRSp99uqJmiTCLTui99QPUY1j2F5UNxbui XbTw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sberdevices.ru header.s=mail header.b=p6cz79aw; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=sberdevices.ru Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id l15-20020a170906794f00b00715702f1e80si1980672ejo.763.2022.06.16.07.18.27; Thu, 16 Jun 2022 07:19:06 -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=@sberdevices.ru header.s=mail header.b=p6cz79aw; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=sberdevices.ru Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1377442AbiFPOAn (ORCPT + 99 others); Thu, 16 Jun 2022 10:00:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38214 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1377463AbiFPOAW (ORCPT ); Thu, 16 Jun 2022 10:00:22 -0400 Received: from mail.sberdevices.ru (mail.sberdevices.ru [45.89.227.171]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0DCF54B423; Thu, 16 Jun 2022 07:00:03 -0700 (PDT) Received: from s-lin-edge02.sberdevices.ru (localhost [127.0.0.1]) by mail.sberdevices.ru (Postfix) with ESMTP id 044585FD08; Thu, 16 Jun 2022 17:00:00 +0300 (MSK) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sberdevices.ru; s=mail; t=1655388000; bh=BFF9/E0PRVlK3YlyruWBFQLQJJ7X4aBdkgjrxHVmkn4=; h=From:To:Subject:Date:Message-ID:Content-Type:MIME-Version; b=p6cz79awEzOcHFJiLhyEu2VQZBlkJdqLvNwRLiN9v+6DZBsz2tCtKPqf/8wP1JLVy 3uUJrF08L3FKIgDsTXZNEuxlMitCFRFVpTQzxs8eoB8JWbm+Sjq89iGHLh2UkZ35f4 eLKhXJz2m+hY1avsOHSjmvUNDFqIa+9MDYuppzWXDLrjomaVEtXtTI0hRO2f0LjJGO jOTuL/R9TIzV50wWHu01HCaaR/PydPfu2jea1kh46/mMfgNgVfByxUEf9OiqTZRNaV dOhilwH1gAoTQOZlNjRxvVGEBQUPJmvH4S6JOjxr5HSUJAOjVNv9K801NgrnRnRrJE AcGoQR6azYJzw== Received: from S-MS-EXCH01.sberdevices.ru (S-MS-EXCH01.sberdevices.ru [172.16.1.4]) by mail.sberdevices.ru (Postfix) with ESMTP; Thu, 16 Jun 2022 16:59:59 +0300 (MSK) From: Dmitry Rokosov To: "andy.shevchenko@gmail.com" CC: "linux-iio@vger.kernel.org" , "jic23@kernel.org" , "lars@metafoo.de" , "robh+dt@kernel.org" , "noname.nuno@gmail.com" , kernel , "linux-kernel@vger.kernel.org" , "rockosov@gmail.com" Subject: Re: [PATCH v3] iio: trigger: warn about non-registered iio trigger getting attempt Thread-Topic: [PATCH v3] iio: trigger: warn about non-registered iio trigger getting attempt Thread-Index: AQHYep3lZdCBX5wfLkWR1miHp7T4Oq1R6y8A Date: Thu, 16 Jun 2022 13:59:45 +0000 Message-ID: <20220616135954.jrzckwjwljitxkjg@CAB-WSD-L081021.sigma.sbrf.ru> References: <20220607183907.20017-1-ddrokosov@sberdevices.ru> In-Reply-To: <20220607183907.20017-1-ddrokosov@sberdevices.ru> Accept-Language: ru-RU, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [172.16.1.12] Content-Type: text/plain; charset="us-ascii" Content-ID: Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-KSMG-Rule-ID: 4 X-KSMG-Message-Action: clean X-KSMG-AntiSpam-Status: not scanned, disabled by settings X-KSMG-AntiSpam-Interceptor-Info: not scanned X-KSMG-AntiPhishing: not scanned, disabled by settings X-KSMG-AntiVirus: Kaspersky Secure Mail Gateway, version 1.1.2.30, bases: 2022/06/16 07:44:00 #19785775 X-KSMG-AntiVirus-Status: Clean, skipped X-Spam-Status: No, score=-1.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=no 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 Hello Andy, Could you please review this patch version if possible? I've changed WARN() to WARN_ONCE() and fixed commit msg as you suggested in the v2. On Tue, Jun 07, 2022 at 06:39:18PM +0000, Dmitry Rokosov wrote: > As a part of patch series about wrong trigger register() and get() > calls order in the some IIO drivers trigger initialization path: >=20 > https://lore.kernel.org/all/20220524181150.9240-1-ddrokosov@sberdevices.r= u/ >=20 > runtime WARN_ONCE() is added to alarm IIO driver authors who make such > a mistake. >=20 > When an IIO driver allocates a new IIO trigger, it should register it > before calling the get() operation. In other words, each IIO driver > must abide by IIO trigger alloc()/register()/get() calls order. >=20 > Signed-off-by: Dmitry Rokosov > --- > Changes: > v1 -> v2: totally reworked the patch, used trig->list entry instead of > trig->owner as driver registration indicator. > It works perfectly for both builtin and built as a module > drivers. >=20 > v2 -> v3: changed WARN() call to WARN_ONCE() to avoid warn spamming > during deferred probe() as Andy suggested. > --- > drivers/iio/industrialio-trigger.c | 2 ++ > include/linux/iio/trigger.h | 5 +++++ > 2 files changed, 7 insertions(+) >=20 > diff --git a/drivers/iio/industrialio-trigger.c b/drivers/iio/industriali= o-trigger.c > index f504ed351b3e..d6277e72d515 100644 > --- a/drivers/iio/industrialio-trigger.c > +++ b/drivers/iio/industrialio-trigger.c > @@ -581,6 +581,8 @@ struct iio_trigger *viio_trigger_alloc(struct device = *parent, > if (trig->name =3D=3D NULL) > goto free_descs; > =20 > + INIT_LIST_HEAD(&trig->list); > + > trig->subirq_chip.name =3D trig->name; > trig->subirq_chip.irq_mask =3D &iio_trig_subirqmask; > trig->subirq_chip.irq_unmask =3D &iio_trig_subirqunmask; > diff --git a/include/linux/iio/trigger.h b/include/linux/iio/trigger.h > index 4c69b144677b..03b1d6863436 100644 > --- a/include/linux/iio/trigger.h > +++ b/include/linux/iio/trigger.h > @@ -93,6 +93,11 @@ static inline void iio_trigger_put(struct iio_trigger = *trig) > static inline struct iio_trigger *iio_trigger_get(struct iio_trigger *tr= ig) > { > get_device(&trig->dev); > + > + WARN_ONCE(list_empty(&trig->list), > + "Getting non-registered iio trigger %s is prohibited\n", > + trig->name); > + > __module_get(trig->owner); > =20 > return trig; > --=20 > 2.36.0 --=20 Thank you, Dmitry=