From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 483E92FD69D for ; Tue, 17 Mar 2026 17:20:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773768002; cv=none; b=DHcPRLjyGZ1GQvZ8kBd0Qudpo7jFoc1kzF23RfCTLX+azi+L1iNKNgOOaRyHbKu4XLo+WrDYemelO/kh2KpH6lnYIBTRyFbPgH98vu4C83xmWRAAisPEgsKVYLaUy7uwq/0cwx35QpppEkyoy5HtuhK4sPUKxuNmOZ4wWnl+3i8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773768002; c=relaxed/simple; bh=p2pht/J8eIhSN3Ur2kmmm0ZxQQwbBB3AYY0fVZHj4PY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=CWzC3q8Cn713E3gyxIMmoQCm1aKE1EK/1bfNITSEi3lZl+YiOUnBO3OkxIcGezXdERjrFkyTwuxfAgePmYl6FC+OriAn8CYOZbp+YcQ3GVTX3W/jSuS7vsxXQHYorVTWe6X7DKMojknXwCxTiS0OflaZVPyE2Nsf52GGqddhZgU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=X2iPZNTF; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="X2iPZNTF" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 70F8FC2BC86; Tue, 17 Mar 2026 17:20:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1773768002; bh=p2pht/J8eIhSN3Ur2kmmm0ZxQQwbBB3AYY0fVZHj4PY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=X2iPZNTFZD9dMtHYuC0tog+tN+LE+K41QawP5/Zdqp+Jo3hFtMRkXPa/gwewCopyu pcFtHICsV145w/k5lY39PHIQqifdUygoTZvcM7yZlSLClnAXDjbSzNwle9KoUVbRzw BkETgAF/TRDGsbP+SAnNIIQ/2Lk7d5dorqRKrQMLgz5/isDCpBthymzTbHgeLxMezw f79M9tZ9HoUzuouoGzrFFnbeaPqZbKTMb5eaH6TH/318wgclINTJFWQH7l9eBDowd/ 9hGwbFJRfYuZYs2D3nrg6yTRh5z3bX526zBGbPlbR4OjSZ2aZJk23Wu0cO8l1RUMsK 7FitPssZfTFRw== From: Sasha Levin To: stable@vger.kernel.org Cc: Daniel Scally , Andy Shevchenko , Hans de Goede , Greg Kroah-Hartman , Sasha Levin Subject: [PATCH 5.10.y 6/8] device property: Check fwnode->secondary when finding properties Date: Tue, 17 Mar 2026 13:19:52 -0400 Message-ID: <20260317171954.238398-6-sashal@kernel.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260317171954.238398-1-sashal@kernel.org> References: <2026031703-caravan-bladder-c63a@gregkh> <20260317171954.238398-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: stable@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Daniel Scally [ Upstream commit c097af1d0a8483b44fa30e86b311991d76b6ae67 ] fwnode_property_get_reference_args() searches for named properties against a fwnode_handle, but these could instead be against the fwnode's secondary. If the property isn't found against the primary, check the secondary to see if it's there instead. Reviewed-by: Andy Shevchenko Reviewed-by: Hans de Goede Signed-off-by: Daniel Scally Link: https://lore.kernel.org/r/20211128232455.39332-1-djrscally@gmail.com Signed-off-by: Greg Kroah-Hartman Stable-dep-of: 2692c614f8f0 ("device property: Allow secondary lookup in fwnode_get_next_child_node()") Signed-off-by: Sasha Levin --- drivers/base/property.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/drivers/base/property.c b/drivers/base/property.c index bf9673fe59b3b..7de58f4887860 100644 --- a/drivers/base/property.c +++ b/drivers/base/property.c @@ -479,8 +479,17 @@ int fwnode_property_get_reference_args(const struct fwnode_handle *fwnode, unsigned int nargs, unsigned int index, struct fwnode_reference_args *args) { - return fwnode_call_int_op(fwnode, get_reference_args, prop, nargs_prop, - nargs, index, args); + int ret; + + ret = fwnode_call_int_op(fwnode, get_reference_args, prop, nargs_prop, + nargs, index, args); + + if (ret < 0 && !IS_ERR_OR_NULL(fwnode) && + !IS_ERR_OR_NULL(fwnode->secondary)) + ret = fwnode_call_int_op(fwnode->secondary, get_reference_args, + prop, nargs_prop, nargs, index, args); + + return ret; } EXPORT_SYMBOL_GPL(fwnode_property_get_reference_args); -- 2.51.0