Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 6 Sep 2020 17:30:39 -0700
From:      Thomas Skibo <thomas-bsd@skibo.net>
To:        freebsd-arm@freebsd.org
Subject:   ti_scm_syscon driver
Message-ID:  <20200907003039.GA45956@bentley>

next in thread | raw e-mail | index | archive | help

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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20200907003039.GA45956>