diff options
author | jkim <jkim@FreeBSD.org> | 2010-11-10 18:50:12 +0000 |
---|---|---|
committer | jkim <jkim@FreeBSD.org> | 2010-11-10 18:50:12 +0000 |
commit | d6fa755921a93be58009125a64cd5eae55bb364b (patch) | |
tree | 2cadc89222a2ab98f91b899cbf28ecf00ececf81 | |
parent | 97e5fb8f25fa0bd55693c0916ebfa0857913d17d (diff) | |
download | FreeBSD-src-d6fa755921a93be58009125a64cd5eae55bb364b.zip FreeBSD-src-d6fa755921a93be58009125a64cd5eae55bb364b.tar.gz |
Make APM emulation look more closer to its origin. Use device_get_softc(9)
instead of hardcoding acpi(4) unit number as we have device_t for it.
-rw-r--r-- | sys/amd64/acpica/acpi_machdep.c | 5 | ||||
-rw-r--r-- | sys/dev/acpica/acpivar.h | 2 | ||||
-rw-r--r-- | sys/i386/acpica/acpi_machdep.c | 5 | ||||
-rw-r--r-- | sys/x86/acpica/acpi_apm.c | 13 |
4 files changed, 11 insertions, 14 deletions
diff --git a/sys/amd64/acpica/acpi_machdep.c b/sys/amd64/acpica/acpi_machdep.c index 1226d00..e33e613 100644 --- a/sys/amd64/acpica/acpi_machdep.c +++ b/sys/amd64/acpica/acpi_machdep.c @@ -61,10 +61,9 @@ acpi_machdep_init(device_t dev) { struct acpi_softc *sc; - sc = devclass_get_softc(devclass_find("acpi"), 0); + sc = device_get_softc(dev); - /* Create a clone for /dev/acpi also. */ - sc->acpi_clone = acpi_apm_create_clone(sc->acpi_dev_t, sc); + acpi_apm_init(sc); if (intr_model != ACPI_INTR_PIC) acpi_SetIntrModel(intr_model); diff --git a/sys/dev/acpica/acpivar.h b/sys/dev/acpica/acpivar.h index 130566a..5d5f9ca 100644 --- a/sys/dev/acpica/acpivar.h +++ b/sys/dev/acpica/acpivar.h @@ -397,7 +397,7 @@ int acpi_device_pwr_for_sleep(device_t bus, device_t dev, int *dstate); /* APM emulation */ -struct apm_clone_data *acpi_apm_create_clone(struct cdev *, struct acpi_softc *); +void acpi_apm_init(struct acpi_softc *); /* Misc. */ static __inline struct acpi_softc * diff --git a/sys/i386/acpica/acpi_machdep.c b/sys/i386/acpica/acpi_machdep.c index dd63d32..0f5d5b8 100644 --- a/sys/i386/acpica/acpi_machdep.c +++ b/sys/i386/acpica/acpi_machdep.c @@ -61,10 +61,9 @@ acpi_machdep_init(device_t dev) { struct acpi_softc *sc; - sc = devclass_get_softc(devclass_find("acpi"), 0); + sc = device_get_softc(dev); - /* Create a clone for /dev/acpi also. */ - sc->acpi_clone = acpi_apm_create_clone(sc->acpi_dev_t, sc); + acpi_apm_init(sc); acpi_install_wakeup_handler(sc); if (intr_model == ACPI_INTR_PIC) diff --git a/sys/x86/acpica/acpi_apm.c b/sys/x86/acpica/acpi_apm.c index 3369545..02be6e0 100644 --- a/sys/x86/acpica/acpi_apm.c +++ b/sys/x86/acpica/acpi_apm.c @@ -29,10 +29,10 @@ __FBSDID("$FreeBSD$"); #include <sys/param.h> #include <sys/bus.h> -#include <sys/kernel.h> #include <sys/condvar.h> #include <sys/conf.h> #include <sys/fcntl.h> +#include <sys/kernel.h> #include <sys/malloc.h> #include <sys/poll.h> #include <sys/uio.h> @@ -477,14 +477,13 @@ apmreadfilt(struct knote *kn, long hint) return (sleeping); } -struct apm_clone_data * -acpi_apm_create_clone(struct cdev *dev, struct acpi_softc *acpi_sc) +void +acpi_apm_init(struct acpi_softc *sc) { - struct apm_clone_data *clone; - STAILQ_INIT(&acpi_sc->apm_cdevs); - clone = apm_create_clone(dev, acpi_sc); + /* Create a clone for /dev/acpi also. */ + STAILQ_INIT(&sc->apm_cdevs); + sc->acpi_clone = apm_create_clone(sc->acpi_dev_t, sc); clone_setup(&apm_clones); EVENTHANDLER_REGISTER(dev_clone, apm_clone, 0, 1000); - return (clone); } |