platform/x86: think-lmi: Add bulk save feature
authorMark Pearson <mpearson-lenovo@squebb.ca>
Tue, 19 Sep 2023 14:15:26 +0000 (10:15 -0400)
committerHans de Goede <hdegoede@redhat.com>
Thu, 21 Sep 2023 16:29:29 +0000 (18:29 +0200)
commit318d97849fc2cb45b2238fdb9eaa714b5d669df5
tree43965991559842dd9f5f30e551232d7ab975c179
parent423c3361855c1e81f1cb91728a2ac5ddfd2cbf16
platform/x86: think-lmi: Add bulk save feature

On Lenovo platforms there is a limitation in the number of times an
attribute can be saved. This is an architectural limitation and it limits
the number of attributes that can be modified to 48.
A solution for this is instead of the attribute being saved after every
modification allow a user to bulk set the attributes and then trigger a
final save. This allows unlimited attributes.

This patch introduces a save_settings attribute that can be configured to
either single or bulk mode by the user.
Single mode is the default but customers who want to avoid the 48
attribute limit can enable bulk mode.

Displaying the save_settings attribute will display the enabled mode.

When in bulk mode writing 'save' to the save_settings attribute will
trigger a save. Once this has been done a reboot is required before more
attributes can be modified.

Signed-off-by: Mark Pearson <mpearson-lenovo@squebb.ca>
Link: https://lore.kernel.org/r/20230919141530.4805-1-mpearson-lenovo@squebb.ca
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Documentation/ABI/testing/sysfs-class-firmware-attributes
drivers/platform/x86/think-lmi.c
drivers/platform/x86/think-lmi.h