Writing a driver: how do I get resources?
gavin at FreeBSD.org
Tue Sep 23 13:10:42 UTC 2008
Please forgive me if this email makes very little sense: I've never
really looked at how ACPI works from a driver's perspective, so don't
really know if what I'm trying to do is even correct.
I'm expanding the acpi_sony driver to cover the PNP ID SNY6001. When I
simply claim it by returning 0 from the probe, I get the following I/O range:
acpi_sony0: <Sony programmable I/O> port 0-0x1f on acpi0
However, if I'm reading the AML and Linux drivers correctly, this
is not the correct range. It appears that the _PRS method offers a
choice of four I/O ranges and four IRQs, one of which is then selected
by evaluating _SRS. None of them are 0-0x1f.
Firstly, does that make sense? Secondly, how do I do this from a
driver? I can't see any other drivers that seem to get this involved in
ACPI, indeed the only mention of evaluating _PRS is within the ACPI code
Lastly, I only have intermittent access to this laptop, so I apologise
if I can't test things quickly.
More information about the freebsd-acpi