ti_scm_syscon driver

Thomas Skibo thomas-bsd at skibo.net
Mon Sep 7 00:30:49 UTC 2020


Hello.

I am testing some code I have developed to provide the Zynq boards with
a real clock driver and update the other device drivers to use the clock
infrastructure.  It is also supposed to allow us to use "upstream" gnu
dts files.  But, I ran into a problem booting a GENERIC kernel on my Zybo.
The ti_scm_syscon driver, which has the "syscon" compatibility string,
grabs the zynq-slcr node before my driver.  The compatibility property
for the node in the GNU dts file is;

	compatible = "xlnx,zynq-slcr", "syscon", "simple-mfd";

I fixed the problem by having my probe routine return DEVICE_PROBE_SPECIFIC.
But, the DEVICE_PROBE(9) man page seems to say I shouldn't do this.  Also, I
see a lot of device nodes in other boards that have "syscon" along with their
more specific driver name.  Aren't they going to run into problems too if
the ti_scm_syscon driver matches them?  Should the ti_scm_syscon driver use
a lower priority return value in its probe routine?

--Thomas Skibo



More information about the freebsd-arm mailing list