cregit-Linux how code gets into the kernel

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

Directory: include/linux
/* SPDX-License-Identifier: GPL-2.0 */
#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 Mitake5598.21%150.00%
Jason 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 Mitake3397.06%150.00%
Jason 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 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 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 Murphy10846.55%120.00%
Hitoshi Mitake10243.97%120.00%
Jason Baron187.76%120.00%
Christoph Hellwig31.29%120.00%
Greg Kroah-Hartman10.43%120.00%
Total232100.00%5100.00%
Directory: include/linux
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.