diff options
author | vignesh babu <vignesh.babu@wipro.com> | 2007-08-13 16:53:14 +0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2007-10-13 02:03:15 +0400 |
commit | 229f5afded86bf3819b7b67e57c62813ca0648a7 (patch) | |
tree | 608b5b355cb36bc93da24772eedfdd4b0c19ac0e /drivers/pci | |
parent | 40730d1042c595b1e84b28e40021f2c1377b4f8b (diff) | |
download | linux-229f5afded86bf3819b7b67e57c62813ca0648a7.tar.xz |
PCI: is_power_of_2 in drivers/pci/pci.c
Replacing n & (n - 1) for power of 2 check by is_power_of_2(n)
Signed-off-by: vignesh babu <vignesh.babu@wipro.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/pci')
-rw-r--r-- | drivers/pci/pci.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index 37c00f6fd801..19a64a36ecab 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c @@ -17,6 +17,7 @@ #include <linux/module.h> #include <linux/spinlock.h> #include <linux/string.h> +#include <linux/log2.h> #include <asm/dma.h> /* isa_dma_bridge_buggy */ #include "pci.h" @@ -1454,7 +1455,7 @@ int pcix_set_mmrbc(struct pci_dev *dev, int mmrbc) int cap, err = -EINVAL; u32 stat, cmd, v, o; - if (mmrbc < 512 || mmrbc > 4096 || (mmrbc & (mmrbc-1))) + if (mmrbc < 512 || mmrbc > 4096 || !is_power_of_2(mmrbc)) goto out; v = ffs(mmrbc) - 10; @@ -1526,7 +1527,7 @@ int pcie_set_readrq(struct pci_dev *dev, int rq) int cap, err = -EINVAL; u16 ctl, v; - if (rq < 128 || rq > 4096 || (rq & (rq-1))) + if (rq < 128 || rq > 4096 || !is_power_of_2(rq)) goto out; v = (ffs(rq) - 8) << 12; |