[PATCH -next] printk: Use the BITS_PER_LONG macro

Jinjie Ruan posted 1 patch 1 year, 5 months ago
There is a newer version of this series
kernel/printk/printk_ringbuffer.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH -next] printk: Use the BITS_PER_LONG macro
Posted by Jinjie Ruan 1 year, 5 months ago
sizeof(unsigned long) * 8 is the number of bits in an unsigned long
variable, replace it with BITS_PER_LONG macro to make it simpler.

Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com>
---
 kernel/printk/printk_ringbuffer.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/printk/printk_ringbuffer.h b/kernel/printk/printk_ringbuffer.h
index bd2a892deac1..7433fe477e08 100644
--- a/kernel/printk/printk_ringbuffer.h
+++ b/kernel/printk/printk_ringbuffer.h
@@ -122,7 +122,7 @@ enum desc_state {
 
 #define _DATA_SIZE(sz_bits)	(1UL << (sz_bits))
 #define _DESCS_COUNT(ct_bits)	(1U << (ct_bits))
-#define DESC_SV_BITS		(sizeof(unsigned long) * 8)
+#define DESC_SV_BITS		BITS_PER_LONG
 #define DESC_FLAGS_SHIFT	(DESC_SV_BITS - 2)
 #define DESC_FLAGS_MASK		(3UL << DESC_FLAGS_SHIFT)
 #define DESC_STATE(sv)		(3UL & (sv >> DESC_FLAGS_SHIFT))
-- 
2.34.1
Re: [PATCH -next] printk: Use the BITS_PER_LONG macro
Posted by John Ogness 1 year, 5 months ago
On 2024-09-02, Jinjie Ruan <ruanjinjie@huawei.com> wrote:
> sizeof(unsigned long) * 8 is the number of bits in an unsigned long
> variable, replace it with BITS_PER_LONG macro to make it simpler.
>
> Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com>
> ---
>  kernel/printk/printk_ringbuffer.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/printk/printk_ringbuffer.h b/kernel/printk/printk_ringbuffer.h
> index bd2a892deac1..7433fe477e08 100644
> --- a/kernel/printk/printk_ringbuffer.h
> +++ b/kernel/printk/printk_ringbuffer.h
> @@ -122,7 +122,7 @@ enum desc_state {
>  
>  #define _DATA_SIZE(sz_bits)	(1UL << (sz_bits))
>  #define _DESCS_COUNT(ct_bits)	(1U << (ct_bits))
> -#define DESC_SV_BITS		(sizeof(unsigned long) * 8)
> +#define DESC_SV_BITS		BITS_PER_LONG

We should also add:

#include <linux/bits.h>

John Ogness
Re: [PATCH -next] printk: Use the BITS_PER_LONG macro
Posted by Jinjie Ruan 1 year, 5 months ago

On 2024/9/2 20:07, John Ogness wrote:
> On 2024-09-02, Jinjie Ruan <ruanjinjie@huawei.com> wrote:
>> sizeof(unsigned long) * 8 is the number of bits in an unsigned long
>> variable, replace it with BITS_PER_LONG macro to make it simpler.
>>
>> Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com>
>> ---
>>  kernel/printk/printk_ringbuffer.h | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/kernel/printk/printk_ringbuffer.h b/kernel/printk/printk_ringbuffer.h
>> index bd2a892deac1..7433fe477e08 100644
>> --- a/kernel/printk/printk_ringbuffer.h
>> +++ b/kernel/printk/printk_ringbuffer.h
>> @@ -122,7 +122,7 @@ enum desc_state {
>>  
>>  #define _DATA_SIZE(sz_bits)	(1UL << (sz_bits))
>>  #define _DESCS_COUNT(ct_bits)	(1U << (ct_bits))
>> -#define DESC_SV_BITS		(sizeof(unsigned long) * 8)
>> +#define DESC_SV_BITS		BITS_PER_LONG
> 
> We should also add:
> 
> #include <linux/bits.h>

maybe  #include <asm/bitsperlong.h> ?

> 
> John Ogness