Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Apr 2007 19:05:33 +1000
From:      Alan Garfield <alan@fromorbit.com>
To:        freebsd-hackers@freebsd.org
Subject:   Resources and ACPI
Message-ID:  <1176282333.4134.4.camel@hiro.auspc.com.au>
In-Reply-To: <1176205240.4514.3.camel@hiro.auspc.com.au>
References:  <1176096815.4064.6.camel@hiro.auspc.com.au> <1176171656.4276.8.camel@hiro.auspc.com.au> <1176183021.5525.4.camel@hiro.auspc.com.au> <1176205240.4514.3.camel@hiro.auspc.com.au>

next in thread | previous in thread | raw e-mail | index | archive | help
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?

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?

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.

Any help would be appreciated!

Thanks,
Alan.





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