2021-12-21 16:28:33

by Armin Wolf

[permalink] [raw]
Subject: [PATCH] hwmon: (dell-smm) Pack the whole smm_regs struct

When desiring the whole struct to be packed, __packed
should be applied to the whole struct, not just
every struct member except the first one.

Tested on a Dell Inspiron 3505.

Signed-off-by: Armin Wolf <[email protected]>
---
drivers/hwmon/dell-smm-hwmon.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/hwmon/dell-smm-hwmon.c b/drivers/hwmon/dell-smm-hwmon.c
index d8c6e75bb374..d401f9acf450 100644
--- a/drivers/hwmon/dell-smm-hwmon.c
+++ b/drivers/hwmon/dell-smm-hwmon.c
@@ -113,12 +113,12 @@ MODULE_PARM_DESC(fan_max, "Maximum configurable fan speed (default: autodetect)"

struct smm_regs {
unsigned int eax;
- unsigned int ebx __packed;
- unsigned int ecx __packed;
- unsigned int edx __packed;
- unsigned int esi __packed;
- unsigned int edi __packed;
-};
+ unsigned int ebx;
+ unsigned int ecx;
+ unsigned int edx;
+ unsigned int esi;
+ unsigned int edi;
+} __packed;

static const char * const temp_labels[] = {
"CPU",
--
2.30.2



2021-12-21 16:55:05

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH] hwmon: (dell-smm) Pack the whole smm_regs struct

On Tue, Dec 21, 2021 at 05:28:05PM +0100, Armin Wolf wrote:
> When desiring the whole struct to be packed, __packed
> should be applied to the whole struct, not just
> every struct member except the first one.
>
> Tested on a Dell Inspiron 3505.
>
> Signed-off-by: Armin Wolf <[email protected]>

Applied to hwmon-next.

Thanks,
Guenter

> ---
> drivers/hwmon/dell-smm-hwmon.c | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> --
> 2.30.2
>
> diff --git a/drivers/hwmon/dell-smm-hwmon.c b/drivers/hwmon/dell-smm-hwmon.c
> index d8c6e75bb374..d401f9acf450 100644
> --- a/drivers/hwmon/dell-smm-hwmon.c
> +++ b/drivers/hwmon/dell-smm-hwmon.c
> @@ -113,12 +113,12 @@ MODULE_PARM_DESC(fan_max, "Maximum configurable fan speed (default: autodetect)"
>
> struct smm_regs {
> unsigned int eax;
> - unsigned int ebx __packed;
> - unsigned int ecx __packed;
> - unsigned int edx __packed;
> - unsigned int esi __packed;
> - unsigned int edi __packed;
> -};
> + unsigned int ebx;
> + unsigned int ecx;
> + unsigned int edx;
> + unsigned int esi;
> + unsigned int edi;
> +} __packed;
>
> static const char * const temp_labels[] = {
> "CPU",