2009-10-06 16:07:44

by Haavard Skinnemoen

[permalink] [raw]
Subject: [PATCH] atmel_serial: Fix bad BUILD_BUG_ON() usage

is_power_of_2() appears not to be constant enough for BUILD_BUG_ON()
after the latest rework, so replace it with an open-coded test.

Signed-off-by: Haavard Skinnemoen <[email protected]>
---
drivers/serial/atmel_serial.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/serial/atmel_serial.c b/drivers/serial/atmel_serial.c
index 3551c5c..9d948bc 100644
--- a/drivers/serial/atmel_serial.c
+++ b/drivers/serial/atmel_serial.c
@@ -1531,7 +1531,7 @@ static int __devinit atmel_serial_probe(struct platform_device *pdev)
void *data;
int ret;

- BUILD_BUG_ON(!is_power_of_2(ATMEL_SERIAL_RINGSIZE));
+ BUILD_BUG_ON(ATMEL_SERIAL_RINGSIZE & (ATMEL_SERIAL_RINGSIZE - 1));

port = &atmel_ports[pdev->id];
port->backup_imr = 0;
--
1.6.0.4


2009-10-07 13:20:56

by Nicolas Ferre

[permalink] [raw]
Subject: Re: [PATCH] atmel_serial: Fix bad BUILD_BUG_ON() usage

Haavard Skinnemoen :
> is_power_of_2() appears not to be constant enough for BUILD_BUG_ON()
> after the latest rework, so replace it with an open-coded test.
>
> Signed-off-by: Haavard Skinnemoen <[email protected]>
Acked-by: Nicolas Ferre <[email protected]>
> ---
> drivers/serial/atmel_serial.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/serial/atmel_serial.c b/drivers/serial/atmel_serial.c
> index 3551c5c..9d948bc 100644
> --- a/drivers/serial/atmel_serial.c
> +++ b/drivers/serial/atmel_serial.c
> @@ -1531,7 +1531,7 @@ static int __devinit atmel_serial_probe(struct platform_device *pdev)
> void *data;
> int ret;
>
> - BUILD_BUG_ON(!is_power_of_2(ATMEL_SERIAL_RINGSIZE));
> + BUILD_BUG_ON(ATMEL_SERIAL_RINGSIZE & (ATMEL_SERIAL_RINGSIZE - 1));
>
> port = &atmel_ports[pdev->id];
> port->backup_imr = 0;


--
Nicolas Ferre

2009-10-12 07:59:48

by Claudio Scordino

[permalink] [raw]
Subject: Re: [PATCH] atmel_serial: Fix bad BUILD_BUG_ON() usage

Nicolas Ferre ha scritto:
> Haavard Skinnemoen :
>> is_power_of_2() appears not to be constant enough for BUILD_BUG_ON()
>> after the latest rework, so replace it with an open-coded test.
>>
>> Signed-off-by: Haavard Skinnemoen <[email protected]>
> Acked-by: Nicolas Ferre <[email protected]>
>> ---
>> drivers/serial/atmel_serial.c | 2 +-
>> 1 files changed, 1 insertions(+), 1 deletions(-)
>>
>> diff --git a/drivers/serial/atmel_serial.c b/drivers/serial/atmel_serial.c
>> index 3551c5c..9d948bc 100644
>> --- a/drivers/serial/atmel_serial.c
>> +++ b/drivers/serial/atmel_serial.c
>> @@ -1531,7 +1531,7 @@ static int __devinit atmel_serial_probe(struct platform_device *pdev)
>> void *data;
>> int ret;
>>
>> - BUILD_BUG_ON(!is_power_of_2(ATMEL_SERIAL_RINGSIZE));
>> + BUILD_BUG_ON(ATMEL_SERIAL_RINGSIZE & (ATMEL_SERIAL_RINGSIZE - 1));
>>
>> port = &atmel_ports[pdev->id];
>> port->backup_imr = 0;
>
>

Hi all,

I was expecting this patch to be merged in 2.6.32-rc4...

Consider that without this change, the driver does not _even_ build
(that's why I think we shouldn't wait the next merge window...).

Regards,

Claudio