Geert, On Tue, Jun 5, 2012 at 10:43 PM, Geert Uytterhoeven <[email protected]> wrote: > On Thu, May 24, 2012 at 2:53 AM, Michael Schmitz > <[email protected]> wrote: >> +#if defined(CONFIG_M68000) || defined(CONFIG_COLDFIRE) >> +/* >> + * The simpler m68k and ColdFire processors do not have a 32*32->64 >> + * multiply instruction. So we need to handle them a little differently. >> + * We use a bit of shifting and a single 32*32->32 multiply to get close. >> + * This is a macro so that the const version can factor out the first >> + * multiply and shift. >> + */ >> +#define HZSCALE (268435456 / (1000000 / HZ)) >> + >> +#define ndelay(n) __delay( DIV_ROUND_UP( (n) * ((((HZSCALE) >> 11) * >> (loops_per_jiffy >> 11)) >> 6), 1000 ) ); >> + >> +#endif > > Why do you need this? CONFIG_M68000 and CONFIG_COLDFIRE are not set?
CONFIG_M68000 is not set? I thought it's always set ... I was trying to get the most generic implementation possible before using optimized ones. > You end up using the default implementation in include/linux/delay.h. Meaning a true ndelay is not really needed at all - seems to work fine without. I'll rework that and see if it improves anything. If not, it can be dropped. Cheers, Michael -- To unsubscribe from this list: send the line "unsubscribe linux-m68k" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
