Received: by 2002:a05:7412:6592:b0:d7:7d3a:4fe2 with SMTP id m18csp655837rdg; Thu, 10 Aug 2023 15:15:16 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFerRN71mZoYYEVP13OgXSITOs8uC0F0ls1/ZnHu3Mth1sk3B57QjJV43yKWrO7kHP0SU76 X-Received: by 2002:a17:90a:648e:b0:268:220a:7080 with SMTP id h14-20020a17090a648e00b00268220a7080mr4390423pjj.2.1691705715379; Thu, 10 Aug 2023 15:15:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691705715; cv=none; d=google.com; s=arc-20160816; b=NPd6cNiN2IHBqm8HnDHjKY0rWY4sMuqrnXNUS9rwJFNWz/bNEwRwhvlQSZ2AaSHteW l9hAtSSKZNnvgkJgOTr/46xFwLxLKUSbLvZx+D7Nc1d9AkycSL0AYWFce5HVaAGWmLxf n8N2BQ7YeHxIgN0cc1oonGImeq/m2mfFiWfE92L/RxO7Cl32Vo/Qtno9KhmAT2H0E5d0 OGpTLjqzxlooz+DYVo+1Em98DO9zDio7x8PHL/3wwOSEIywOvvdBU7IEXv0vT3ERo7ym knkosGQfFoeZSF6aV6rAcuWgXumhHSiycErNvCAAdNJxwAsnCWqsjn4vWHT6+l3TFUI7 U01w== 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=Ps6heJ1mFBil6XPS3GHdXfqgIGI7aeYsyu7nisvx1qE=; fh=iKF7lySdo7qB2GP5tU6Ud8R5j8VQ2tZ+n/16u6nq4p0=; b=DiqwGlzWBVc/omg7g+qzDbdrcMZvDZ6AX8E+NMBg2wQY610D9T8W6GAMb+hYDqn3/s Oo5MCc9zKiXIF7ymrBM5oM1o/iGIT2ek5K1LhzH65ApvacrerJANnkIXn0keUXAhlNy6 VTeIaxGJdEbOowPIbm1BdcUkTq2jni21zXOZdAfGIbaH8kAf/x/0SYbMDmi10twNTeRE 4DO+fgoYit2EQTcQQjpPFIf6uYLYUUD7cza5T7PrYH+NQyLMNhngrloctAMJqYupHekE U6yu+kSmXZXI5ktH6MxjT93kT+WlwWO+7ByaXdHBnaCd+20epmCVy6/CRIVXoVqC3ToP 6CXw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=Pifn18Yu; 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=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 72-20020a17090a09ce00b00263e9b06a99si4377938pjo.77.2023.08.10.15.15.02; Thu, 10 Aug 2023 15:15:15 -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=@kernel.org header.s=k20201202 header.b=Pifn18Yu; 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=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231371AbjHJVzF (ORCPT + 99 others); Thu, 10 Aug 2023 17:55:05 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50552 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229542AbjHJVy6 (ORCPT ); Thu, 10 Aug 2023 17:54:58 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 243462D4F; Thu, 10 Aug 2023 14:54:57 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id A19DB66966; Thu, 10 Aug 2023 21:54:56 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8A17CC433C7; Thu, 10 Aug 2023 21:54:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1691704496; bh=LKd+4Ea4HCc6qzOyCezsC0/UcrPbS4S07GBHDZkZ1oY=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=Pifn18Yu5ypIOo15CTwZwrMGt2/uGXQeVBRDuy7SXkmxTJ2DXc9M5Qc9Awv1/Oo+r NLZKWHWNSh33/MU1zynCRI7cRh0cW4ZWTDyYUHihzDS3O8DEnh+1XMB9+4ndA/DY0w t15aacXpbNRvVNqbuTd6K8jF9uJunzunn74PApf01w47FcJBJkUhTIcuM03uHoTvqX 2vN/nxeOwBpClcEbiJE48E6/DuY5pctgzOOvfCSk1zPsij3aYYJP8AekO9HUsHebfB NwXcTCQpkFpKXaxO5xe05r5pCTH7l5ife1Rjthj4kDcNPJrly03fUUcErsKRyKtJOs ccyh4ngx4R58Q== Received: (nullmailer pid 1346033 invoked by uid 1000); Thu, 10 Aug 2023 21:54:53 -0000 Date: Thu, 10 Aug 2023 15:54:53 -0600 From: Rob Herring To: =?iso-8859-1?Q?N=EDcolas_F=2E_R=2E_A=2E?= Prado Cc: Frank Rowand , Shuah Khan , cocci@inria.fr, Mark Brown , Nicolas Palix , kernelci@lists.linux.dev, Julia Lawall , Bjorn Andersson , kernel@collabora.com, Guenter Roeck , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org Subject: Re: [RFC PATCH 0/2] Add a test to catch unprobed Devicetree devices Message-ID: <20230810215453.GA1341305-robh@kernel.org> References: <20230810202413.1780286-1-nfraprado@collabora.com> <20230810214309.GA1226583-robh@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20230810214309.GA1226583-robh@kernel.org> X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS 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 Thu, Aug 10, 2023 at 03:43:09PM -0600, Rob Herring wrote: > On Thu, Aug 10, 2023 at 04:23:49PM -0400, N?colas F. R. A. Prado wrote: > > > > Regressions that cause a device to no longer be probed by a driver can > > have a big impact on the platform's functionality, and despite being > > relatively common there isn't currently any generic test to detect them. > > As an example, bootrr [1] does test for device probe, but it requires > > defining the expected probed devices for each platform. > > > > Given that the Devicetree already provides a static description of > > devices on the system, it is a good basis for building such a test on > > top. > > > > This series introduces a test to catch regressions that prevent devices > > from probing. > > > > Patch 1 introduces a script to parse the kernel source using Coccinelle > > and extract all compatibles that can be matched by a Devicetree node to > > a driver. Patch 2 adds a kselftest that walks over the Devicetree nodes > > on the current platform and compares the compatibles to the ones on the > > list, and on an ignore list, to point out devices that failed to be > > probed. > > > > A compatible list is needed because not all compatibles that can show up > > in a Devicetree node can be used to match to a driver, for example the > > code for that compatible might use "OF_DECLARE" type macros and avoid > > the driver framework, or the node might be controlled by a driver that > > was bound to a different node. > > > > An ignore list is needed for the few cases where it's common for a > > driver to match a device but not probe, like for the "simple-mfd" > > compatible, where the driver only probes if that compatible is the > > node's first compatible. > > > > Even though there's already scripts/dtc/dt-extract-compatibles that does > > a similar job, it didn't seem to find all compatibles, returning ~3k, > > while Coccinelle found ~11k. Besides that, Coccinelle actually parses > > the C files, so it should be a more robust solution than relying on > > regexes. > > I just sent a patch[1] last week fixing missing a bunch. I only looked > at the change in count of undocumented (by schema) though. With the existing script, I get 11761 compatibles and 12916 with my fix. So how are you getting only 3k? Rob