Author: gonzo
Date: Wed May  2 20:04:25 2018
New Revision: 333177
URL: https://svnweb.freebsd.org/changeset/base/333177

Log:
  Unbreak RaspberryPi 2 boot after r332839
  
  r332839 changed number of cells per interrupt for local_intc from 1 to 2
  to pass type of IRQ. Driver expected only 1 cell so after r332839
  all interrupt children of local_intc failed to allocate IRQ resource.
  
  Fix this regression by relaxing check for number of cells in interrupt
  property to be either 1 or 2.
  
  PR:           227904

Modified:
  head/sys/arm/broadcom/bcm2835/bcm2836.c

Modified: head/sys/arm/broadcom/bcm2835/bcm2836.c
==============================================================================
--- head/sys/arm/broadcom/bcm2835/bcm2836.c     Wed May  2 19:36:46 2018        
(r333176)
+++ head/sys/arm/broadcom/bcm2835/bcm2836.c     Wed May  2 20:04:25 2018        
(r333177)
@@ -454,8 +454,10 @@ bcm_lintc_map_intr(device_t dev, struct intr_map_data 
                return (ENOTSUP);
 
        daf = (struct intr_map_data_fdt *)data;
-       if (daf->ncells != 1 || daf->cells[0] >= BCM_LINTC_NIRQS)
+       if (daf->ncells > 2 || daf->cells[0] >= BCM_LINTC_NIRQS)
                return (EINVAL);
+
+       /* TODO: handle IRQ type here */
 
        sc = device_get_softc(dev);
        *isrcp = &sc->bls_isrcs[daf->cells[0]].bli_isrc;
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to