button: make button_get_by_label() case insensitive
authorCaleb Connolly <caleb.connolly@linaro.org>
Mon, 31 Mar 2025 12:23:23 +0000 (14:23 +0200)
committerCaleb Connolly <caleb.connolly@linaro.org>
Fri, 11 Apr 2025 13:28:14 +0000 (15:28 +0200)
This function is already doing a fuzzy match, since there are no
guarantees that a given label is unique.

Ignoring case makes it much easier to catch "Volume down" or "Volume
Down" in board-agnostic code.

Tested-by: Danila Tikhonov <danila@jiaxyga.com> # google-sunfish
Tested-by: Jens Reidel <adrian@mainlining.org> # xiaomi-davinci
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20250331-qcom-phones-v4-6-f52e57d3b8c6@linaro.org
Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
drivers/button/button-uclass.c

index 729983d..0259178 100644 (file)
@@ -21,7 +21,7 @@ int button_get_by_label(const char *label, struct udevice **devp)
                struct button_uc_plat *uc_plat = dev_get_uclass_plat(dev);
 
                /* Ignore the top-level button node */
-               if (uc_plat->label && !strcmp(label, uc_plat->label))
+               if (uc_plat->label && !strcasecmp(label, uc_plat->label))
                        return uclass_get_device_tail(dev, 0, devp);
        }