newbus ioport usage

M. Warner Losh imp at bsdimp.com
Mon Jan 26 14:17:34 PST 2004


In message: <20040126140100.T29680 at root.org>
            Nate Lawson <nate at root.org> writes:
: I have a driver that knows the IO port it wants.  It's not set up by a
: parent bus, so I can't use bus_set_resource().  This call returns NULL.
: Any idea how to debug why newbus is rejecting this request?  The io port
: is not in use and the rid is unique.
: 
:   bus_alloc_resource(dev, SYS_RES_IOPORT, rid, 0x101c, 0x101c, 1,
:     RF_ACTIVE);

Ummm, you can use bus_set_resource() in the driver to do this (I've
done it before).  bus_set_resource() should return 0 to indicate
success.  bus_alloc_resource should then succeed.  There may be one
other step to do as well to make this work, but I'm not sure if it is
an internal convention or actually required.  The pci bus code does a
resource_list_add for each of the resources the child uses, but I
think that's an internal thing to the pci bus (that other busses do
also).

Warner


More information about the freebsd-arch mailing list