Subject: Re: removing get_immrbase()??

From: Timur Tabi <[email-masked]>
Date: Tue, 28 Apr 2009 08:48:47 -0500

David Gibson wrote:
> On Wed, Apr 22, 2009 at 11:41:31PM -0500, Kumar Gala wrote:
>> Lets say I had an error driver for our MCM (core to soc coherency  
>> module).  It was getting the base address by using get_immrbase().   
>> Today I proposed a proper device node for the MCM block as it doesn't  
>> exist in .dts today.  We add such a node into .dts and I can clean up my 
>> error driver to use proper device node information.  However I've just 
>> broken any old .dts that didn't have this node.  You are saying I need to 
>> add code into the kernel to create this new node and we have to keep that 
>> code around for ever in the kernel.. why would I ever bother to actually 
>> changing anything than.
> 
> Well, again.  It's a judgement call, balancing the pain of having to
> update the dts files (which depends on how widely deployed the
> platform is) versus the pain of having to keep the bacwards
> compatibility shim in the kernel.

I agree with this sentiment.  I'm only asking for a reasonable attempt
at adding backwards compatibility via an isolated code block.  Sprinkle
in a few comments, and that should be enough.  It won't always be
possible to add such code, but at the very least, I expect the
driver/kernel to clearly indicate what's missing from the device tree.
In Kumar's example above, I expect the kernel to say that the MCM node
is missing.

-- 
Timur Tabi
Linux kernel developer at Freescale