diff options
author | imp <imp@FreeBSD.org> | 1999-12-08 07:55:20 +0000 |
---|---|---|
committer | imp <imp@FreeBSD.org> | 1999-12-08 07:55:20 +0000 |
commit | 4673fb11c389f5466612ea4c6e8f908cc18696d8 (patch) | |
tree | 3519df9dfdc6dbff979b635f6afe002da20b44ad /sys/pccard/pccard_nbk.c | |
parent | 6cc83bf12d28839afac51843a5dbddce2ef3feb3 (diff) | |
download | FreeBSD-src-4673fb11c389f5466612ea4c6e8f908cc18696d8.zip FreeBSD-src-4673fb11c389f5466612ea4c6e8f908cc18696d8.tar.gz |
Switch to using suspend/resume methods rather than the APM hooks.
Should have no effect, but does make things a little cleaner. I
thought this was the race that was causing problems, but it turned out
to be in pccardd waking up after the empty/insert events had happened
and being confused.
Minor cleanup:
o Remove isahd from pccard_devinfo
o remove extra from controller
o formatting nits
o use PCCARD_DEVINFO(d) rather than a bare device_get_ivars(d)
Diffstat (limited to 'sys/pccard/pccard_nbk.c')
-rw-r--r-- | sys/pccard/pccard_nbk.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/sys/pccard/pccard_nbk.c b/sys/pccard/pccard_nbk.c index b091363..ec374de 100644 --- a/sys/pccard/pccard_nbk.c +++ b/sys/pccard/pccard_nbk.c @@ -77,6 +77,8 @@ devclass_t pccard_devclass; #define PCCARD_NIRQ 1 #define PCCARD_NDRQ 0 +#define PCCARD_DEVINFO(d) (struct pccard_devinfo *) device_get_ivars(d) + static int pccard_probe(device_t dev) { @@ -86,7 +88,7 @@ pccard_probe(device_t dev) static void pccard_print_resources(struct resource_list *rl, const char *name, int type, - int count, const char *format) + int count, const char *format) { struct resource_list_entry *rle; int printed; @@ -116,7 +118,7 @@ pccard_print_resources(struct resource_list *rl, const char *name, int type, static int pccard_print_child(device_t dev, device_t child) { - struct pccard_devinfo *devi = device_get_ivars(child); + struct pccard_devinfo *devi = PCCARD_DEVINFO(child); struct resource_list *rl = &devi->resources; int retval = 0; @@ -144,7 +146,7 @@ static int pccard_set_resource(device_t dev, device_t child, int type, int rid, u_long start, u_long count) { - struct pccard_devinfo *devi = device_get_ivars(child); + struct pccard_devinfo *devi = PCCARD_DEVINFO(child); struct resource_list *rl = &devi->resources; if (type != SYS_RES_IOPORT && type != SYS_RES_MEMORY @@ -170,7 +172,7 @@ static int pccard_get_resource(device_t dev, device_t child, int type, int rid, u_long *startp, u_long *countp) { - struct pccard_devinfo *devi = device_get_ivars(child); + struct pccard_devinfo *devi = PCCARD_DEVINFO(child); struct resource_list *rl = &devi->resources; struct resource_list_entry *rle; @@ -189,7 +191,7 @@ pccard_get_resource(device_t dev, device_t child, int type, int rid, static void pccard_delete_resource(device_t dev, device_t child, int type, int rid) { - struct pccard_devinfo *devi = device_get_ivars(child); + struct pccard_devinfo *devi = PCCARD_DEVINFO(child); struct resource_list *rl = &devi->resources; resource_list_delete(rl, type, rid); } @@ -245,7 +247,7 @@ static int pccard_release_resource(device_t bus, device_t child, int type, int rid, struct resource *r) { - struct pccard_devinfo *devi = device_get_ivars(child); + struct pccard_devinfo *devi = PCCARD_DEVINFO(child); struct resource_list *rl = &devi->resources; return resource_list_release(rl, bus, child, type, rid, r); } @@ -255,8 +257,8 @@ static device_method_t pccard_methods[] = { DEVMETHOD(device_probe, pccard_probe), DEVMETHOD(device_attach, bus_generic_attach), DEVMETHOD(device_shutdown, bus_generic_shutdown), - DEVMETHOD(device_suspend, bus_generic_suspend), - DEVMETHOD(device_resume, bus_generic_resume), + DEVMETHOD(device_suspend, pccard_suspend), + DEVMETHOD(device_resume, pccard_resume), /* Bus interface */ DEVMETHOD(bus_print_child, pccard_print_child), @@ -271,7 +273,6 @@ static device_method_t pccard_methods[] = { DEVMETHOD(bus_get_resource, pccard_get_resource), DEVMETHOD(bus_delete_resource, pccard_delete_resource), - { 0, 0 } }; |