Received: by 2002:a89:2c3:0:b0:1ed:23cc:44d1 with SMTP id d3csp606127lqs; Tue, 5 Mar 2024 10:46:19 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUV6cmA2YMLR/fDUloFusH2ezuEEWis6lfGvzIn3HS/Ab3Qmz87bF1cktKcu8xUwdfzK6jo8Zoy/hvhtFSP7IRww6M2lU2pesFMPI0BfQ== X-Google-Smtp-Source: AGHT+IGAI/Xt6xSobW/tNdiYF8CE5mrvqszK/Hm0aoL6YtgRW1eMMvj+5QaWSZ6lp7MIYcG2lZIu X-Received: by 2002:a17:906:7118:b0:a45:5bc1:ac35 with SMTP id x24-20020a170906711800b00a455bc1ac35mr3684715ejj.30.1709664378895; Tue, 05 Mar 2024 10:46:18 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1709664378; cv=pass; d=google.com; s=arc-20160816; b=kcGkAJEYiLsbbMBpFhuq66Zwg9LN6DFFMtFMXcso+Q2I6TKnhPlKMUzd6dt3/od9+X FTzzCx4aQviA1d5zX6CqvJjlJOUwA3/mP5Ux9bn4UFvg923bz440uLGhcqOC3Ezs0sAw VRDDIgWd9Zb5z1AYLlVZuI6FWYVX1G4zzWbAXaLd5yF6KDG5iHRmEgzZCfB13Sg8rqns VhfzlY3cWHRyOHr/c891Y/VdCL9zypRqyogQj8pz+UUm1kiUIbW1C2L51yaZY5Fw+W5+ EjaGTwHdfXC6CCTHyKLzMXfbew/bRa3SaHrNQxrYzDerV1liCFA734P/KI85LsDnl9/O hJ+A== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=cc:to:subject:message-id:date:references:mime-version :list-unsubscribe:list-subscribe:list-id:precedence:in-reply-to:from :dkim-signature; bh=/LnC5euhEkvi9g1j+7vW5UYkJX4X5vpM3r4mGJPrFEg=; fh=yMZYXVDmKujj0a6lecTGGc0EcaADon09aGJ7QesvF3w=; b=irtCroKE8RQhFSo0d4Ew+9O/9vMwG1C9w9uRcP19C1t5A4HXcjR7AHIjSFOH8cE35q KrOwM6ksOc6EJUOYH4dpNjkfTQ+oj8y3aa309+HiBEo0d+7lwEY6p4t2ZiO0ixJDwMcv oMFAPsbmRFdQuk9YjIYy4ENg841OY4feb4WGw57CDtGb9vD2JqF0eGspM/uT96nPknVw I/0ZmadsPCkkkzdEy6uyMpsKYuRp1b2VyGhknxn8n3j3hz43GGqrWDT7bHQXEtjxlFU+ y8/xy3R1DMX2AtMPgikSXXd8ypxV8aQ0Vhxh5XbTovr0xtRYrJGL+5JVTE48iIUrhg7Q P59Q==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@bgdev-pl.20230601.gappssmtp.com header.s=20230601 header.b=0NkO5z9e; arc=pass (i=1 dkim=pass dkdomain=bgdev-pl.20230601.gappssmtp.com); spf=pass (google.com: domain of linux-kernel+bounces-92849-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-92849-linux.lists.archive=gmail.com@vger.kernel.org" Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id j3-20020a170906474300b00a45322c32f0si2402952ejs.485.2024.03.05.10.46.18 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 Mar 2024 10:46:18 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-92849-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; dkim=pass header.i=@bgdev-pl.20230601.gappssmtp.com header.s=20230601 header.b=0NkO5z9e; arc=pass (i=1 dkim=pass dkdomain=bgdev-pl.20230601.gappssmtp.com); spf=pass (google.com: domain of linux-kernel+bounces-92849-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-92849-linux.lists.archive=gmail.com@vger.kernel.org" Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 9D4351F227CC for ; Tue, 5 Mar 2024 18:46:18 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 27E2C1AACF; Tue, 5 Mar 2024 18:46:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="0NkO5z9e" Received: from mail-ua1-f52.google.com (mail-ua1-f52.google.com [209.85.222.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DBF9914A89 for ; Tue, 5 Mar 2024 18:46:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.52 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709664371; cv=none; b=NxQrg/qIeNothBq5ZlQ4Hr9pRojue6TthbAzoO+rdVVRSWwK3qnIuUk5i9Qx+oTZXy/3MYUIOesFBXszkUROG+nFVTGp1Wm/TZygrs3hTtwunzHS8aenaDSlCcnV9iU1IlfV+PsLbbCVjFVu7ON8p9On5hnZPFjKf0sN0/3i+YU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709664371; c=relaxed/simple; bh=/LnC5euhEkvi9g1j+7vW5UYkJX4X5vpM3r4mGJPrFEg=; h=From:In-Reply-To:MIME-Version:References:Date:Message-ID:Subject: To:Cc:Content-Type; b=buoGO8cAKRoZ8OHbT8RiJJ1Ok06wTXcuBoVFf+hksHI7DDAS5lXYfQVNsL+d7AZ62r2q6lSATmlpVWLDyifxX/L8rwuR86oOc9nTyXkMqUDZIPa1QzdPEQjoXJB4EvR/bcykYP9aP7IgpfAIoNI/n5lOzwKtRq+fc6SiUghaM4M= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl; spf=none smtp.mailfrom=bgdev.pl; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b=0NkO5z9e; arc=none smtp.client-ip=209.85.222.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Received: by mail-ua1-f52.google.com with SMTP id a1e0cc1a2514c-7db1a21e83fso1847287241.2 for ; Tue, 05 Mar 2024 10:46:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1709664369; x=1710269169; darn=vger.kernel.org; h=cc:to:subject:message-id:date:references:mime-version:in-reply-to :from:from:to:cc:subject:date:message-id:reply-to; bh=/LnC5euhEkvi9g1j+7vW5UYkJX4X5vpM3r4mGJPrFEg=; b=0NkO5z9eHBBB8c4HLJt5KzYl8vzSyf036prTFWY//2W3n6vrC1bXcEHP7YUfpVe0j+ vKdncZ/RiSFVto+0aObY23X4I0k8/ewTAmgcFCJFx/N5fpupkbLRvt3jaH3ZhT2x6Ayd NsZZrySLSbWcmANsr+eWe0eTlAPLOFHOK9rf0pYulzBjQAEiHJpAGffA0ga128aQqc5k nqDQrMRlJc04UOEM1lgnEyq/Z3jNqoFykAvw7HLNolCvvoxqcPNFzREJlQd6XorX4RN5 +ABOC3rSWwtyyPC1wneTbUk0SeTRYcwa/HZVefyCtWK+3+rGCCjrrbFdW1pUtsB95Jhx h3nQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709664369; x=1710269169; h=cc:to:subject:message-id:date:references:mime-version:in-reply-to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=/LnC5euhEkvi9g1j+7vW5UYkJX4X5vpM3r4mGJPrFEg=; b=NEsOi+8vGHBvJ/lNJFOdkOs3kvHYAf+igLj7kE5LQemoa02zrE7xX9uwP4wY/2Ze/z oaSyis9ypsb27EvL53A3yxeKBzce0gtQ7atNLMZ55Q3t4AvxYw/ey4JmSI4W3lK2lN/d ULoVwyPy1fzLfrqFe1pdLVHSYlkrHvx9skAYaNV0TZU83qV6i7PHkRsJkJr69gzh/unk p7Qm7QG1pahUBoxTr+eJy/rQcVzf8mVde6ZFroWBeOBI2W1ZYWVMAr1PNhnl2f9pRqT2 27lllZJ69GJU3gGPxdDlE7oxEum2OTBc7A05wq/tX5rhkB5DlyAmTkbprYtnSwqW5sfq fysw== X-Forwarded-Encrypted: i=1; AJvYcCWKjs4pKqCFqZ+s2YuXBQPlMZBr39RP3HgfYzdFJ238gwSTtUaTY+b4MZ0Lg4kr8dju0GMAFFlToAsN2LrkYNUsVbM0i2OgSynjpLDo X-Gm-Message-State: AOJu0YzVs4kOuuNBAePA6ga8veXHDMTmYSp5MkhJ51z1qJcxp2Qn+9cY dJ9FeU5qOMI3i39lXK4t7fjb6FV+RU/Z9YlMwK7J3JAzfKx8Qnx38IARQg41DQt/bnVsu2MfY3+ 0TG3wcmLIc9vDl4CFIlWvLzHVxeSpwgNWedFedg== X-Received: by 2002:a05:6122:3214:b0:4d3:4aad:22d4 with SMTP id ci20-20020a056122321400b004d34aad22d4mr3579962vkb.0.1709664368851; Tue, 05 Mar 2024 10:46:08 -0800 (PST) Received: from 969154062570 named unknown by gmailapi.google.com with HTTPREST; Tue, 5 Mar 2024 10:46:08 -0800 From: Bartosz Golaszewski In-Reply-To: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: <20240303104853.31511-1-brgl@bgdev.pl> Date: Tue, 5 Mar 2024 10:46:08 -0800 Message-ID: Subject: Re: [PATCH] of: make for_each_property_of_node() available to to !OF To: Rob Herring Cc: Bartosz Golaszewski , Frank Rowand , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski , Geert Uytterhoeven Content-Type: text/plain; charset="UTF-8" On Tue, 5 Mar 2024 18:56:04 +0100, Rob Herring said: > > Long term, I want to make struct device_node opaque. So if we really > want to fix this, I think we'd want to convert this to use an iterator > function. Though I guess any user would be mucking with struct > property too, so the whole loop would need to be reworked. So in > conclusion, don't use for_each_property_of_node(). :) Shrug. > I basically just need to get the list of all properties of a node. Even just names. I'm working on a testing driver that needs to request all GPIOs assigned to it over DT so it must find all `foo-gpios` properties. How about: int of_node_for_each_property(struct device_node *dn, int (*func)(struct property *, void *), void *data) as the iterator? You didn't say if you want to make struct property opaque as well but even then it can be used with provided interfaces. Bart