sandbox: pci: Move pci_offset_to_barnum() to pci.h
authorSimon Glass <sjg@chromium.org>
Wed, 25 Sep 2019 14:56:06 +0000 (08:56 -0600)
committerBin Meng <bmeng.cn@gmail.com>
Tue, 8 Oct 2019 05:57:40 +0000 (13:57 +0800)
This function is useful in PCI emulators. More it into the header file to
avoid duplicating it in other drivers.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
drivers/misc/swap_case.c
include/pci.h

index 18d756e9cd5d80d98e7f7c5b49f7e61a01b92b7b..75fe6416707a9aab2ea87e7d683a8e7b640f17d9 100644 (file)
@@ -24,9 +24,6 @@ struct swap_case_platdata {
        u32 bar[6];
 };
 
-#define offset_to_barnum(offset)       \
-               (((offset) - PCI_BASE_ADDRESS_0) / sizeof(u32))
-
 enum {
        MEM_TEXT_SIZE   = 0x100,
 };
@@ -144,7 +141,7 @@ static int sandbox_swap_case_read_config(struct udevice *emul, uint offset,
                int barnum;
                u32 *bar, result;
 
-               barnum = offset_to_barnum(offset);
+               barnum = pci_offset_to_barnum(offset);
                bar = &plat->bar[barnum];
 
                result = *bar;
@@ -224,7 +221,7 @@ static int sandbox_swap_case_write_config(struct udevice *emul, uint offset,
                int barnum;
                u32 *bar;
 
-               barnum = offset_to_barnum(offset);
+               barnum = pci_offset_to_barnum(offset);
                bar = &plat->bar[barnum];
 
                debug("w bar %d=%lx\n", barnum, value);
index 999a594cddf19944859d1867d1da7b925054606a..2b82b2c5a3eb4b86eb9bbaff93093cfe7140b1c2 100644 (file)
 #define  PCI_BASE_ADDRESS_IO_MASK      (~0x03ULL)
 /* bit 1 is reserved if address_space = 1 */
 
+/* Convert a regsister address (e.g. PCI_BASE_ADDRESS_1) to a bar # (e.g. 1) */
+#define pci_offset_to_barnum(offset)   \
+               (((offset) - PCI_BASE_ADDRESS_0) / sizeof(u32))
+
 /* Header type 0 (normal devices) */
 #define PCI_CARDBUS_CIS                0x28
 #define PCI_SUBSYSTEM_VENDOR_ID 0x2c