summaryrefslogtreecommitdiff
path: root/arch/sh/drivers/pci/pcie-sh7786.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sh/drivers/pci/pcie-sh7786.h')
-rw-r--r--arch/sh/drivers/pci/pcie-sh7786.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/sh/drivers/pci/pcie-sh7786.h b/arch/sh/drivers/pci/pcie-sh7786.h
index 1ee054e47eae..a2a0ca6e7cca 100644
--- a/arch/sh/drivers/pci/pcie-sh7786.h
+++ b/arch/sh/drivers/pci/pcie-sh7786.h
@@ -568,6 +568,13 @@
#define PCI_REG(x) ((x) + 0x40000)
+#define U64_TO_U32_LOW(val) ((u32)((val) & 0x00000000ffffffffULL))
+#define U64_TO_U32_HIGH(val) ((u32)((val) >> 32))
+#define RES_TO_U32_LOW(val) \
+ ((sizeof(resource_size_t) > sizeof(u32)) ? U64_TO_U32_LOW(val) : (val))
+#define RES_TO_U32_HIGH(val) \
+ ((sizeof(resource_size_t) > sizeof(u32)) ? U64_TO_U32_HIGH(val) : (0))
+
static inline void
pci_write_reg(struct pci_channel *chan, unsigned long val, unsigned long reg)
{