probe as console devices which have a "class-code" property corresponding to
PCI_CLASS_DISPLAY, and not just those which have a "display" device_type. In the case where each head is a subnode of the graphics card, it's the heads which have a "display" device_type. Maybe only testing "class-code" would make sense if this property is defined on any openfirmware based PowerPC platform.
This commit is contained in:
parent
71c98bab0d
commit
f5f76a59f0
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: ofw_autoconf.c,v 1.5 2007/12/16 16:42:12 phx Exp $ */
|
||||
/* $NetBSD: ofw_autoconf.c,v 1.6 2008/01/09 17:45:46 aymeric Exp $ */
|
||||
/*
|
||||
* Copyright (C) 1995, 1996 Wolfgang Solfrank.
|
||||
* Copyright (C) 1995, 1996 TooLs GmbH.
|
||||
|
@ -31,7 +31,7 @@
|
|||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__KERNEL_RCSID(0, "$NetBSD: ofw_autoconf.c,v 1.5 2007/12/16 16:42:12 phx Exp $");
|
||||
__KERNEL_RCSID(0, "$NetBSD: ofw_autoconf.c,v 1.6 2008/01/09 17:45:46 aymeric Exp $");
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/conf.h>
|
||||
|
@ -46,6 +46,7 @@ __KERNEL_RCSID(0, "$NetBSD: ofw_autoconf.c,v 1.5 2007/12/16 16:42:12 phx Exp $")
|
|||
#include <machine/stdarg.h>
|
||||
|
||||
#include <dev/ofw/openfirm.h>
|
||||
#include <dev/pci/pcireg.h>
|
||||
#include <dev/pci/pcivar.h>
|
||||
#include <dev/scsipi/scsi_all.h>
|
||||
#include <dev/scsipi/scsipi_all.h>
|
||||
|
@ -234,12 +235,20 @@ device_register(dev, aux)
|
|||
}
|
||||
|
||||
if (node != 0) {
|
||||
int pci_class = 0;
|
||||
|
||||
prop_dictionary_set_uint32(dict, "device_node", node);
|
||||
|
||||
/* see if this is going to be console */
|
||||
memset(name, 0, sizeof(name));
|
||||
OF_getprop(node, "device_type", name, sizeof(name));
|
||||
if (strcmp(name, "display") == 0) {
|
||||
|
||||
OF_getprop(node, "class-code", &pci_class,
|
||||
sizeof pci_class);
|
||||
pci_class = (pci_class >> 16) & 0xff;
|
||||
|
||||
if (strcmp(name, "display") == 0 ||
|
||||
pci_class == PCI_CLASS_DISPLAY) {
|
||||
/* setup display properties for fb driver */
|
||||
prop_dictionary_set_bool(dict, "is_console", 0);
|
||||
copy_disp_props(dev, node, dict);
|
||||
|
|
Loading…
Reference in New Issue