Re: [PATCH 3/3] platform/x86: asus-armoury: add keyboard control firmware attributes

From: Krzysztof Kozlowski
Date: Fri Dec 26 2025 - 07:20:23 EST


On 26/12/2025 12:46, Denis Benato wrote:
>
> On 12/26/25 12:06, Krzysztof Kozlowski wrote:
>> On 25/12/2025 15:30, Denis Benato wrote:
>>> +ASUS_ATTR_GROUP_BOOL(kbd_leds_shutdown, "kbd_leds_shutdown",
>>> + "Keyboard backlight while system is shutdown");
>>> +
>>> static ssize_t gpu_mux_mode_current_value_store(struct kobject *kobj,
>>> struct kobj_attribute *attr,
>>> const char *buf, size_t count)
>>> @@ -867,6 +1043,35 @@ static bool has_valid_limit(const char *name, const struct power_limits *limits)
>>> return limit_value > 0;
>>> }
>>>
>>> +static struct asus_armoury_kbd_status *asus_init_kbd_state(void)
>>> +{
>>> + int err;
>>> + u32 kbd_status;
>>> + struct asus_armoury_kbd_status *kbd_state __free(kfree) = NULL;
>> This is an undesired syntax explicitly documented as one to avoid. You
>> need here proper assignment, not NULL. Please don't use cleanup.h if you
>> do not intend to follow it because it does not make the code simpler.
> Hello and thank you for your feedback!
>
> I have used __free here to match a previous comment from Ilpo:
> https://lore.kernel.org/all/25bd0c90-2de0-ef66-c18d-661180b71fd4@xxxxxxxxxxxxxxx/
> and I figured that since this is the same exact pattern as that it would have made
> sense to use it.
>
> May I ask you to elaborate further please? If there is a more effective way to take
> advantage of cleanup.h I will very much consider it.

Just read the doc before using it. It is very, very clear what is the
recommended syntax,


Best regards,
Krzysztof