summaryrefslogtreecommitdiffstats
path: root/sys/pccard/pccard_nbk.c
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>1999-12-08 07:55:20 +0000
committerimp <imp@FreeBSD.org>1999-12-08 07:55:20 +0000
commit4673fb11c389f5466612ea4c6e8f908cc18696d8 (patch)
tree3519df9dfdc6dbff979b635f6afe002da20b44ad /sys/pccard/pccard_nbk.c
parent6cc83bf12d28839afac51843a5dbddce2ef3feb3 (diff)
downloadFreeBSD-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.c19
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 }
};
OpenPOWER on IntegriCloud