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