On 11/28/2016 09:18 AM, Yuval Shaia wrote:
Move private implementation of rthe function to osdep.h

Hi Yuval,

In my opinion we need to use the function in at least
two places in order to promote it to a global utility.

You are welcome to try to find another place needing it.

Thanks,
Marcel


Signed-off-by: Yuval Shaia <yuval.sh...@oracle.com>
---
 hw/pci/shpc.c        | 12 +-----------
 include/qemu/osdep.h | 10 ++++++++++
 2 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/hw/pci/shpc.c b/hw/pci/shpc.c
index 3dcd472..4b8982d 100644
--- a/hw/pci/shpc.c
+++ b/hw/pci/shpc.c
@@ -122,16 +122,6 @@
 #define SHPC_PCI_TO_IDX(pci_slot) ((pci_slot) - 1)
 #define SHPC_IDX_TO_PHYSICAL(slot) ((slot) + 1)

-static int roundup_pow_of_two(int x)
-{
-    x |= (x >> 1);
-    x |= (x >> 2);
-    x |= (x >> 4);
-    x |= (x >> 8);
-    x |= (x >> 16);
-    return x + 1;
-}
-
 static uint16_t shpc_get_status(SHPCDevice *shpc, int slot, uint16_t msk)
 {
     uint8_t *status = shpc->config + SHPC_SLOT_STATUS(slot);
@@ -654,7 +644,7 @@ int shpc_init(PCIDevice *d, PCIBus *sec_bus, MemoryRegion 
*bar, unsigned offset)

 int shpc_bar_size(PCIDevice *d)
 {
-    return roundup_pow_of_two(SHPC_SLOT_REG(SHPC_MAX_SLOTS));
+    return round_up_pow_of_two(SHPC_SLOT_REG(SHPC_MAX_SLOTS));
 }

 void shpc_cleanup(PCIDevice *d, MemoryRegion *bar)
diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h
index 689f253..74d5c30 100644
--- a/include/qemu/osdep.h
+++ b/include/qemu/osdep.h
@@ -194,6 +194,16 @@ extern int daemon(int, int);
 #define ROUND_UP(n,d) (((n) + (d) - 1) & -(d))
 #endif

+static inline int round_up_pow_of_two(int x)
+{
+       x |= (x >> 1);
+       x |= (x >> 2);
+       x |= (x >> 4);
+       x |= (x >> 8);
+       x |= (x >> 16);
+       return x + 1;
+}
+
 #ifndef DIV_ROUND_UP
 #define DIV_ROUND_UP(n,d) (((n) + (d) - 1) / (d))
 #endif



Reply via email to