From nobody Tue Apr 7 18:34:37 2026 Received: from mail-dl1-f53.google.com (mail-dl1-f53.google.com [74.125.82.53]) (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 9463834A79D for ; Thu, 12 Mar 2026 01:43:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773279817; cv=none; b=MDQ+nSfz2/ACebV0k2wXC7yM3Y3BjlccNMVfYgyDLUkzTEZ7ZY9WX85f1yff1/vWjCGR+/tqpUYedLolhkQHmzhq9GuI1dkuUm2Gw2pdqyPWqkZwRK82R9Sd/8GXfLnnO1QO8QHon1wx1wCI6MMICtavEkLWyBgnkzir7LRqk4M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773279817; c=relaxed/simple; bh=5oUNMFnlgTg/SXZys2j4XgpjMUlowYQfsXUq4SsNHDE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=CqMFVJw4cK8w56zbBqV/VKdyFkbzj3YVkP3Cu4c1P7UrMtWl27WK68T/uGH0Yxf76ksSob4PvlB3SkpfzdvplzQcfozRRywiqFSza8lmNJzVqtCozvrdgUx6jy+ObAHQjLqb0Zwp2VxqxnzdxWa2seci+t7ia++uqg8xsAqrqRo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=HAVgNH+I; arc=none smtp.client-ip=74.125.82.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="HAVgNH+I" Received: by mail-dl1-f53.google.com with SMTP id a92af1059eb24-12776bebe9fso990686c88.1 for ; Wed, 11 Mar 2026 18:43:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773279816; x=1773884616; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=OiqAYIX98YKijQ8a2vecadAbb1L8d/Slw8ZXp/UrT6M=; b=HAVgNH+IcJFQjXpToDYqEKB+xou/N/RgD7D4FmjNISmFj2HnBdQ59Hm/cIkhcsXIlh 5ErRQqTM7Xmaw0bfsjA/GzzN5KhOqrC2BYW2NIMBcIrna33CBR7uVAyzHrZ9Af5R+7gl n3tuuuAtgxriudEslvTA1bcI3z5iz8+jkpw/MfMSpoONkTpF1Z1D6s9U9y0FN48ykULL JOnVfSvCGxjzZV7+7tr/F6V+/flmJN1/VAtmlPdk3YVNl9NVEQsVmsjIBXcbzOCuPaME xDpkHYoscrd/eEY5/s+k4f/BQsp6Ya0eqiZHmwYL55aEXgwFZU0Syl2LlU12aMUlHm+f qQ8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773279816; x=1773884616; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=OiqAYIX98YKijQ8a2vecadAbb1L8d/Slw8ZXp/UrT6M=; b=PjqXupCW8Ol/IUcx4vhkBmX3cgwn+S9awgRDSJ4P8v0P52KAwNJ5+KHPrElVrIDsuw wONQub9b6XxSK3XRynGzp0YSfH6RxMYMGXUTca/fABQ8NLiJ6vgc6xXUynIkah+HwHIL jYjcMiud/1U9e4OIKS8JcPFjRHALfgs12hOcaasNJBt7nzEvgBQQBwBH8uwGVMUg/9vN 79hNQLr7Zz4lKJBpzqFAAe+Qh48fqpnON/LbTP5ats49at2Cb/vR4JkfFMp+q5RZmA3s ij0wej4c5uAmZcrns+e40l6SINoCXf1uHVRXRbeuzp7CGy0Nqv9CiJPLyUqqZ5Bop98m /Etw== X-Forwarded-Encrypted: i=1; AJvYcCVoKMSrNXrHDTWK11Krk24Dtg40gOIhB1QFWusCwmT1IWrigDBThVIbzU2a9P0njOJtqrYnHEfdAAq7AJE=@vger.kernel.org X-Gm-Message-State: AOJu0Yz9KNbidjou27UED7FNoVHYBpotXzgratO0Wq5cMOrokOXUiwNq CqLV1dwt2ztIDajVkg5YxsmMlrB7DH2rIgMrfUY+GfKZaAaKhdtfwqh2 X-Gm-Gg: ATEYQzziJ2LjU0VQKrW6T13q8Z1vj9PTCEURC6uWj6oiXa7URgjVbjrhs9PqpSRc1MO rLScRewHslPltEvBs+WPN4FG5F86WotW08lJBngQhxxvbHBZ29276LVpWCfNGnw8s4KEvUs7fJ+ fhgpyKRzYgLGnWGfm+Hw8BrmUfvXdvDVMLRCJsoPi1++hOPWPaC24Bgz6cZ5N4HRoaMjFh1MUe3 rbHCOdwyCq3UUa0e2a/trxkbaqFkcxX1Nqp51BwenG66Xx/use36rcfXn/uvMeByk1L2IUEe4nH 22xRjBZiJ4n5hAV/39NPtmF2+klTyPLspErR6WxAJ5kaxiKogj4mC4iR8rJHNBi95rj/ZLjKFUo zvg5WqVpD5CpSB7VzyiUulSP3QDHq5Q3PhHtVLjrK3iN+23AK/uG/ETVHlDiKjClZWT9BUr3SKc G4IzZyD5NNynhvBuFmt3KDIn1afvPeGh7eI2vvpSCpPzDvJre+/W9XoqXBxmBLZ+C5jD3zepoP5 fKvG5XYoCq81/U= X-Received: by 2002:a05:7022:6990:b0:11a:4016:44a5 with SMTP id a92af1059eb24-128e780e7d2mr2499768c88.24.1773279815678; Wed, 11 Mar 2026 18:43:35 -0700 (PDT) Received: from dtor-ws.sjc.corp.google.com ([2a00:79e0:2ebe:8:53e0:5b17:5211:b0f4]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-128e7c0d698sm6619016c88.6.2026.03.11.18.43.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 Mar 2026 18:43:34 -0700 (PDT) From: Dmitry Torokhov Date: Wed, 11 Mar 2026 18:43:27 -0700 Subject: [PATCH 1/2] leds: core: implement fallback to software node name for LED names Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260311-led-swnode-name-v1-1-798a49e041c6@gmail.com> References: <20260311-led-swnode-name-v1-0-798a49e041c6@gmail.com> In-Reply-To: <20260311-led-swnode-name-v1-0-798a49e041c6@gmail.com> To: Lee Jones , Pavel Machek Cc: linux-leds@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.15-dev-a6826 If a software node defining an LED is missing explicit 'label', 'color', or 'function' properties, led_compose_name() currently fails with -EINVAL, because fallback to using node name in place of LED name/label is only implemented for OF nodes. Implement similar fallback for software nodes. Unlike OF nodes, which use the short 'name' attribute of the device tree node to avoid including the address block, use fwnode_get_name() directly since swnodes do not include an address block and always have a valid name. Signed-off-by: Dmitry Torokhov --- drivers/leds/led-core.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/leds/led-core.c b/drivers/leds/led-core.c index 59473f286b31..8ce41b36c645 100644 --- a/drivers/leds/led-core.c +++ b/drivers/leds/led-core.c @@ -581,6 +581,9 @@ int led_compose_name(struct device *dev, struct led_ini= t_data *init_data, } else if (is_of_node(fwnode)) { n =3D snprintf(led_classdev_name, LED_MAX_NAME_SIZE, "%s", to_of_node(fwnode)->name); + } else if (is_software_node(fwnode)) { + n =3D snprintf(led_classdev_name, LED_MAX_NAME_SIZE, "%s", + fwnode_get_name(fwnode)); } else return -EINVAL; =20 --=20 2.53.0.473.g4a7958ca14-goog From nobody Tue Apr 7 18:34:37 2026 Received: from mail-dl1-f41.google.com (mail-dl1-f41.google.com [74.125.82.41]) (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 66C863750C2 for ; Thu, 12 Mar 2026 01:43:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773279819; cv=none; b=dRYe4Bl1tgoZiojDYhmHQog9mcBcll9KNBjE03SiE9yd5+6LuzQBrwf8cBZspHND2Kx5ZkGm7S+4LlENXeYnp69ar63D5DyxBp3LcrO9cR/5VzuDmpxCHcZhJMpJfBHMiiXxJV1DK73SaYKs9EtH84Go7agWswxZCRPdlZwYlLs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773279819; c=relaxed/simple; bh=l6GNUZ4unz8iBC0eyUWwgfHXb01TZV/nJin3+Vl+TlI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=A68dEaiIaqYmnteM37qtwIt/ulRfYtlm7wKRSfTCTPlxt/qrR8yQlLFXjqXYbodNrlhHrkBaGvFOnT/uQADQGE9KoLy/AjbCgOsjYPEKMKP9To+AIOROiIvVCiIibDUpYy5EIeQy8ye7drDV0y/MIR9rhfohSYhWc7z7sqLp51o= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=lPOwLKsG; arc=none smtp.client-ip=74.125.82.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="lPOwLKsG" Received: by mail-dl1-f41.google.com with SMTP id a92af1059eb24-1271257ae53so714798c88.1 for ; Wed, 11 Mar 2026 18:43:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773279818; x=1773884618; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=5+p7WEhcxdXcwT+nZFEv66r3PCaex7suWOHvSHtbhYA=; b=lPOwLKsG7GcMo1HMNtft/YycsFzdLsskWFt0YLLmLeRWUauSg4Lba6mfCV8e/kgtcY eitT1uf41Bm2HVCX+fLOd0aVnDUstXKCwrlz+05RP1AICen118LOsEnz7wJgOdDal9yv qQEEZ2nnKt/2IsAcLzwDYOugDrRw/y/xSVVN+od8XE1oqTmCsp8ac5SyjtWj9zSqEKaw BJWDmYNBE1Kn5B2k5uwJtcusFJsnl3RCpm4V53/M2EZLfr29wGgXgGRQJiSgESQ4rgm0 m6OyDQZJk4eh3TWPcgSQtqqP5bkivtTliQgd1JkWEO8vCl9tFS38M/VoOrXR0Ya6fLbu 1tKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773279818; x=1773884618; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=5+p7WEhcxdXcwT+nZFEv66r3PCaex7suWOHvSHtbhYA=; b=tiLdFbju1+ZhmU0dPWFJ5J10ZSteSTsn7YNU5u5Cm/RHeEaTkgf9WIUa+LqzrufuME WCoOaDdTh5kfD06uua/AsmwmV68LSBA2t8hYpano4pNS/OgWIwJi8PEhxrJpqNLqIBYD 4w3eAG/+92AL1mt0rCNE657K26kndo2SO1355aNJcvq3oPaa3ieFfJh2dVsoiXSQ3ZZP zyvQB+NbQyDT849BU9Vye+oeKU19dy73cZ3OvvUizv63Ld6NIcQThjOSdVyGjk36bbD8 N8WXHonbCi625kI5SGLtfQ9BANARQujSC2qK+FH2CFHSMXUgd6aoYjtJQ7GPimFVDrwm H/5g== X-Forwarded-Encrypted: i=1; AJvYcCVNduU9RUGj/AbI+axrJc4vbZWmkJmJH2sKhTIyB7tjnl37vp1pTjOoq18Dmu/II4O8QBXAxobEtCFwE3E=@vger.kernel.org X-Gm-Message-State: AOJu0YzKftXZRaFBsSxVPX+WJrSHIbglvZzYM9XFt2D7mOVm6vOVlXFg Bs0NdeQaai9t69Q4ErHSY41W6gqLxLE0ZdlHbV18C/r2ogE39bc0Rphc X-Gm-Gg: ATEYQzwcurwRbuQvVcHYoypJ6+n4qmzzjsAefokQIRzf0DZsFTtW4Hq/aPpiOKvoQT+ RJFYXiIq0UeDpkIc3CAe5dCD05wKqYm5eMyqrUuNrllw8Fu0iczE67y7d6gC/0LkbRp0Vjnhtbb C9/MawJotxOLzX5IDjU/VCWDA983qe2ZcIAV5226eigjxBBHb1w4UJw+svyc+YlQ7iu0coLwX51 Cl50USM8pgN9HWL7T7Mtm/8vgLJOqavry+2pvCD8LUWMWtXZdkG25cvmfffqK4e/GHXnmrGZDyF lBeJcn59ESu7rZ+YetAj6Fs+JS1lZ+W05Gq6SGc/kHKtF7lJIFl8R+sYYhGjPIu/tAAX9mDOUlR Ow3OL5rKc0C2EzRZiVIOFJqe8YuMyooNlPoJC0O2+UOSTTxl7H4YrsxGDSj/3DCy6nW7SvfropO a4pbSTx/asUHAFsBMDW6BXul/yJnOXqyeanGbpVg3plTYFRXrTFkgjddI+tbGNS7LZuSBS/3B6G dGonb+vOwc7+N8= X-Received: by 2002:a05:7022:f102:b0:128:bac0:2ee3 with SMTP id a92af1059eb24-128e783cbd1mr2183396c88.33.1773279817465; Wed, 11 Mar 2026 18:43:37 -0700 (PDT) Received: from dtor-ws.sjc.corp.google.com ([2a00:79e0:2ebe:8:53e0:5b17:5211:b0f4]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-128e7c0d698sm6619016c88.6.2026.03.11.18.43.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 Mar 2026 18:43:36 -0700 (PDT) From: Dmitry Torokhov Date: Wed, 11 Mar 2026 18:43:28 -0700 Subject: [PATCH 2/2] leds: core: fix formatting issues Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260311-led-swnode-name-v1-2-798a49e041c6@gmail.com> References: <20260311-led-swnode-name-v1-0-798a49e041c6@gmail.com> In-Reply-To: <20260311-led-swnode-name-v1-0-798a49e041c6@gmail.com> To: Lee Jones , Pavel Machek Cc: linux-leds@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.15-dev-a6826 Fix formatting issues reported by checkpatch.pl, such as extra empty lines, lack of braces on some branches, and misaligned function arguments. Signed-off-by: Dmitry Torokhov --- drivers/leds/led-core.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/drivers/leds/led-core.c b/drivers/leds/led-core.c index 8ce41b36c645..385e78af1dac 100644 --- a/drivers/leds/led-core.c +++ b/drivers/leds/led-core.c @@ -85,7 +85,7 @@ static void led_timer_function(struct timer_list *t) if (!brightness) { /* Time to switch the LED on. */ if (test_and_clear_bit(LED_BLINK_BRIGHTNESS_CHANGE, - &led_cdev->work_flags)) + &led_cdev->work_flags)) brightness =3D led_cdev->new_blink_brightness; else brightness =3D led_cdev->blink_brightness; @@ -217,10 +217,9 @@ static void led_set_software_blink(struct led_classdev= *led_cdev, mod_timer(&led_cdev->blink_timer, jiffies + 1); } =20 - static void led_blink_setup(struct led_classdev *led_cdev, - unsigned long *delay_on, - unsigned long *delay_off) + unsigned long *delay_on, + unsigned long *delay_off) { if (!test_bit(LED_BLINK_ONESHOT, &led_cdev->work_flags) && led_cdev->blink_set && @@ -262,7 +261,7 @@ void led_blink_set_oneshot(struct led_classdev *led_cde= v, int invert) { if (test_bit(LED_BLINK_ONESHOT, &led_cdev->work_flags) && - timer_pending(&led_cdev->blink_timer)) + timer_pending(&led_cdev->blink_timer)) return; =20 set_bit(LED_BLINK_ONESHOT, &led_cdev->work_flags); @@ -347,9 +346,9 @@ void led_set_brightness_nopm(struct led_classdev *led_c= dev, unsigned int value) /* Ensure delayed_set_value is seen before work_flags modification */ smp_mb__before_atomic(); =20 - if (value) + if (value) { set_bit(LED_SET_BRIGHTNESS, &led_cdev->work_flags); - else { + } else { clear_bit(LED_SET_BRIGHTNESS, &led_cdev->work_flags); clear_bit(LED_SET_BLINK, &led_cdev->work_flags); set_bit(LED_SET_BRIGHTNESS_OFF, &led_cdev->work_flags); @@ -499,7 +498,6 @@ static void led_parse_fwnode_props(struct device *dev, props->color_present =3D true; } =20 - if (!fwnode_property_present(fwnode, "function")) return; =20 @@ -584,8 +582,9 @@ int led_compose_name(struct device *dev, struct led_ini= t_data *init_data, } else if (is_software_node(fwnode)) { n =3D snprintf(led_classdev_name, LED_MAX_NAME_SIZE, "%s", fwnode_get_name(fwnode)); - } else + } else { return -EINVAL; + } =20 if (n >=3D LED_MAX_NAME_SIZE) return -E2BIG; --=20 2.53.0.473.g4a7958ca14-goog