Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 060e3522 authored by Jeff Dike's avatar Jeff Dike Committed by Linus Torvalds
Browse files

[PATCH] uml: Delay loop cleanups



This patch cleans up the delay implementations a bit, makes the loops
unoptimizable, and exports __udelay and __const_udelay.

Signed-off-by: default avatarJeff Dike <jdike@addtoit.com>
Cc: <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 13479d52
Loading
Loading
Loading
Loading
+12 −4
Original line number Diff line number Diff line
#include "linux/delay.h"
#include "asm/param.h"
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/delay.h>
#include <asm/param.h>

void __delay(unsigned long time)
{
@@ -20,13 +22,19 @@ void __udelay(unsigned long usecs)
	int i, n;

	n = (loops_per_jiffy * HZ * usecs) / MILLION;
	for(i=0;i<n;i++) ;
        for(i=0;i<n;i++)
                cpu_relax();
}

EXPORT_SYMBOL(__udelay);

void __const_udelay(unsigned long usecs)
{
	int i, n;

	n = (loops_per_jiffy * HZ * usecs) / MILLION;
	for(i=0;i<n;i++) ;
        for(i=0;i<n;i++)
                cpu_relax();
}

EXPORT_SYMBOL(__const_udelay);
+15 −18
Original line number Diff line number Diff line
@@ -5,40 +5,37 @@
 * Licensed under the GPL
 */

#include "linux/delay.h"
#include "asm/processor.h"
#include "asm/param.h"
#include <linux/module.h>
#include <linux/delay.h>
#include <asm/processor.h>
#include <asm/param.h>

void __delay(unsigned long loops)
{
	unsigned long i;

	for(i = 0; i < loops; i++) ;
        for(i = 0; i < loops; i++)
                cpu_relax();
}

void __udelay(unsigned long usecs)
{
	int i, n;
	unsigned long i, n;

	n = (loops_per_jiffy * HZ * usecs) / MILLION;
	for(i=0;i<n;i++) ;
        for(i=0;i<n;i++)
                cpu_relax();
}

EXPORT_SYMBOL(__udelay);

void __const_udelay(unsigned long usecs)
{
	int i, n;
	unsigned long i, n;

	n = (loops_per_jiffy * HZ * usecs) / MILLION;
	for(i=0;i<n;i++) ;
        for(i=0;i<n;i++)
                cpu_relax();
}

/*
 * Overrides for Emacs so that we follow Linus's tabbing style.
 * Emacs will notice this stuff at the end of the file and automatically
 * adjust the settings for this buffer only.  This must remain at the end
 * of the file.
 * ---------------------------------------------------------------------------
 * Local variables:
 * c-file-style: "linux"
 * End:
 */
EXPORT_SYMBOL(__const_udelay);