[U-Boot] [PATCH v2 1/3] ARM: cache: add an empty stub function for invalidate/flush dcache

Josh Wu
2015-06-09T03:54:14Z

Hi, Tom

On 6/8/2015 9:20 PM, Tom Rini wrote:
> On Mon, Jun 08, 2015 at 10:26:29AM +0200, Marek Vasut wrote:
>> On Monday, June 08, 2015 at 04:05:04 AM, Josh Wu wrote:
>>> Hi, Marek
>>>
>>> On 6/5/2015 9:18 PM, Marek Vasut wrote:
>>>> On Friday, June 05, 2015 at 09:47:30 AM, Josh Wu wrote:
>>>>> Since some driver like ohci, lcd used dcache functions. But some ARM
>>>>> cpu don't implement the invalidate_dcache_range()/flush_dcache_range()
>>>>> functions.
>>>>>
>>>>> To avoid compiling errors this patch adds an weak empty stub function
>>>>> for all ARM cpu.
>>>>>
>>>>> And each cpu can implement its own implementation. If not implemented
>>>>> by default it will use an empty function.
>>>>>
>>>>> Signed-off-by: Josh Wu <josh.wu@atmel.com>
>>>>> ---
>>>>>
>>>>> Changes in v2: new added
>>>>>
>>>>> arch/arm/lib/cache.c | 9 +++++++++
>>>>> 1 file changed, 9 insertions(+)
>>>> So, why exactly can't this be entirely common code , but a CPU-specific
>>>> code ? :)
>>> Do you mean to make those empty functions as common code for all arch
>>> cpu to use?
>> Yes.
>>
>>> It seems there is no place to put common code for all arch cpu.
>> Isn't that what the common/ directory is for ? ;-)
> No, this is making something common for the sake of making it common
> rather than good architecutre of the code I think. We aren't going to
> share real cache functions just these dummy ones.

So it is the right place: arch/arm/lib/cache.c to put the dummy cache
function.

> We may re-evaluate
> our dummy ones at some point in the future when people try and use some
> particular combination harder, see for example the PowerPC dummy cache
> functions we just recently dropped. Thanks!
>

If this patch set are ok for you. I will sent more patches to drop the
dummy cache functions in <arch>/cpu/ folders.
Also the flush_cache() in arch/arm/lib/cache.c can be dropped and just
call flush_dcache_range() as the ARM1136, ARM926ejs alreay implemented
their own flush_cache().

Best Regards,
Josh Wu