* if it is then we are done, unless there is an
                 * interrupt-map which takes precedence.
                 */
+               bool intc = of_property_read_bool(ipar, "interrupt-controller");
+
                imap = of_get_property(ipar, "interrupt-map", &imaplen);
-               if (imap == NULL &&
-                   of_property_read_bool(ipar, "interrupt-controller")) {
+               if (imap == NULL && intc) {
                        pr_debug(" -> got it !\n");
                        return 0;
                }
 
                        pr_debug(" -> imaplen=%d\n", imaplen);
                }
-               if (!match)
+               if (!match) {
+                       if (intc) {
+                               /*
+                                * The PASEMI Nemo is a known offender, so
+                                * let's only warn for anyone else.
+                                */
+                               WARN(!IS_ENABLED(CONFIG_PPC_PASEMI),
+                                    "%pOF interrupt-map failed, using interrupt-controller\n",
+                                    ipar);
+                               return 0;
+                       }
+
                        goto fail;
+               }
 
                /*
                 * Successfully parsed an interrrupt-map translation; copy new