Date: Wed, 11 Apr 2007 18:51:04 +0900 From: takawata@jp.freebsd.org To: Alan Garfield <alan@fromorbit.com> Cc: hackers@freebsd.org Subject: Re: Resources and ACPI Message-ID: <200704110951.l3B9p4hT024402@sana.init-main.com> In-Reply-To: Your message of "Wed, 11 Apr 2007 19:05:33 %2B1000." <1176282333.4134.4.camel@hiro.auspc.com.au>
next in thread | previous in thread | raw e-mail | index | archive | help
In message <1176282333.4134.4.camel@hiro.auspc.com.au>, wrote: >Hi all, > >When you have say :- > >---- >static int >jnet_probe(device_t >dev) > >{ > static char *jnet_ids[] = { "NWS8001", >NULL }; > > > if (acpi_disabled("jnet") >|| > > ACPI_ID_PROBE(device_get_parent(dev), dev, >jnet_ids) == NULL) > return (ENXIO); > > // Woo we found it, set the description s we know what we >are. > device_set_desc(dev, "JNet Ethernet System >Interface"); > > return (BUS_PROBE_DEFAULT); >} >---- > >and when the device is kldload'ed you get :- > >---- >jnet0: <JNet Ethernet System Interface> port 0xa8,0xae-0xaf irq 19 on >acpi0 >---- > >are these resources automagically allocated for me? Or do I have to >allocate them myself? You have to allocate the resource. >I've got my driver mostly working but at the moment I've hard-coded in >the resources and I'm thinking this isn't correct given the acpi bus >knows what resources I'm expecting and lists them helpfully in the dmesg >output. > >If the resources are allocated how do I access/see them? sc->sc_rid1 = 0; sc->sc_res1 = bus_alloc_resource_any(self, SYS_RES_IOPORT, &sc->sc_rid, RF_ACTIVE); sc->sc_rid2 = 0; sc->sc_res2 = bus_alloc_resource_any(self, SYS_RES_IOPORT, &sc->sc_rid, RF_ACTIVE); value_af = bus_space_read_8(rman_get_bustag(sc->sc_res2), rman_get_bushandle(sc->sc_res2), 1); >I've been all through device_t and bus.h this and acpi.h that, and I >cannot find a good example of getting resources from the acpi bus. It is almost same as ISA-PnP aware device driver for devices that requires I/O port resources.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200704110951.l3B9p4hT024402>