lkml.org 
[lkml]   [2023]   [Aug]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH] platform/x86: msi-ec: Fix the build
From
Hi,

On 8/5/23 10:10, Jean Delvare wrote:
> The msi-ec driver fails to build for me (gcc 7.5):
>
> CC [M] drivers/platform/x86/msi-ec.o
> drivers/platform/x86/msi-ec.c:72:6: error: initializer element is not constant
> { SM_ECO_NAME, 0xc2 },
> ^~~~~~~~~~~
> drivers/platform/x86/msi-ec.c:72:6: note: (near initialization for ‘CONF0.shift_mode.modes[0].name’)
> drivers/platform/x86/msi-ec.c:73:6: error: initializer element is not constant
> { SM_COMFORT_NAME, 0xc1 },
> ^~~~~~~~~~~~~~~
> drivers/platform/x86/msi-ec.c:73:6: note: (near initialization for ‘CONF0.shift_mode.modes[1].name’)
> drivers/platform/x86/msi-ec.c:74:6: error: initializer element is not constant
> { SM_SPORT_NAME, 0xc0 },
> ^~~~~~~~~~~~~
> drivers/platform/x86/msi-ec.c:74:6: note: (near initialization for ‘CONF0.shift_mode.modes[2].name’)
> (...)
>
> Don't try to be smart, just use defines for the constant strings. The
> compiler will recognize it's the same string and will store it only
> once in the data section anyway.
>
> Signed-off-by: Jean Delvare <jdelvare@suse.de>
> Fixes: 392cacf2aa10 ("platform/x86: Add new msi-ec driver")
> Cc: stable@vger.kernel.org
> Cc: Nikita Kravets <teackot@gmail.com>
> Cc: Hans de Goede <hdegoede@redhat.com>
> Cc: Mark Gross <markgross@kernel.org>

Thank you for your patch, I've applied this patch to my fixes
branch:
https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=fixes

I will include this patch in my next fixes pull-req to Linus
for the current kernel development cycle.

Regards,

Hans







> ---
> drivers/platform/x86/msi-ec.c | 16 ++++++++--------
> 1 file changed, 8 insertions(+), 8 deletions(-)
>
> --- linux-6.4.orig/drivers/platform/x86/msi-ec.c
> +++ linux-6.4/drivers/platform/x86/msi-ec.c
> @@ -27,15 +27,15 @@
> #include <linux/seq_file.h>
> #include <linux/string.h>
>
> -static const char *const SM_ECO_NAME = "eco";
> -static const char *const SM_COMFORT_NAME = "comfort";
> -static const char *const SM_SPORT_NAME = "sport";
> -static const char *const SM_TURBO_NAME = "turbo";
> +#define SM_ECO_NAME "eco"
> +#define SM_COMFORT_NAME "comfort"
> +#define SM_SPORT_NAME "sport"
> +#define SM_TURBO_NAME "turbo"
>
> -static const char *const FM_AUTO_NAME = "auto";
> -static const char *const FM_SILENT_NAME = "silent";
> -static const char *const FM_BASIC_NAME = "basic";
> -static const char *const FM_ADVANCED_NAME = "advanced";
> +#define FM_AUTO_NAME "auto"
> +#define FM_SILENT_NAME "silent"
> +#define FM_BASIC_NAME "basic"
> +#define FM_ADVANCED_NAME "advanced"
>
> static const char * const ALLOWED_FW_0[] __initconst = {
> "14C1EMS1.012",
>
>

\
 
 \ /
  Last update: 2023-08-09 22:01    [W:0.027 / U:0.260 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site