cvs commit: src/sys/dev/acpica acpi_pci.c
Nate Lawson
nate at root.org
Thu Jul 15 12:19:25 PDT 2004
[Followups to the acpi list]
John Baldwin wrote:
> On Thursday 15 July 2004 12:14 pm, Mark Santcroos wrote:
>>You forgot to mention that this commit breaks acpi_video ;-)
>>
>>The fact that "\_SB_.PCI0.AGP_.VID_" now no longer is "unknown", means that
>>it is not probed anymore.
>>
>>The result of that is that acpi_video can't attach anymore of course.
>
> That's because acpi_video is really a PCI driver. :) The device it is
> attaching too is a PCI device, not an ACPI device, hence the confusion. I
> have some early work started on a vga_pci driver that would have child
> devices like acpi_video0, drm0, agp0 (for Intel onboard graphics), and dpms0.
I ran into this fundamental mismatch in building the infrastructure for
the floppy attachment. You might have an ACPI handle namespace like this:
_SB
PCI0
LPC
FDC0
FDD0
FOOBAR
USB0
With a FreeBSD device hierarchy of:
acpi0
fdc0
fd0
foobar
pcib0
pci0
uhci0
Currently, we start with a flat device space when probing children:
acpi0
pci0
isa0
fdc0
fd0
foobar
uhci0
And then let each bus driver rework its children. PCI updates its child
handles (USB0), deleting the initial device and adding a new one. FDC
does the same thing.
John is right in that acpi_video needs to attach to video_pci and not
acpi directly. The new acpi_scan_children method should help do this
without creating binary dependencies between drivers.
--
-Nate
More information about the cvs-src
mailing list