[v1,2/2] resource: Convert DEFINE_RES_NAMED() to be compound literal

Message ID 20221109105114.32886-2-andriy.shevchenko@linux.intel.com
State New
Headers
Series [v1,1/2] resource: Replace printk(KERN_WARNING) by pr_warn() |

Commit Message

Andy Shevchenko Nov. 9, 2022, 10:51 a.m. UTC
  Currently DEFINE_RES_NAMED() can only be used to fill the static data.
In some cases it would be convenient to use it as right value in the
assignment operation. But it can't be done as is, because compiler has
no clue about the data layout. Converting it to be a compound literal
allows the above mentioned usage.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 include/linux/ioport.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Rafael J. Wysocki Nov. 9, 2022, 11:14 a.m. UTC | #1
On Wed, Nov 9, 2022 at 11:50 AM Andy Shevchenko
<andriy.shevchenko@linux.intel.com> wrote:
>
> Currently DEFINE_RES_NAMED() can only be used to fill the static data.
> In some cases it would be convenient to use it as right value in the
> assignment operation. But it can't be done as is, because compiler has
> no clue about the data layout. Converting it to be a compound literal
> allows the above mentioned usage.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

Reviewed-by: Rafael J. Wysocki <rafael@kernel.org>

> ---
>  include/linux/ioport.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/linux/ioport.h b/include/linux/ioport.h
> index 27642ca15d93..67d3fb2133b6 100644
> --- a/include/linux/ioport.h
> +++ b/include/linux/ioport.h
> @@ -155,7 +155,7 @@ enum {
>
>  /* helpers to define resources */
>  #define DEFINE_RES_NAMED(_start, _size, _name, _flags)                 \
> -       {                                                               \
> +(struct resource) {                                                    \
>                 .start = (_start),                                      \
>                 .end = (_start) + (_size) - 1,                          \
>                 .name = (_name),                                        \
> --
> 2.35.1
>
  

Patch

diff --git a/include/linux/ioport.h b/include/linux/ioport.h
index 27642ca15d93..67d3fb2133b6 100644
--- a/include/linux/ioport.h
+++ b/include/linux/ioport.h
@@ -155,7 +155,7 @@  enum {
 
 /* helpers to define resources */
 #define DEFINE_RES_NAMED(_start, _size, _name, _flags)			\
-	{								\
+(struct resource) {							\
 		.start = (_start),					\
 		.end = (_start) + (_size) - 1,				\
 		.name = (_name),					\