Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp448252ybl; Tue, 28 Jan 2020 06:09:31 -0800 (PST) X-Google-Smtp-Source: APXvYqxjnFHwiRUJ5o9mR7FQQG3dPdbf9zAK7ls2E38qdTu/ygVkIeq23ij+9rkW/sauTVxsKEwE X-Received: by 2002:a05:6808:f:: with SMTP id u15mr3011652oic.100.1580220571765; Tue, 28 Jan 2020 06:09:31 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1580220571; cv=none; d=google.com; s=arc-20160816; b=hewxiIgWDP0VbZRRKUe8Axn/9ujrprGDp1tk9Jbkf/VvRXTq69Ual8cz86RMupyaib VAUeThQz+hnRHEZdSmccH9VSJS2Ukq7OUPk5eEaF2Kfk5sV/mfMze7ij8WAjbYY+WtvA iiQpVqt90CN1qCNXfwju8j2sY1HUphVxr5i5vAd+LcoxkKt8enU0n5Gr5MIT+8QUpLul 7DeMvzDwWLV3VutJyG0wKrW/fFsSygZTa0f4+h0MCrEjKoMfpmSDBV7BvfvfF33hsXAp JkJttlg4vN/hSt62AEYPN5pXYZLqHLuZK5j0vzB5XfXTp1iK8iTc7RNS4oibckhrelrS gUdw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=BdL4jIj9PYFXiHnbZCbvapEKayKHGgQKpL2tKHJaH8I=; b=oe8rXZ41Q6bKLu4xWYrf2U8JX9IbNN2ji+5AGGWlUsTKds3rkM1KEACvFJ5Sg5iiVK 7JXL0Njt8rzJ0gtQ31IhInzEDbQRc2pJAzX82TqcvLaHGYfmAseeOzzKxsKAdCmaNlTA Bfx+89oa94btDjrFI6qJt3NaN5WEQ6n4XgBPYpJB6q4UVfSeyGtHW2H6Stjw+AlB0CcK 079zYdGp59WlwbqK4nTq00wSJQPNSRieAhk+9WjWQMm7N5mbauPMiZM1vaobo50wmx3L GZiH1po5qEPy8CoLCa/aII54xkNNXxnv/h+xFSr/w0RCMjbzuX6Di4W9ZR2Y6cWsyF4+ Xxew== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=k1ar0h9D; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m26si4354472otk.305.2020.01.28.06.09.00; Tue, 28 Jan 2020 06:09:31 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=k1ar0h9D; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727435AbgA1OEJ (ORCPT + 99 others); Tue, 28 Jan 2020 09:04:09 -0500 Received: from mail.kernel.org ([198.145.29.99]:51082 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726257AbgA1OEH (ORCPT ); Tue, 28 Jan 2020 09:04:07 -0500 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id CFDDA24683; Tue, 28 Jan 2020 14:04:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1580220247; bh=rQmFTUu6gz/gizWikfCmnBtD6sywhhWM9uaIXaMx7ZU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=k1ar0h9DfXcPcs1FLTXxXEHYuc9ofkNFSwCC19yXbbMnhFJ8fdzhQVOayn9jbeEC5 nG5vXV2Emf09zqdJUqnJrgHrPzDCzUERmFwktctHX0/usJu50dR6blgTiI+q4qfGkB Lh3Yr0T5MP98fTtjof5Zga3TfgkSawseZzHYvNSA= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Russell King , Linus Walleij , Jacek Anaszewski , Pavel Machek Subject: [PATCH 5.4 074/104] leds: gpio: Fix uninitialized gpio label for fwnode based probe Date: Tue, 28 Jan 2020 15:00:35 +0100 Message-Id: <20200128135827.510578407@linuxfoundation.org> X-Mailer: git-send-email 2.25.0 In-Reply-To: <20200128135817.238524998@linuxfoundation.org> References: <20200128135817.238524998@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Jacek Anaszewski commit 90a8e82d3ca8c1f85ac63f4a94c9b034f05af4ee upstream. When switching to using generic LED name composition mechanism via devm_led_classdev_register_ext() API the part of code initializing struct gpio_led's template name property was removed alongside. It was however overlooked that the property was also passed to devm_fwnode_get_gpiod_from_child() in place of "label" parameter, which when set to NULL, results in gpio label being initialized to '?'. It could be observed in debugfs and failed to properly identify gpio association with LED consumer. Fix this shortcoming by updating the GPIO label after the LED is registered and its final name is known. Fixes: d7235f5feaa0 ("leds: gpio: Use generic support for composing LED names") Cc: Russell King Reviewed-by: Linus Walleij Signed-off-by: Jacek Anaszewski [fixed comment] Signed-off-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman --- drivers/leds/leds-gpio.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) --- a/drivers/leds/leds-gpio.c +++ b/drivers/leds/leds-gpio.c @@ -151,9 +151,14 @@ static struct gpio_leds_priv *gpio_leds_ struct gpio_led led = {}; const char *state = NULL; + /* + * Acquire gpiod from DT with uninitialized label, which + * will be updated after LED class device is registered, + * Only then the final LED name is known. + */ led.gpiod = devm_fwnode_get_gpiod_from_child(dev, NULL, child, GPIOD_ASIS, - led.name); + NULL); if (IS_ERR(led.gpiod)) { fwnode_handle_put(child); return ERR_CAST(led.gpiod); @@ -186,6 +191,9 @@ static struct gpio_leds_priv *gpio_leds_ fwnode_handle_put(child); return ERR_PTR(ret); } + /* Set gpiod label to match the corresponding LED name. */ + gpiod_set_consumer_name(led_dat->gpiod, + led_dat->cdev.dev->kobj.name); priv->num_leds++; }