From patchwork Thu Nov 6 19:07:07 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Krzysztof Kozlowski X-Patchwork-Id: 79 Received: from mail-ed1-f45.google.com (mail-ed1-f45.google.com [209.85.208.45]) (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 B089134DB6E for ; Thu, 6 Nov 2025 19:08:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762456092; cv=none; b=bIbrP1uqLjF/rnTUh9nxw5QXGfWw9jTsw67koLSVv+cCJAjcKabUaRnjdka+bk1EzJCBoMLoXgYjPISKW9fqfeYIfEB7obgeq3Dv51liAi65sDYXWVnPj0aV4vyHrvxXaDAe5poZWrgBbqjhSBaLQrWbY6NzEYcr+KHJV/ll7S8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762456092; c=relaxed/simple; bh=0/jEOxtSFPK0PmIemOfKHGwBErRDUi05GZgJASgkD0U=; h=From:Subject:Date:Message-Id:MIME-Version:Content-Type:To:Cc; b=FpjTRiLeglM4919Zp/O25QJ+Oh0Wu6J2meCFveVrwa8sjVAgjrPsV8zfxbL48Vq0Zuee4IR7gdru5t8qKML/NbV/lQ2gt9d9IolrrnhV0WQXamoU3a6l7i4B3IiFCZGPnyH6UPVxxZxyJBNIZck/w1S/nfDLyFTts+yB3lzDj5w= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=DNem7ErS; arc=none smtp.client-ip=209.85.208.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="DNem7ErS" Received: by mail-ed1-f45.google.com with SMTP id 4fb4d7f45d1cf-6317348fa4fso222605a12.3 for ; Thu, 06 Nov 2025 11:08:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1762456088; x=1763060888; darn=lists.linux.dev; h=cc:to:content-transfer-encoding:mime-version:message-id:date :subject:from:from:to:cc:subject:date:message-id:reply-to; bh=TOmMRtW5FXW0MAi6xEIHqEbujsChcuuW9+3rNb6Efhc=; b=DNem7ErSQ4YfwJ9PsLCzgIWLsVk5vovyTCaehHDOCP+8fHu+Yj1fctZfxTZF1vKkES R7pMZrb+3wV82CBuGTSzhYh7+Dtq8aZAWgeCvoQqECaBX7y0dj9/PJqWkSt1Md9gHgKP VVNT1nOwSUhHX5XLCt4y08l7c5rUFBcupZLxCqD/HQ9k6iE4TsKS21OLnB/C+le9/mmn S+12EvpunZOQjDRlnV/c6+Eter7SwHOk0tNAwGim/y62/XJQG2JUR1vqliumPUfABSF9 KlL8jBM0MxEvT0IilCdb4lluwHK3FdGdpCXJ7QviyEFu9RIFwG/G7PN16iJeL1oTjgVn mGRQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762456088; x=1763060888; h=cc:to:content-transfer-encoding:mime-version:message-id:date :subject:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=TOmMRtW5FXW0MAi6xEIHqEbujsChcuuW9+3rNb6Efhc=; b=i0aJn9NcBTrFdvZhsVorVV4rfsvgK0a51jcFvx3kQN0V7SV/ipCrd91e/G6PrsWTxR Fuf1lKJyjajbZ7cU+0seD0Jjvm781Iff4BzERnHUJ9atWdc5sxHddrxvAsRsOpB7t0oF KydQVya6Z6R0f2ATTZeAX231ZI6T3JfMA4R9NDSNNK0unGIdYkpm7xbKuyk2u4AFslV4 9SeEw9OIWUt/9S9nDm+iEB+jHAV6n/6Kj2AVnUPjhqUrh2SI3FfyXPwJdsUJ4MUQE1N9 gDd1iSpRRH+9+LdXWTF5MEnFosuPVLJ9ObElsszWlPfL3zv68Pb9HKbxopsBgdHAUNb2 +Pjg== X-Forwarded-Encrypted: i=1; AJvYcCVlVj8snSIOoNg6B5v0iHeA1rUHuSjTej3MaVFjWpfp82t/YXyt4eZotNgzVLu1bBMr/oNhmzLDU6WAzQ==@lists.linux.dev X-Gm-Message-State: AOJu0Yxofj4p6WEvx1SOhUNTKoKfvxQx6ULG9GL/NzgoQZ+hzR6tmqKC 1J9cMlGEsweplRyZMvScIJUKpXeiWKZOCWOSRJcVq0jLNU52+MjBIrkMT1LR4164Dhw= X-Gm-Gg: ASbGnctIHKK3S7u53c9AYFCNlAzpa9HoAavxC8xvw31abATfi3R+muqcmhvp/069lE8 qW7yaBkOxPcEBfj+9m5727ApoY5L4nEOMEbPSqNFA5f51oKDKFpWyjPuTdtV2gTdWyx6VvcvEwp 9Mf/fdLQKBVGJIU+GXi7on5i3tAGdcA0B3b5JG4ysyweF1dRbNUQ701zh85+82XGiw6TiK4XreN q9g02HkywdXJDXG3GitJAvhkmNPhxJlLd4WlDdStMUc1y7UXI2tLzOZ0sqTmTE7vQDYR0p/VTsY 2RU4atwgCBXixRwAUb7xB22jylYKjuCZ05mQ4Qgfn+eCrAI1tiRBMZrZI0JUlatWwx2wtzGcgq1 5oZizZwSvcOq1dz2Su8bU1mpnyZ5MgP4HacKisYHu4dulxorlVRje6KYwJ3l7keAVaBYSqQQtyS kAZbUYguvp89lAwi33745mjtyRF7g= X-Google-Smtp-Source: AGHT+IFGWzZTlk6Pep5z9JJh/2iQFwbYfqTOhkd0VSyzz3YH59510NL660TZKF8rj5tPeiZrlMyDNQ== X-Received: by 2002:a17:907:3f24:b0:b65:c8b8:144f with SMTP id a640c23a62f3a-b72c0996c95mr16124866b.6.1762456087865; Thu, 06 Nov 2025 11:08:07 -0800 (PST) Received: from [127.0.1.1] ([178.197.219.123]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b72bfa2510esm26739566b.72.2025.11.06.11.08.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Nov 2025 11:08:07 -0800 (PST) From: Krzysztof Kozlowski Subject: [PATCH 00/13] of: Add wrappers to match root node with OF device ID tables Date: Thu, 06 Nov 2025 20:07:07 +0100 Message-Id: <20251106-b4-of-match-matchine-data-v1-0-d780ea1780c2@linaro.org> Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-B4-Tracking: v=1; b=H4sIANzxDGkC/yWMMQqAMAwAvyKZDbQSi/gVcYiaagartCKC+HeLL gc33N2QJKokaIsbopyadAtZbFnAuHCYBXXKDpWpamuNw4Fw87jyMS4/NQhOfDASOxq8IddYgtz vUbxe37vrn+cFIRAvI2sAAAA= X-Change-ID: 20251106-b4-of-match-matchine-data-4a64bf046814 To: Rob Herring , Saravana Kannan , "Rafael J. Wysocki" , Viresh Kumar , Matthias Brugger , AngeloGioacchino Del Regno , Yangtao Li , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Lorenzo Pieralisi , Daniel Lezcano , Bjorn Andersson , Konrad Dybcio , Thomas Gleixner , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Maximilian Luz , Hans de Goede , =?utf-8?q?Ilpo_J=C3=A4rvinen?= , Daniel Lezcano , Thierry Reding , Jonathan Hunter Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-arm-msm@vger.kernel.org, platform-driver-x86@vger.kernel.org, linux-tegra@vger.kernel.org, Krzysztof Kozlowski X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=2925; i=krzysztof.kozlowski@linaro.org; h=from:subject:message-id; bh=0/jEOxtSFPK0PmIemOfKHGwBErRDUi05GZgJASgkD0U=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBpDPIG5LkF6rev9ukV/+9Qtp68gNcluS7tTEY5b xPa3VIbKtCJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCaQzyBgAKCRDBN2bmhouD 12G3D/9mfBQ7HGLDU/SZRXrLmtiPXCTDREluXdWUYAg8kpONNNEE75+x3up7wKYhs7S49bz7J27 LN8BPJka1h7vYjEBYECOIAX9bwtTdR1QgpU+tJJRaN37ZNfdhdTG0SRuIbUpU5ONVnCTVbD+yzf 7zBhrdKxAlht4mclM1I6Gnv97bmFqpGq/Pp5p4YJBGUrlBvuzoL8u9W9CA+xxXjW93uVjGixBu8 omyiKyhRMdLgPamka6AttrpGLvvpFJVQChi30yQdAEQVdbp+zHnz4jkteGLGPjH6jy4+PLURMgC 9FJfaviKGJDnBQYR1Vd/kpu9tnP/tW69frilBMHYt5kyIHvL5H31PJaQ+iBNmpavlBaLTjuylT+ 5sTnNNeO2R2ewpIY2kWOYuIrjiGSYc+zeHjf8l/zFKVa3zpvFMpjcomXpu0vHESDLc9qBRt8EG5 oRhuhAqACjuTy33Nt3xExzTEAmOENK7qDzWl2xWbiFO1sLRbMA2auneH6jgY+Vb9yIqwNUv2zJA /jZShiOwmSnJMha7tiydbA6xvwNQhNMBW1Rs5WJzcEmzRwCWNGTqmhZHOSAQsES3xDV/pFdvbJY 81lzvN3L/XYxoZ0HV75pW19zvzOuwUG+sbhLwIDHO5mlCNQ4qN/lssv+82nTDl+i971szhjo8Kd Jzhgda147d1CC0A== X-Developer-Key: i=krzysztof.kozlowski@linaro.org; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B Status: O Dependency/merging ================== All patches depend on the first patch, thus everything could go via Rob's tree with people's acks. Description =========== Several drivers duplicate same code for getting reference to the root node, matching it against 'struct of_device_id' table and getting out the match data from the table entry. There is a of_machine_compatible_match() wrapper but it takes array of strings, which is not suitable for many drivers since they want the driver data associated with each compatible. Add two wrappers, similar to existing of_device_get_match_data(): 1. of_machine_device_match() doing only matching against 'struct of_device_id' and returning bool. 2. of_machine_get_match_data() doing the matching and returning associated driver data for found compatible. Best regards, Krzysztof --- Krzysztof Kozlowski (13): of: Add wrappers to match root node with OF device ID tables cpufreq: dt-platdev: Simplify with of_machine_get_match_data() cpufreq: mediatek: Simplify with of_machine_get_match_data() cpufreq: sun50i: Simplify with of_machine_device_match() cpufreq: ti: Simplify with of_machine_device_match() cpuidle: big_little: Simplify with of_machine_device_match() firmware: qcom: scm: Simplify with of_machine_device_match() irqchip/atmel-aic: Simplify with of_machine_get_match_data() platform: surface: Simplify with of_machine_get_match_data() powercap: dtpm: Simplify with of_machine_get_match_data() soc: qcom: Simplify with of_machine_get_match_data() soc: qcom: ubwc: Simplify with of_machine_get_match_data() soc: tegra: Simplify with of_machine_device_match() drivers/cpufreq/cpufreq-dt-platdev.c | 15 ++----- drivers/cpufreq/mediatek-cpufreq.c | 12 +----- drivers/cpufreq/sun50i-cpufreq-nvmem.c | 11 +---- drivers/cpufreq/ti-cpufreq.c | 13 +----- drivers/cpuidle/cpuidle-big_little.c | 11 +---- drivers/firmware/qcom/qcom_scm.c | 17 +------- drivers/irqchip/irq-atmel-aic-common.c | 15 ++----- drivers/of/base.c | 47 ++++++++++++++++++++++ .../platform/surface/surface_aggregator_registry.c | 13 +----- drivers/powercap/dtpm.c | 16 +------- drivers/soc/qcom/qcom_pd_mapper.c | 17 +------- drivers/soc/qcom/ubwc_config.c | 14 ++----- drivers/soc/tegra/common.c | 12 +----- include/linux/of.h | 13 ++++++ 14 files changed, 82 insertions(+), 144 deletions(-) --- base-commit: e5efebeef746a24f45b98dbdfcf334285848b32a change-id: 20251106-b4-of-match-matchine-data-4a64bf046814 Best regards,