cregit-Linux how code gets into the kernel

Release 4.14 arch/blackfin/include/asm/delay.h

/*
 * delay.h - delay functions
 *
 * Copyright (c) 2004-2007 Analog Devices Inc.
 *
 * Licensed under the GPL-2 or later.
 */

#ifndef __ASM_DELAY_H__

#define __ASM_DELAY_H__

#include <mach/anomaly.h>


static inline void __delay(unsigned long loops) { __asm__ __volatile__ ( "LSETUP(1f, 1f) LC0 = %0;" "1: NOP;" : : "a" (loops) : "LT0", "LB0", "LC0" ); }

Contributors

PersonTokensPropCommitsCommitProp
Bryan Wu1178.57%150.00%
Mike Frysinger321.43%150.00%
Total14100.00%2100.00%

#include <linux/param.h> /* needed for HZ */ /* * close approximation borrowed from m68knommu to avoid 64-bit math */ #define HZSCALE (268435456 / (1000000/HZ))
static inline unsigned long __to_delay(unsigned long scale) { extern unsigned long loops_per_jiffy; return (((scale * HZSCALE) >> 11) * (loops_per_jiffy >> 11)) >> 6; }

Contributors

PersonTokensPropCommitsCommitProp
Michael Hennerich1539.47%133.33%
Bryan Wu1539.47%133.33%
Barry Song821.05%133.33%
Total38100.00%3100.00%


static inline void udelay(unsigned long usecs) { __delay(__to_delay(usecs)); }

Contributors

PersonTokensPropCommitsCommitProp
Barry Song19100.00%1100.00%
Total19100.00%1100.00%


static inline void ndelay(unsigned long nsecs) { __delay(__to_delay(1) * nsecs / 1000); }

Contributors

PersonTokensPropCommitsCommitProp
Barry Song2086.96%150.00%
Bryan Wu313.04%150.00%
Total23100.00%2100.00%

#define ndelay ndelay #endif

Overall Contributors

PersonTokensPropCommitsCommitProp
Barry Song5142.86%120.00%
Bryan Wu4033.61%240.00%
Michael Hennerich2016.81%120.00%
Mike Frysinger86.72%120.00%
Total119100.00%5100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.