Re: Compile error in ARM architecture

Russell King - ARM Linux <[email protected]>
Newsgroups gmane.linux.ports.arm.general
Message-ID <[email protected]>
On Mon, Dec 14, 2009 at 02:37:46PM +0530, Bala Shanmugam wrote:
> Russell King - ARM Linux wrote:
>> We don't support the non-coherent DMA API on ARM yet - there seems to
>> only be one user of it, and I don't think anyone actually uses this
>> driver on ARM.
>>
>>   
> Bala: Thanks for the info.  So can we add a dummy 
> function[dma_cache_sync] in arch/arm directory to avoid compilation 
> issue?

What's the point if no one's using the singular driver on ARM?  It
just adds additional maintainence overhead, and in the case of
dma_cache_sync, gives people another interface to abuse.

>> Because of the limited nature of the calculation (which is basically
>> a fast divide by multiplying and shifting the result) for udelay() we
>> have a smaller upper limit.  As stated in the ARM udelay:
>>
>>  * With currently imposed limits, this means that we support a max delay
>>  * of 2000us. Further limits: HZ<=1000 and bogomips<=3355
>>
>> We certainly can't shave off a factor of 10 since that would mean we'd
>> have to refuse to run on any platform with a calculated bogomips in
>> excess of 335 - and we already have platforms in excess of these.
>>
>> At the end of the day, large delays should not be done using udelay().
>> That's what mdelay() is for - m meaning millisecond.  Therefore, the
>> drivers wanting these millisecond delays should be using the proper
>> interface for long delays - that being mdelay().
>> .
>>
>>   
> Bala: Thats well explained, Thanks. But these should not give a compilation error I believe.
> If these delay values are architecture specific, these values should come 
> under arch/[arm or x86]/include directory to avoid compilation issues.  
> Please let me know if I miss something.

As I stated, the drivers should be using mdelay() not udelay() for large
millisecond delays.

The fix is to change the drivers to use the right function.

-------------------------------------------------------------------
List admin: http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm
FAQ:        http://www.arm.linux.org.uk/mailinglists/faq.php
Etiquette:  http://www.arm.linux.org.uk/mailinglists/etiquette.php
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.