2024-01-22 17:19:41

by Rafael J. Wysocki

[permalink] [raw]
Subject: [PATCH v1] PM: sleep: Use bool for all 1-bit fields in struct dev_pm_info

From: Rafael J. Wysocki <[email protected]>

For some 1-bit fields in struct dev_pm_info the data type is bool, while
for some other 1-bit fields in there it is unsigned int, and these
differences are somewhat arbitrary.

For consistency, change the data type of the latter to bool, so that all
of the 1-bit fields in struct dev_pm_info fields are bool.

This also reduces the size of struct device on my x86 systems by 8 B,
from 1120 B to 1112 B.

No intentional functional impact.

Signed-off-by: Rafael J. Wysocki <[email protected]>
---
include/linux/pm.h | 32 ++++++++++++++++----------------
1 file changed, 16 insertions(+), 16 deletions(-)

Index: linux-pm/include/linux/pm.h
===================================================================
--- linux-pm.orig/include/linux/pm.h
+++ linux-pm/include/linux/pm.h
@@ -662,8 +662,8 @@ struct pm_subsys_data {

struct dev_pm_info {
pm_message_t power_state;
- unsigned int can_wakeup:1;
- unsigned int async_suspend:1;
+ bool can_wakeup:1;
+ bool async_suspend:1;
bool in_dpm_list:1; /* Owned by the PM core */
bool is_prepared:1; /* Owned by the PM core */
bool is_suspended:1; /* Ditto */
@@ -682,10 +682,10 @@ struct dev_pm_info {
bool syscore:1;
bool no_pm_callbacks:1; /* Owned by the PM core */
bool async_in_progress:1; /* Owned by the PM core */
- unsigned int must_resume:1; /* Owned by the PM core */
- unsigned int may_skip_resume:1; /* Set by subsystems */
+ bool must_resume:1; /* Owned by the PM core */
+ bool may_skip_resume:1; /* Set by subsystems */
#else
- unsigned int should_wakeup:1;
+ bool should_wakeup:1;
#endif
#ifdef CONFIG_PM
struct hrtimer suspend_timer;
@@ -696,18 +696,18 @@ struct dev_pm_info {
atomic_t usage_count;
atomic_t child_count;
unsigned int disable_depth:3;
- unsigned int idle_notification:1;
- unsigned int request_pending:1;
- unsigned int deferred_resume:1;
- unsigned int needs_force_resume:1;
- unsigned int runtime_auto:1;
+ bool idle_notification:1;
+ bool request_pending:1;
+ bool deferred_resume:1;
+ bool needs_force_resume:1;
+ bool runtime_auto:1;
bool ignore_children:1;
- unsigned int no_callbacks:1;
- unsigned int irq_safe:1;
- unsigned int use_autosuspend:1;
- unsigned int timer_autosuspends:1;
- unsigned int memalloc_noio:1;
- unsigned int links_count;
+ bool no_callbacks:1;
+ bool irq_safe:1;
+ bool use_autosuspend:1;
+ bool timer_autosuspends:1;
+ bool memalloc_noio:1;
+ bool links_count;
enum rpm_request request;
enum rpm_status runtime_status;
enum rpm_status last_status;





2024-01-22 17:54:57

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH v1] PM: sleep: Use bool for all 1-bit fields in struct dev_pm_info

On Mon, Jan 22, 2024 at 05:11:26PM +0100, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <[email protected]>
>
> For some 1-bit fields in struct dev_pm_info the data type is bool, while
> for some other 1-bit fields in there it is unsigned int, and these
> differences are somewhat arbitrary.
>
> For consistency, change the data type of the latter to bool, so that all
> of the 1-bit fields in struct dev_pm_info fields are bool.
>
> This also reduces the size of struct device on my x86 systems by 8 B,
> from 1120 B to 1112 B.
>
> No intentional functional impact.
>
> Signed-off-by: Rafael J. Wysocki <[email protected]>
> ---
> include/linux/pm.h | 32 ++++++++++++++++----------------
> 1 file changed, 16 insertions(+), 16 deletions(-)

Reviewed-by: Greg Kroah-Hartman <[email protected]>

2024-01-23 10:30:05

by Stanislaw Gruszka

[permalink] [raw]
Subject: Re: [PATCH v1] PM: sleep: Use bool for all 1-bit fields in struct dev_pm_info

On Mon, Jan 22, 2024 at 05:11:26PM +0100, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <[email protected]>
>
> For some 1-bit fields in struct dev_pm_info the data type is bool, while
> for some other 1-bit fields in there it is unsigned int, and these
> differences are somewhat arbitrary.
>
> For consistency, change the data type of the latter to bool, so that all
> of the 1-bit fields in struct dev_pm_info fields are bool.
>
> This also reduces the size of struct device on my x86 systems by 8 B,
> from 1120 B to 1112 B.
>
> No intentional functional impact.
>
> Signed-off-by: Rafael J. Wysocki <[email protected]>

Reviewed-by: Stanislaw Gruszka <[email protected]>