ACPI stuff to make Libretto 110CT work

From: Mark Murray <mark_at_grondar.org>
Date: Tue, 24 Jun 2003 17:02:25 +0100
Hi

You (?) gave me these patches at least 6 months ago, and they've
been working for my Libretto ever since then. Is it OK if I commit
them?

M

--
Mark Murray
iumop ap!sdn w,I idlaH

Index: dev/acpica/acpi.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/acpica/acpi.c,v
retrieving revision 1.89
diff -u -d -r1.89 acpi.c
--- dev/acpica/acpi.c	1 May 2003 18:51:43 -0000	1.89
+++ dev/acpica/acpi.c	2 May 2003 08:15:39 -0000
_at__at_ -817,6 +817,10 _at__at_
 	if (ACPI_SUCCESS(AcpiGetHandle(ACPI_ROOT_OBJECT, scopes[i], &parent)))
 	    AcpiWalkNamespace(ACPI_TYPE_ANY, parent, 100, acpi_probe_child, bus, NULL);
 
+    if (devclass_get_device(devclass_find("isa"), 0) == NULL) {
+	device_set_flags(BUS_ADD_CHILD(bus, 0, "isa", 0), 1);
+    }
+
     /*
      * Scan all of the child devices we have created and let them probe/attach.
      */
Index: isa/isa_common.c
===================================================================
RCS file: /home/ncvs/src/sys/isa/isa_common.c,v
retrieving revision 1.35
diff -u -d -r1.35 isa_common.c
--- isa/isa_common.c	11 Jun 2003 00:32:45 -0000	1.35
+++ isa/isa_common.c	11 Jun 2003 08:10:34 -0000
_at__at_ -1108,6 +1108,60 _at__at_
 	1,			/* no softc */
 };
 
+static int
+acpi_isa_probe(device_t dev)
+{
+
+	if (device_get_flags(dev) == 0) {
+		return (ENXIO);
+	}
+
+	return (isa_probe(dev));
+}
+
+static device_method_t acpi_isa_methods[] = {
+	/* Device interface */
+	DEVMETHOD(device_probe,		acpi_isa_probe),
+	DEVMETHOD(device_attach,	isa_attach),
+	DEVMETHOD(device_detach,	bus_generic_detach),
+	DEVMETHOD(device_shutdown,	bus_generic_shutdown),
+	DEVMETHOD(device_suspend,	bus_generic_suspend),
+	DEVMETHOD(device_resume,	bus_generic_resume),
+
+	/* Bus interface */
+	DEVMETHOD(bus_add_child,	isa_add_child),
+	DEVMETHOD(bus_print_child,	isa_print_child),
+	DEVMETHOD(bus_probe_nomatch,	isa_probe_nomatch),
+	DEVMETHOD(bus_read_ivar,	isa_read_ivar),
+	DEVMETHOD(bus_write_ivar,	isa_write_ivar),
+	DEVMETHOD(bus_child_detached,	isa_child_detached),
+	DEVMETHOD(bus_driver_added,	isa_driver_added),
+	DEVMETHOD(bus_setup_intr,	isa_setup_intr),
+	DEVMETHOD(bus_teardown_intr,	isa_teardown_intr),
+
+	DEVMETHOD(bus_get_resource_list,isa_get_resource_list),
+	DEVMETHOD(bus_alloc_resource,	isa_alloc_resource),
+	DEVMETHOD(bus_release_resource,	isa_release_resource),
+	DEVMETHOD(bus_set_resource,	isa_set_resource),
+	DEVMETHOD(bus_get_resource,	bus_generic_rl_get_resource),
+	DEVMETHOD(bus_delete_resource,	bus_generic_rl_delete_resource),
+	DEVMETHOD(bus_activate_resource, bus_generic_activate_resource),
+	DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource),
+
+	/* ISA interface */
+	DEVMETHOD(isa_add_config,	isa_add_config),
+	DEVMETHOD(isa_set_config_callback, isa_set_config_callback),
+	DEVMETHOD(isa_pnp_probe,	isa_pnp_probe),
+
+	{ 0, 0 }
+};
+
+static driver_t acpi_isa_driver = {
+	"isa",
+	acpi_isa_methods,
+	1,			/* no softc */
+};
+
 /*
  * ISA can be attached to a PCI-ISA bridge or directly to the legacy device.
  */
_at__at_ -1115,5 +1169,6 _at__at_
 DRIVER_MODULE(isa, eisab, isa_driver, isa_devclass, 0, 0);
 #if defined(__i386__) || defined(__amd64__)
 DRIVER_MODULE(isa, legacy, isa_driver, isa_devclass, 0, 0);
+DRIVER_MODULE(isa, acpi, acpi_isa_driver, isa_devclass, 0, 0);
 #endif
 MODULE_VERSION(isa, 1);
Received on Tue Jun 24 2003 - 07:06:22 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:13 UTC