On 15.10.10 01:50, David Young wrote: > It's important to be able to control display switching and brightness, > but I don't think that those functions should reside in acpivga(4) and > acpiout(4) devices under acpi(4). For example, I read in somebody's > dmesg today: > > acpivga0 at acpi0 (GFX0): ACPI Display Adapter > acpiout0 at acpivga0 (CRT1, 0x0100): ACPI Display Output Device > acpiout1 at acpivga0 (DTV1, 0x0200): ACPI Display Output Device > acpiout2 at acpivga0 (LCD, 0x0400): ACPI Display Output Device > acpivga0: connected output devices: > acpivga0: 0x0100 (acpiout0): Ext. Monitor, head 0, bios detect > acpivga0: 0x0200 (acpiout1): TV, head 0, bios detect > acpivga0: 0x0400 (acpiout2): Unknown Output Device, head 0, bios detect > > Rather than attaching new nodes at acpi0, the system should let ACPI > BIOS inform the autoconfiguration process, which should attach one or > more instances of a new, MI device, display(4). For example: > > vga0 at pci0 device ... function ... > display0 at vga0: Ext. Monitor, head 0, bios detect (ACPI CRT1) > display1 at vga0: TV, head 0, bios detect (ACPI DTV1) > display2 at vga0: Unknown Output Device, head 0, bios detect (ACPI LCD) > > No nodes acpivga0..N or acpiout0..N should be attached. > > Each display(4) exists for reading information about its corresponding > display, such as EDID; for activating power-saving modes on the display; > for changing the display brightness; and for turning the display on and > off. In principle, display(4) can use methods provided either by a > non-ACPI BIOS or by a NetBSD driver that accesses the hardware directly.
It is unclear to me how display(4) interacts with ACPI this way. On my laptop, the hotkeys generate ACPI-notifications which hotkey I pressed (display switch or brightness up/down). Further, to make the actual change happen, the driver must write back into ACPI - on my laptop at least. > > In this way, no single device has two representations in the device tree > (think about the consequences, they're not pretty), and every device > appears in the most appropriate place in the device tree for the purpose > of suspending, resuming, detaching and re-attaching it. > > Make sense? > > Dave >