> Date: Wed, 2 Jan 2019 16:08:53 +1000
> From: David Gwynne <[email protected]>
> 
> This makes it more obvious what interesting things there are to hack on.
> 
> Thoughts? ok?

I kind of deliberately didn't do this.  Some device trees have quite a
large number of devices and when we started with the device tree
approach, having lots of "not configured" entries show up seemed a bit
distracting.  Such entries always seem to solicit "Why doesn't OpenBSD
fully support my hardware?" type questions.  That said, we have a lot
more drivers now and maybe if we knock out some of the clocks and
regulators that we support without drivers the situation isn't too
bad.  And I do look at eeprom -p output somewhat regularly to find
stuff we don't support yet, and it is quite tedious to do so.  And
maybe this will encourage more people to write missing drivers ;).

Looking at your below:

> For example, from an od1000:
> 
> dlg@o1000 fdt$ dmesg | grep 'not configured'
> "v2m" at ampintc0 not configured

Hmm, ampintcmsi(4) should attach to that one.  Doesn't it attach on
your machine?  Or is there something not quite right in your printing logic?
logic?

> "clk100mhz_0" at simplebus0 not configured
> "clk375mhz" at simplebus0 not configured
> "clk333mhz" at simplebus0 not configured
> "clk500mhz_0" at simplebus0 not configured
> "clk500mhz_1" at simplebus0 not configured
> "clk250mhz_4" at simplebus0 not configured
> "clk100mhz_1" at simplebus0 not configured

These are clocks that we support without a specific driver that we
probably should knock out.  That can be done later though.

> "i2c" at simplebus0 not configured
> "i2c" at simplebus0 not configured
> "ssp" at simplebus0 not configured
> "ssp" at simplebus0 not configured
> "gpio" at simplebus0 not configured
> "gpio" at simplebus0 not configured
> "gpio" at simplebus0 not configured
> "gpio" at simplebus0 not configured
> "AMD A1100 Host" rev 0x00 at pci0 dev 0 function 0 not configured
> "AMD A1100 Host" rev 0x00 at pci0 dev 2 function 0 not configured
> "ccn" at simplebus0 not configured
> "gwdt" at simplebus0 not configured
> "kcs" at simplebus0 not configured
> "clk250mhz_0" at simplebus0 not configured
> "clk250mhz_1" at simplebus0 not configured
> "clk250mhz_2" at simplebus0 not configured
> "clk250mhz_3" at simplebus0 not configured
> 
> and an rpi3:
> 
> "dma" at simplebus0 not configured
> "cprman" at simplebus0 not configured
> "mailbox" at simplebus0 not configured
> "gpio" at simplebus0 not configured
> "mmc" at simplebus0 not configured
> "dsi" at simplebus0 not configured
> "local_intc" at simplebus0 not configured
> "sdhci" at simplebus0 not configured
> "gpiomem" at simplebus0 not configured
> "firmware" at simplebus0 not configured
> "power" at simplebus0 not configured
> "fb" at simplebus0 not configured
> "vchiq" at simplebus0 not configured
> "vcsm" at simplebus0 not configured
> "arm-pmu" at simplebus0 not configured
> "virtgpio" at simplebus0 not configured
> "expgpio" at simplebus0 not configured
> "clock" at simplebus1 not configured
> "clock" at simplebus1 not configured
> 
> id show pine64 too, but miniroot64.fs doesnt seem to like it at the
> moment.
> 
> Index: simplebus.c
> ===================================================================
> RCS file: /cvs/src/sys/arch/arm64/dev/simplebus.c,v
> retrieving revision 1.8
> diff -u -p -r1.8 simplebus.c
> --- simplebus.c       1 Jun 2017 21:19:07 -0000       1.8
> +++ simplebus.c       2 Jan 2019 04:50:49 -0000
> @@ -149,6 +149,26 @@ simplebus_submatch(struct device *self, 
>       return 0;
>  }
>  
> +int
> +simplebus_print(void *aux, const char *pnp)
> +{
> +     struct fdt_attach_args *fa = aux;
> +     char name[32];
> +
> +     if (!pnp)
> +             return (QUIET);
> +
> +     if (OF_getprop(fa->fa_node, "name", name, sizeof(name)) > 0) {
> +             name[sizeof(name) - 1] = 0;
> +             printf("\"%s\"", name);
> +     } else
> +             printf("node %u", fa->fa_node);
> +
> +     printf(" at %s", pnp);
> +
> +        return (UNCONF);
> +}
> +
>  /*
>   * Look for a driver that wants to be attached to this node.
>   */
> @@ -221,7 +241,8 @@ simplebus_attach_node(struct device *sel
>               fa.fa_dmat->_flags |= BUS_DMA_COHERENT;
>       }
>  
> -     config_found_sm(self, &fa, NULL, simplebus_submatch);
> +     config_found_sm(self, &fa, sc->sc_early ? NULL : simplebus_print,
> +         simplebus_submatch);
>  
>       free(fa.fa_reg, M_DEVBUF, fa.fa_nreg * sizeof(struct fdt_reg));
>       free(fa.fa_intr, M_DEVBUF, fa.fa_nintr * sizeof(uint32_t));
> 
> 
> 

Reply via email to