2017-07-21 16:19:14

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH] xen/pvcalls: use WARN_ON(1) instead of __WARN()

__WARN() is an internal helper that is only available on
some architectures, but causes a build error e.g. on ARM64
in some configurations:

drivers/xen/pvcalls-back.c: In function 'set_backend_state':
drivers/xen/pvcalls-back.c:1097:5: error: implicit declaration of function '__WARN' [-Werror=implicit-function-declaration]

Unfortunately, there is no equivalent of BUG() that takes no
arguments, but WARN_ON(1) is commonly used in other drivers
and works on all configurations.

Fixes: 7160378206b2 ("xen/pvcalls: xenbus state handling")
Signed-off-by: Arnd Bergmann <[email protected]>
---
drivers/xen/pvcalls-back.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/xen/pvcalls-back.c b/drivers/xen/pvcalls-back.c
index d6c4c4aecb41..00c1a2344330 100644
--- a/drivers/xen/pvcalls-back.c
+++ b/drivers/xen/pvcalls-back.c
@@ -1094,7 +1094,7 @@ static void set_backend_state(struct xenbus_device *dev,
xenbus_switch_state(dev, XenbusStateClosing);
break;
default:
- __WARN();
+ WARN_ON(1);
}
break;
case XenbusStateInitWait:
@@ -1109,7 +1109,7 @@ static void set_backend_state(struct xenbus_device *dev,
xenbus_switch_state(dev, XenbusStateClosing);
break;
default:
- __WARN();
+ WARN_ON(1);
}
break;
case XenbusStateConnected:
@@ -1123,7 +1123,7 @@ static void set_backend_state(struct xenbus_device *dev,
xenbus_switch_state(dev, XenbusStateClosing);
break;
default:
- __WARN();
+ WARN_ON(1);
}
break;
case XenbusStateClosing:
@@ -1134,11 +1134,11 @@ static void set_backend_state(struct xenbus_device *dev,
xenbus_switch_state(dev, XenbusStateClosed);
break;
default:
- __WARN();
+ WARN_ON(1);
}
break;
default:
- __WARN();
+ WARN_ON(1);
}
}
}
--
2.9.0


2017-07-21 18:20:26

by Boris Ostrovsky

[permalink] [raw]
Subject: Re: [PATCH] xen/pvcalls: use WARN_ON(1) instead of __WARN()

On 07/21/2017 12:17 PM, Arnd Bergmann wrote:
> __WARN() is an internal helper that is only available on
> some architectures, but causes a build error e.g. on ARM64
> in some configurations:
>
> drivers/xen/pvcalls-back.c: In function 'set_backend_state':
> drivers/xen/pvcalls-back.c:1097:5: error: implicit declaration of function '__WARN' [-Werror=implicit-function-declaration]
>
> Unfortunately, there is no equivalent of BUG() that takes no
> arguments, but WARN_ON(1) is commonly used in other drivers
> and works on all configurations.
>
> Fixes: 7160378206b2 ("xen/pvcalls: xenbus state handling")
> Signed-off-by: Arnd Bergmann <[email protected]>

Reviewed-by: Boris Ostrovsky <[email protected]>


2017-07-21 19:26:14

by Stefano Stabellini

[permalink] [raw]
Subject: Re: [PATCH] xen/pvcalls: use WARN_ON(1) instead of __WARN()

On Fri, 21 Jul 2017, Arnd Bergmann wrote:
> __WARN() is an internal helper that is only available on
> some architectures, but causes a build error e.g. on ARM64
> in some configurations:
>
> drivers/xen/pvcalls-back.c: In function 'set_backend_state':
> drivers/xen/pvcalls-back.c:1097:5: error: implicit declaration of function '__WARN' [-Werror=implicit-function-declaration]
>
> Unfortunately, there is no equivalent of BUG() that takes no
> arguments, but WARN_ON(1) is commonly used in other drivers
> and works on all configurations.
>
> Fixes: 7160378206b2 ("xen/pvcalls: xenbus state handling")
> Signed-off-by: Arnd Bergmann <[email protected]>

Reviewed-by: Stefano Stabellini <[email protected]>


> ---
> drivers/xen/pvcalls-back.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/xen/pvcalls-back.c b/drivers/xen/pvcalls-back.c
> index d6c4c4aecb41..00c1a2344330 100644
> --- a/drivers/xen/pvcalls-back.c
> +++ b/drivers/xen/pvcalls-back.c
> @@ -1094,7 +1094,7 @@ static void set_backend_state(struct xenbus_device *dev,
> xenbus_switch_state(dev, XenbusStateClosing);
> break;
> default:
> - __WARN();
> + WARN_ON(1);
> }
> break;
> case XenbusStateInitWait:
> @@ -1109,7 +1109,7 @@ static void set_backend_state(struct xenbus_device *dev,
> xenbus_switch_state(dev, XenbusStateClosing);
> break;
> default:
> - __WARN();
> + WARN_ON(1);
> }
> break;
> case XenbusStateConnected:
> @@ -1123,7 +1123,7 @@ static void set_backend_state(struct xenbus_device *dev,
> xenbus_switch_state(dev, XenbusStateClosing);
> break;
> default:
> - __WARN();
> + WARN_ON(1);
> }
> break;
> case XenbusStateClosing:
> @@ -1134,11 +1134,11 @@ static void set_backend_state(struct xenbus_device *dev,
> xenbus_switch_state(dev, XenbusStateClosed);
> break;
> default:
> - __WARN();
> + WARN_ON(1);
> }
> break;
> default:
> - __WARN();
> + WARN_ON(1);
> }
> }
> }
> --
> 2.9.0
>

2017-08-16 18:37:16

by Boris Ostrovsky

[permalink] [raw]
Subject: Re: [PATCH] xen/pvcalls: use WARN_ON(1) instead of __WARN()

On 07/21/2017 03:26 PM, Stefano Stabellini wrote:
> On Fri, 21 Jul 2017, Arnd Bergmann wrote:
>> __WARN() is an internal helper that is only available on
>> some architectures, but causes a build error e.g. on ARM64
>> in some configurations:
>>
>> drivers/xen/pvcalls-back.c: In function 'set_backend_state':
>> drivers/xen/pvcalls-back.c:1097:5: error: implicit declaration of function '__WARN' [-Werror=implicit-function-declaration]
>>
>> Unfortunately, there is no equivalent of BUG() that takes no
>> arguments, but WARN_ON(1) is commonly used in other drivers
>> and works on all configurations.
>>
>> Fixes: 7160378206b2 ("xen/pvcalls: xenbus state handling")
>> Signed-off-by: Arnd Bergmann <[email protected]>
> Reviewed-by: Stefano Stabellini <[email protected]>
>

Applied to for-linus-4.14

-boris