cregit-Linux how code gets into the kernel

Release 4.7 include/linux/io-64-nonatomic-hi-lo.h

Directory: include/linux
#ifndef _LINUX_IO_64_NONATOMIC_HI_LO_H_

#define _LINUX_IO_64_NONATOMIC_HI_LO_H_

#include <linux/io.h>
#include <asm-generic/int-ll64.h>


static inline __u64 hi_lo_readq(const volatile void __iomem *addr) { const volatile u32 __iomem *p = addr; u32 low, high; high = readl(p + 1); low = readl(p); return low + ((u64)high << 32); }

Contributors

PersonTokensPropCommitsCommitProp
hitoshi mitakehitoshi mitake5598.21%150.00%
jason baronjason baron11.79%150.00%
Total56100.00%2100.00%


static inline void hi_lo_writeq(__u64 val, volatile void __iomem *addr) { writel(val >> 32, addr + 4); writel(val, addr); }

Contributors

PersonTokensPropCommitsCommitProp
hitoshi mitakehitoshi mitake3397.06%150.00%
jason baronjason baron12.94%150.00%
Total34100.00%2100.00%


static inline __u64 hi_lo_readq_relaxed(const volatile void __iomem *addr) { const volatile u32 __iomem *p = addr; u32 low, high; high = readl_relaxed(p + 1); low = readl_relaxed(p); return low + ((u64)high << 32); }

Contributors

PersonTokensPropCommitsCommitProp
robin murphyrobin murphy56100.00%1100.00%
Total56100.00%1100.00%


static inline void hi_lo_writeq_relaxed(__u64 val, volatile void __iomem *addr) { writel_relaxed(val >> 32, addr + 4); writel_relaxed(val, addr); }

Contributors

PersonTokensPropCommitsCommitProp
robin murphyrobin murphy34100.00%1100.00%
Total34100.00%1100.00%

#ifndef readq #define readq hi_lo_readq #endif #ifndef writeq #define writeq hi_lo_writeq #endif #ifndef readq_relaxed #define readq_relaxed hi_lo_readq_relaxed #endif #ifndef writeq_relaxed #define writeq_relaxed hi_lo_writeq_relaxed #endif #endif /* _LINUX_IO_64_NONATOMIC_HI_LO_H_ */

Overall Contributors

PersonTokensPropCommitsCommitProp
robin murphyrobin murphy10846.75%125.00%
hitoshi mitakehitoshi mitake10244.16%125.00%
jason baronjason baron187.79%125.00%
christoph hellwigchristoph hellwig31.30%125.00%
Total231100.00%4100.00%
Directory: include/linux
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
{% endraw %}