Re: [PATCH v2] block: Make request_queue.rpm_status an enum

From: Bart Van Assche
Date: Tue May 05 2020 - 13:55:32 EST


On 2020-05-05 07:03, Geert Uytterhoeven wrote:
> request_queue.rpm_status is assigned values of the rpm_status enum only,
> so reflect that in its type.
>
> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
> ---
> Perhaps this was done to avoid the need to #include <linux/pm.h>?
> Let's see what kbuild has to report about this...
>
> v2:
> - Add Acked-by.
> ---
> include/linux/blkdev.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
> index f00bd4042295967d..1e2c6f7a188941f1 100644
> --- a/include/linux/blkdev.h
> +++ b/include/linux/blkdev.h
> @@ -454,7 +454,7 @@ struct request_queue {
>
> #ifdef CONFIG_PM
> struct device *dev;
> - int rpm_status;
> + enum rpm_status rpm_status;
> unsigned int nr_pending;
> #endif

Forward declarations of enums are not supported by the C language as far
as I know. Relying on kbuild to decide whether or not to include
<linux/pm.h> seems wrong to me. Please either add #include <linux/pm.h>
or drop this patch.

Thanks,

Bart.