Skip to contentSkip to conversation

is_power_of_2 in rtc

PATCH Superseded Vignesh Babu BM 2 participants 2 messages Feb 19, 2007

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 is_power_of_2 in rtc

Replacing (n & (n-1)) in the context of power of 2 checks with is_power_of_2

---

drivers/rtc/rtc-s3c.c +2 -1
index f406a2b..212ec32 100644
@@ -20,6 +20,7 @@
 #include <linux/rtc.h>
 #include <linux/bcd.h>
 #include <linux/clk.h>
+#include <linux/log2.h>
 
 #include <asm/hardware.h>
 #include <asm/uaccess.h>
@@ -311,7 +312,7 @@ static int s3c_rtc_ioctl(struct device *dev,
 	case RTC_IRQP_SET:
 		/* check for power of 2 */
 
-		if ((arg & (arg-1)) != 0 || arg < 1) {
+		if (!arg || !is_power_of_2(arg)) {
 			ret = -EINVAL;
 			goto exit;
 		}
Signature · 8 lines
Regards,  
Vignesh Babu BM  
_____________________________________________________________  
"Why is it that every time I'm with you, makes me believe in magic?"
_______________________________________________
Kernel-janitors mailing list
[email protected]
https://lists.osdl.org/mailman/listinfo/kernel-janitors
#1 lore raw
Quoted 18 lines · Vignesh Babu BM

Replacing (n & (n-1)) in the context of power of 2 checks with is_power_of_2

---

drivers/rtc/rtc-s3c.c +1 -0
index f406a2b..212ec32 100644
@@ -20,6 +20,7 @@
 #include <linux/rtc.h>
 #include <linux/bcd.h>
 #include <linux/clk.h>
+#include <linux/log2.h>
 
 #include <asm/hardware.h>
 #include <asm/uaccess.h>

drivers/rtc/rtc-s3c.c static int s3c_rtc_ioctl(struct device *dev, · line 318

Quoted 8 lines
drivers/rtc/rtc-s3c.c +1 -1
@@ -311,7 +312,7 @@ static int s3c_rtc_ioctl(struct device *dev,
        case RTC_IRQP_SET:
                /* check for power of 2 */
 
-               if ((arg & (arg-1)) != 0 || arg < 1) {
+               if (!arg || !is_power_of_2(arg)) {
                        ret = -EINVAL;
                        goto exit;
                }

Isn't the !arg here redundant because is_power_of_2() is defined as

	return (n != 0 && ((n & (n - 1)) = 0));

with the n != 0 already in it?

Quoted 4 lines

--
Regards,
Vignesh Babu BM

Signature · 9 lines
-A.

What is this talk of 'release'? Klingons do not make software
'releases'. Our software 'escapes' leaving a bloody trail of designers
and quality assurance people in its wake.
_______________________________________________
Kernel-janitors mailing list
[email protected]
https://lists.osdl.org/mailman/listinfo/kernel-janitors