From 8eeb638b73d6e17e8308087b992929dc8a83227b Mon Sep 17 00:00:00 2001 From: jmcneill Date: Tue, 11 Dec 2007 03:45:57 +0000 Subject: [PATCH] Register with pmf --- sys/dev/usb/uhidev.c | 9 +++++++-- sys/dev/usb/ums.c | 9 +++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/sys/dev/usb/uhidev.c b/sys/dev/usb/uhidev.c index e891b5bfa32e..6bd4c20444b4 100644 --- a/sys/dev/usb/uhidev.c +++ b/sys/dev/usb/uhidev.c @@ -1,4 +1,4 @@ -/* $NetBSD: uhidev.c,v 1.37 2007/12/01 23:40:29 jmcneill Exp $ */ +/* $NetBSD: uhidev.c,v 1.38 2007/12/11 03:45:57 jmcneill Exp $ */ /* * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -42,7 +42,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: uhidev.c,v 1.37 2007/12/01 23:40:29 jmcneill Exp $"); +__KERNEL_RCSID(0, "$NetBSD: uhidev.c,v 1.38 2007/12/11 03:45:57 jmcneill Exp $"); #include #include @@ -123,6 +123,9 @@ USB_ATTACH(uhidev) devinfop, id->bInterfaceClass, id->bInterfaceSubClass); usbd_devinfo_free(devinfop); + if (!pmf_device_register(self, NULL, NULL)) + aprint_error_dev(self, "couldn't establish power handler\n"); + (void)usbd_set_idle(iface, 0, 0); #if 0 @@ -400,6 +403,8 @@ USB_DETACH(uhidev) usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, USBDEV(sc->sc_dev)); + pmf_device_deregister(self); + return (rv); } diff --git a/sys/dev/usb/ums.c b/sys/dev/usb/ums.c index a325aa93bc54..8f3b27465754 100644 --- a/sys/dev/usb/ums.c +++ b/sys/dev/usb/ums.c @@ -1,4 +1,4 @@ -/* $NetBSD: ums.c,v 1.69 2007/12/01 23:40:29 jmcneill Exp $ */ +/* $NetBSD: ums.c,v 1.70 2007/12/11 03:45:57 jmcneill Exp $ */ /* * Copyright (c) 1998 The NetBSD Foundation, Inc. @@ -42,7 +42,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: ums.c,v 1.69 2007/12/01 23:40:29 jmcneill Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ums.c,v 1.70 2007/12/11 03:45:57 jmcneill Exp $"); #include #include @@ -170,6 +170,9 @@ ums_attach(struct device *parent, struct device *self, void *aux) uhidev_get_report_desc(uha->parent, &desc, &size); + if (!pmf_device_register(self, NULL, NULL)) + aprint_error_dev(self, "couldn't establish power handler\n"); + if (!hid_locate(desc, size, HID_USAGE2(HUP_GENERIC_DESKTOP, HUG_X), uha->reportid, hid_input, &sc->sc_loc_x, &flags)) { aprint_error("\n%s: mouse has no X report\n", @@ -306,6 +309,8 @@ ums_detach(struct device *self, int flags) if (sc->sc_wsmousedev != NULL) rv = config_detach(sc->sc_wsmousedev, flags); + pmf_device_deregister(self); + return (rv); }