Subject: Re: [REGRESSION in 3.18][PPC] PA Semi fails to boot after: of/base: Fix PowerPC address parsing hack

From: Christian Zigotzky <[email-masked]>
Date: Sat, 07 Mar 2015 10:12:45 +0100

Hi All,

I have a patch for it (Kernel 4.0-rc2):

diff -rupN linux-4.0/drivers/of/address.c 
linux-4.0-nemo/drivers/of/address.c
--- linux-4.0/drivers/of/address.c    2015-03-03 18:04:59.000000000 +0100
+++ linux-4.0-nemo/drivers/of/address.c    2015-03-03 22:34:00.037500744 
+0100
@@ -450,21 +450,6 @@ static struct of_bus *of_match_bus(struc
      return NULL;
  }

-static int of_empty_ranges_quirk(void)
-{
-    if (IS_ENABLED(CONFIG_PPC)) {
-        /* To save cycles, we cache the result */
-        static int quirk_state = -1;
-
-        if (quirk_state < 0)
-            quirk_state =
-                of_machine_is_compatible("Power Macintosh") ||
-                of_machine_is_compatible("MacRISC");
-        return quirk_state;
-    }
-    return false;
-}
-
  static int of_translate_one(struct device_node *parent, struct of_bus 
*bus,
                  struct of_bus *pbus, __be32 *addr,
                  int na, int ns, int pna, const char *rprop)
@@ -490,10 +475,12 @@ static int of_translate_one(struct devic
       * This code is only enabled on powerpc. --gcl
       */
      ranges = of_get_property(parent, rprop, &rlen);
-    if (ranges == NULL && !of_empty_ranges_quirk()) {
+#if !defined(CONFIG_PPC)
+       if (ranges == NULL) {
          pr_debug("OF: no ranges; cannot translate\n");
          return 1;
      }
+#endif /* !defined(CONFIG_PPC) */
      if (ranges == NULL || rlen == 0) {
          offset = of_read_number(addr, na);
          memset(addr, 0, pna * 4);

Rgds,

Christian

On 07/03/2015 01:16 a.m., Alex Perez wrote:
> On Mar 6, 2015, at 3:07 PM, [email-masked] 
> <mailto:[email-masked]> wrote:
>
>> Date: Sat, 07 Mar 2015 09:56:22 +1100
>> From: Benjamin Herrenschmidt <[email-masked] 
>> <mailto:[email-masked]>>
>> To: Steven Rostedt <[email-masked] <mailto:[email-masked]>>
>> Cc: Grant Likely <[email-masked] 
>> <mailto:[email-masked]>>, Rob Herring
>> <[email-masked] <mailto:[email-masked]>>, Olof Johansson 
>> <[email-masked] <mailto:[email-masked]>>,
>> [email-masked] <mailto:[email-masked]>, 
>> LKML <[email-masked] <mailto:[email-masked]>>
>> Subject: Re: [REGRESSION in 3.18][PPC] PA Semi fails to boot after:
>> of/base: Fix PowerPC address parsing hack
>> Message-ID: <[email-masked] 
>> <mailto:[email-masked]>>
>> Content-Type: text/plain; charset="UTF-8"
>>
>> On Fri, 2015-03-06 at 10:00 -0500, Steven Rostedt wrote:
>>> On Fri, 06 Mar 2015 15:18:42 +1100
>>> Benjamin Herrenschmidt <[email-masked] 
>>> <mailto:[email-masked]>> wrote:
>>>
>>>
>>>> Can you shoot me the DT (/proc/device-tree in a tarball) ?
>>>
>>> Attached.
>>
>> This is indeed a bug in their DT. We might want to add quirks for
>> that unless it can be fixed (or has been via FW update). Olof ?
>
> I will of course ultimately defer to Olof, but PASemi hasn’t existed 
> for years, and there is no entity which could possibly update the DT 
> for these reference PASemi development boards, unless Olof has source, 
> which I’m pretty sure he does not :)