diff options
author | sl147100 <none@none> | 2006-07-06 05:57:45 -0700 |
---|---|---|
committer | sl147100 <none@none> | 2006-07-06 05:57:45 -0700 |
commit | fef1e07ef354c2dcda4dc397c33f5a5532432c7a (patch) | |
tree | 48b104d0e1d95517f4506685be24f63467f00354 | |
parent | 0e995c33333aa22fefbb5edf7712b69135dcc2d3 (diff) | |
download | illumos-gate-fef1e07ef354c2dcda4dc397c33f5a5532432c7a.tar.gz |
6388141 Fix the CDDL block of usr/src/uts/intel/usbs49_fw/Makefile
6430189 Recovery mechanism fail to re-activate the USB port after the short circuit condition is cleared.
6440743 ohci should be able to handle clearing hub feature C_HUB_OVER_CURRENT
6443767 warlock usb is not clean due to changes made in 6426010
21 files changed, 357 insertions, 101 deletions
diff --git a/usr/src/uts/common/io/usb/clients/usbser/usbser.c b/usr/src/uts/common/io/usb/clients/usbser/usbser.c index bd53ea009f..3fb98ad919 100644 --- a/usr/src/uts/common/io/usb/clients/usbser/usbser.c +++ b/usr/src/uts/common/io/usb/clients/usbser/usbser.c @@ -159,6 +159,12 @@ static usb_console_info_t console_input, console_output; static uchar_t *console_input_buf; static uchar_t *console_input_start, *console_input_end; +_NOTE(SCHEME_PROTECTS_DATA("unshared", usbser_console_abort)) +_NOTE(SCHEME_PROTECTS_DATA("unshared", console_input)) +_NOTE(SCHEME_PROTECTS_DATA("unshared", console_output)) +_NOTE(SCHEME_PROTECTS_DATA("unshared", console_input_start)) +_NOTE(SCHEME_PROTECTS_DATA("unshared", console_input_end)) + static void usbser_putchar(cons_polledio_arg_t, uchar_t); static int usbser_getchar(cons_polledio_arg_t); static boolean_t usbser_ischar(cons_polledio_arg_t); diff --git a/usr/src/uts/common/io/usb/hcd/openhci/ohci_hub.c b/usr/src/uts/common/io/usb/hcd/openhci/ohci_hub.c index ba18fc1e2a..b7a7358b7f 100644 --- a/usr/src/uts/common/io/usb/hcd/openhci/ohci_hub.c +++ b/usr/src/uts/common/io/usb/hcd/openhci/ohci_hub.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,7 +19,7 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -75,6 +74,12 @@ static void ohci_handle_clrchng_port_over_current( static void ohci_handle_get_port_status( ohci_state_t *ohcip, uint16_t port); +static int ohci_handle_set_clear_hub_feature( + ohci_state_t *ohcip, + uchar_t bRequest, + uint16_t wValue); +static void ohci_handle_clrchng_hub_over_current( + ohci_state_t *ohcip); static void ohci_handle_get_hub_descriptor( ohci_state_t *ohcip); static void ohci_handle_get_hub_status( @@ -586,6 +591,10 @@ ohci_handle_root_hub_request( break; } break; + case HUB_HANDLE_HUB_FEATURE_TYPE: + error = ohci_handle_set_clear_hub_feature(ohcip, + bRequest, wValue); + break; default: USB_DPRINTF_L2(PRINT_MASK_ROOT_HUB, ohcip->ohci_log_hdl, "ohci_handle_root_hub_request: " @@ -1073,6 +1082,77 @@ ohci_handle_get_port_status( /* + * ohci_handle_set_clear_hub_feature: + * + * OHCI only implements clearing C_HUB_OVER_CURRENT feature now. + * Other hub requests of this bmRequestType are either not + * supported by hardware or never used. + */ +static int +ohci_handle_set_clear_hub_feature( + ohci_state_t *ohcip, + uchar_t bRequest, + uint16_t wValue) +{ + int error = USB_SUCCESS; + + USB_DPRINTF_L4(PRINT_MASK_ROOT_HUB, ohcip->ohci_log_hdl, + "ohci_handle_set_clear_hub_feature: 0x%x 0x%x", + bRequest, wValue); + + switch (bRequest) { + case USB_REQ_CLEAR_FEATURE: + if (wValue == CFS_C_HUB_OVER_CURRENT) { + ohci_handle_clrchng_hub_over_current(ohcip); + } else { + USB_DPRINTF_L2(PRINT_MASK_ROOT_HUB, ohcip->ohci_log_hdl, + "ohci_handle_set_clear_hub_feature: " + "Unsupported request 0x%x 0x%x", bRequest, wValue); + + error = USB_FAILURE; + } + break; + + case USB_REQ_SET_FEATURE: + default: + USB_DPRINTF_L2(PRINT_MASK_ROOT_HUB, ohcip->ohci_log_hdl, + "ohci_handle_set_clear_hub_feature: " + "Unsupported request 0x%x 0x%x", bRequest, wValue); + + error = USB_FAILURE; + break; + } + + return (error); +} + + +/* + * ohci_handle_clrchng_hub_over_current: + * + * Clear over current indicator change bit on the root hub. + */ +static void +ohci_handle_clrchng_hub_over_current( + ohci_state_t *ohcip) +{ + uint_t hub_status; + + mutex_enter(&ohcip->ohci_int_mutex); + + hub_status = Get_OpReg(hcr_rh_status); + + USB_DPRINTF_L4(PRINT_MASK_ROOT_HUB, ohcip->ohci_log_hdl, + "ohci_handle_clrchng_hub_over_current: " + "status = 0x%x", hub_status); + + Set_OpReg(hcr_rh_status, HCR_RH_STATUS_OCIC); + + mutex_exit(&ohcip->ohci_int_mutex); +} + + +/* * ohci_handle_get_hub_descriptor: */ static void @@ -1520,14 +1600,16 @@ ohci_handle_root_hub_status_change(void *arg) new_root_hub_status = Get_OpReg(hcr_rh_status); /* See if the root hub status has changed */ - if ((new_root_hub_status & HCR_RH_STATUS_MASK) != - ohcip->ohci_root_hub.rh_status) { + if (new_root_hub_status & HCR_RH_CHNG_MASK) { USB_DPRINTF_L3(PRINT_MASK_ROOT_HUB, ohcip->ohci_log_hdl, "ohci_handle_root_hub_status_change: " "Root hub status has changed!"); all_ports_status = 1; + + /* Update root hub status */ + ohcip->ohci_root_hub.rh_status = new_root_hub_status; } /* Check each port */ diff --git a/usr/src/uts/common/io/usb/hcd/uhci/uhcipolled.c b/usr/src/uts/common/io/usb/hcd/uhci/uhcipolled.c index 78816df9fd..df256da53c 100644 --- a/usr/src/uts/common/io/usb/hcd/uhci/uhcipolled.c +++ b/usr/src/uts/common/io/usb/hcd/uhci/uhcipolled.c @@ -398,6 +398,10 @@ uhci_hcdi_polled_write(usb_console_info_impl_t *info, uchar_t *buf, uhci_pipe_private_t *pp; usba_pipe_handle_data_t *ph; +#ifndef lint + _NOTE(NO_COMPETING_THREADS_NOW); +#endif + uhci_polledp = (uhci_polled_t *)info->uci_private; uhcip = uhci_polledp->uhci_polled_uhcip; ph = uhci_polledp->uhci_polled_ph; @@ -461,6 +465,10 @@ uhci_hcdi_polled_write(usb_console_info_impl_t *info, uchar_t *buf, HC_END_OF_LIST); } +#ifndef lint + _NOTE(COMPETING_THREADS_NOW); +#endif + return (USB_SUCCESS); } diff --git a/usr/src/uts/common/io/usb/usba/hubdi.c b/usr/src/uts/common/io/usb/usba/hubdi.c index 551ad462f4..71b0393f0e 100644 --- a/usr/src/uts/common/io/usb/usba/hubdi.c +++ b/usr/src/uts/common/io/usb/usba/hubdi.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -3597,6 +3596,39 @@ hubd_hotplug_thread(void *arg) } } } + + /* + * Check if the port is over-current + */ + if (change & PORT_CHANGE_OCIC) { + USB_DPRINTF_L1(DPRINT_MASK_HOTPLUG, + hubd->h_log_handle, + "Port%d in over current condition, " + "please check the attached device to " + "clear the condition. The system will " + "try to recover the port, but if not " + "successful, you need to re-connect " + "the hub or reboot the system to bring " + "the port back to work", port); + + if (!(status & PORT_STATUS_PPS)) { + /* + * Try to enable port power, but + * possibly fail. Ignore failure + */ + (void) hubd_enable_port_power(hubd, + port); + + /* + * Delay some time to avoid + * over-current event to happen + * too frequently in some cases + */ + mutex_exit(HUBD_MUTEX(hubd)); + delay(drv_usectohz(500000)); + mutex_enter(HUBD_MUTEX(hubd)); + } + } } } @@ -4000,8 +4032,10 @@ hubd_get_hub_status(hubd_t *hubd) size_t cfg_length; uchar_t *usb_cfg; uint8_t MaxPower; + usb_hub_descr_t *hub_descr; + usb_port_t port; - USB_DPRINTF_L4(DPRINT_MASK_PORT, hubd->h_log_handle, + USB_DPRINTF_L4(DPRINT_MASK_HOTPLUG, hubd->h_log_handle, "hubd_get_hub_status:"); ASSERT(mutex_owned(HUBD_MUTEX(hubd))); @@ -4024,7 +4058,7 @@ hubd_get_hub_status(hubd_t *hubd) if (rval != USB_CFG_DESCR_SIZE) { - USB_DPRINTF_L2(DPRINT_MASK_PORT, hubd->h_log_handle, + USB_DPRINTF_L2(DPRINT_MASK_HOTPLUG, hubd->h_log_handle, "get hub configuration descriptor failed."); mutex_enter(HUBD_MUTEX(hubd)); @@ -4051,7 +4085,7 @@ hubd_get_hub_status(hubd_t *hubd) * not draw any power from USB bus. * It can't work well on this condition. */ - USB_DPRINTF_L1(DPRINT_MASK_PORT, + USB_DPRINTF_L1(DPRINT_MASK_HOTPLUG, hubd->h_log_handle, "local power has been lost, " "please disconnect hub"); @@ -4060,7 +4094,7 @@ hubd_get_hub_status(hubd_t *hubd) /* * Bus-powered only or self/bus-powered hub. */ - USB_DPRINTF_L1(DPRINT_MASK_PORT, + USB_DPRINTF_L1(DPRINT_MASK_HOTPLUG, hubd->h_log_handle, "local power has been lost," "the hub could draw %d" @@ -4070,19 +4104,19 @@ hubd_get_hub_status(hubd_t *hubd) } - USB_DPRINTF_L3(DPRINT_MASK_PORT, hubd->h_log_handle, + USB_DPRINTF_L3(DPRINT_MASK_HOTPLUG, hubd->h_log_handle, "clearing feature C_HUB_LOCAL_POWER "); if ((rval = usb_pipe_sync_ctrl_xfer(hubd->h_dip, hubd->h_default_pipe, - USB_DEV_REQ_TYPE_CLASS, + HUB_HANDLE_HUB_FEATURE_TYPE, USB_REQ_CLEAR_FEATURE, CFS_C_HUB_LOCAL_POWER, 0, 0, NULL, 0, &completion_reason, &cb_flags, 0)) != USB_SUCCESS) { - USB_DPRINTF_L2(DPRINT_MASK_PORT, + USB_DPRINTF_L2(DPRINT_MASK_HOTPLUG, hubd->h_log_handle, "clear feature C_HUB_LOCAL_POWER " "failed (%d 0x%x %d)", @@ -4094,34 +4128,97 @@ hubd_get_hub_status(hubd_t *hubd) if (change & C_HUB_OVER_CURRENT) { if (status & HUB_OVER_CURRENT) { - /* - * the user must offline this hub in order to recover. - * the port power is automatically disabled, so we - * won't see disconnects. - */ - USB_DPRINTF_L0(DPRINT_MASK_PORT, hubd->h_log_handle, - "global over current condition, " - "please disconnect hub"); + + if (usba_is_root_hub(hubd->h_dip)) { + /* + * The root hub should be automatically + * recovered when over-current condition is + * cleared. But there might be exception and + * need user interaction to recover. + */ + USB_DPRINTF_L0(DPRINT_MASK_HOTPLUG, + hubd->h_log_handle, + "Root hub over current condition, " + "please check your system to clear the " + "condition as soon as possible. And you " + "may need to reboot the system to bring " + "the root hub back to work if it cannot " + "recover automatically"); + } else { + /* + * The driver would try to recover port power + * on over current condition. When the recovery + * fails, the user may still need to offline + * this hub in order to recover. + * The port power is automatically disabled, + * so we won't see disconnects. + */ + USB_DPRINTF_L0(DPRINT_MASK_HOTPLUG, + hubd->h_log_handle, + "Hub global over current condition, " + "please disconnect the devices connected " + "to the hub to clear the condition. And " + "you may need to re-connect the hub if " + "the ports do not work"); + } } - USB_DPRINTF_L3(DPRINT_MASK_PORT, hubd->h_log_handle, + USB_DPRINTF_L3(DPRINT_MASK_HOTPLUG, hubd->h_log_handle, "clearing feature C_HUB_OVER_CURRENT"); if ((rval = usb_pipe_sync_ctrl_xfer(hubd->h_dip, hubd->h_default_pipe, - USB_DEV_REQ_TYPE_CLASS, + HUB_HANDLE_HUB_FEATURE_TYPE, USB_REQ_CLEAR_FEATURE, CFS_C_HUB_OVER_CURRENT, 0, 0, NULL, 0, &completion_reason, &cb_flags, 0)) != USB_SUCCESS) { - USB_DPRINTF_L2(DPRINT_MASK_PORT, + USB_DPRINTF_L2(DPRINT_MASK_HOTPLUG, hubd->h_log_handle, "clear feature C_HUB_OVER_CURRENT " "failed (%d 0x%x %d)", rval, completion_reason, cb_flags); } + + /* + * Try to recover all port power if they are turned off. + * Don't do this for root hub, but rely on the root hub + * to recover itself. + */ + if (!usba_is_root_hub(hubd->h_dip)) { + + mutex_enter(HUBD_MUTEX(hubd)); + + /* + * Only check the power status of the 1st port + * since all port power status should be the same. + */ + (void) hubd_determine_port_status(hubd, 1, &status, + &change, 0); + + if (status & PORT_STATUS_PPS) { + + return (USB_SUCCESS); + } + + hub_descr = &hubd->h_hub_descr; + + for (port = 1; port <= hub_descr->bNbrPorts; + port++) { + + (void) hubd_enable_port_power(hubd, port); + } + + mutex_exit(HUBD_MUTEX(hubd)); + + /* + * Delay some time to avoid over-current event + * to happen too frequently in some cases + */ + delay(drv_usectohz(500000)); + } } mutex_enter(HUBD_MUTEX(hubd)); diff --git a/usr/src/uts/common/sys/usb/hcd/openhci/ohci.h b/usr/src/uts/common/sys/usb/hcd/openhci/ohci.h index e9acb47ed2..c05fcbde9f 100644 --- a/usr/src/uts/common/sys/usb/hcd/openhci/ohci.h +++ b/usr/src/uts/common/sys/usb/hcd/openhci/ohci.h @@ -236,6 +236,7 @@ typedef volatile struct ohci_regs { #define HCR_RH_STATUS_OCIC 0x00020000 /* Over current indicator */ #define HCR_RH_STATUS_CRWE 0x80000000 /* Clear remote wakeup enable */ #define HCR_RH_STATUS_MASK 0x10038003 /* Status mask */ +#define HCR_RH_CHNG_MASK 0x00030000 /* Mask for change bits */ /* hcr_rh_portstatus bits */ #define HCR_PORT_CCS 0x00000001 /* Current connect status */ diff --git a/usr/src/uts/common/sys/usb/hubd/hub.h b/usr/src/uts/common/sys/usb/hubd/hub.h index 4c0d6c005b..17962a64e3 100644 --- a/usr/src/uts/common/sys/usb/hubd/hub.h +++ b/usr/src/uts/common/sys/usb/hubd/hub.h @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,7 +19,7 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -93,6 +92,8 @@ typedef struct usb_hub_descr { #define HUB_CLASS_REQ_TYPE (USB_DEV_REQ_DEV_TO_HOST \ |USB_DEV_REQ_TYPE_CLASS) +#define HUB_HANDLE_HUB_FEATURE_TYPE USB_DEV_REQ_TYPE_CLASS + /* bmRequestType for getting device status */ #define HUB_GET_DEVICE_STATUS_TYPE (USB_DEV_REQ_DEV_TO_HOST \ |USB_DEV_REQ_TYPE_STANDARD \ diff --git a/usr/src/uts/intel/usbs49_fw/Makefile b/usr/src/uts/intel/usbs49_fw/Makefile index b0757c96b7..64eadcc940 100644 --- a/usr/src/uts/intel/usbs49_fw/Makefile +++ b/usr/src/uts/intel/usbs49_fw/Makefile @@ -1,25 +1,8 @@ -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. -# -# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# When distributing Covered Code, include this CDDL HEADER in each -# file and include the License file at usr/src/OPENSOLARIS.LICENSE. -# # CDDL HEADER START # # The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. # # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE # or http://www.opensolaris.org/os/licensing. @@ -34,8 +17,7 @@ # # CDDL HEADER END # -# -# Copyright 2005 Sun Microsystems, Inc. All rights reserved. +# Copyright 2006 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # #ident "%Z%%M% %I% %E% SMI" diff --git a/usr/src/uts/sparc/hid/hid_with_usba.wlcmd b/usr/src/uts/sparc/hid/hid_with_usba.wlcmd index 7c198912fe..07fcab631e 100644 --- a/usr/src/uts/sparc/hid/hid_with_usba.wlcmd +++ b/usr/src/uts/sparc/hid/hid_with_usba.wlcmd @@ -34,6 +34,11 @@ one usba_device ### specify the root functions +root usb_console_output_init +root usb_console_output_fini +root usb_console_output_enter +root usb_console_output_exit +root usb_console_write root usb_console_input_enter root usb_console_input_exit root usb_console_read @@ -189,3 +194,8 @@ add usba_hcdi_ops::usba_hcdi_console_input_init targets \ ehci_hcdi_polled_input_init add usba_hcdi_ops::usba_hcdi_console_input_fini targets \ ehci_hcdi_polled_input_fini + +add usba_hcdi_ops::usba_hcdi_console_input_init targets \ + uhci_hcdi_polled_input_init +add usba_hcdi_ops::usba_hcdi_console_input_fini targets \ + uhci_hcdi_polled_input_fini diff --git a/usr/src/uts/sparc/scsa2usb/scsa2usb_with_usba.wlcmd b/usr/src/uts/sparc/scsa2usb/scsa2usb_with_usba.wlcmd index a91e4b1198..a6395b215e 100644 --- a/usr/src/uts/sparc/scsa2usb/scsa2usb_with_usba.wlcmd +++ b/usr/src/uts/sparc/scsa2usb/scsa2usb_with_usba.wlcmd @@ -36,6 +36,11 @@ one sd_resv_reclaim_request ### specify the root functions root usba_ascii_string_descr +root usb_console_output_init +root usb_console_output_fini +root usb_console_output_enter +root usb_console_output_exit +root usb_console_write root usb_console_input_enter root usb_console_input_exit root usb_console_input_fini diff --git a/usr/src/uts/sparc/ugen/ugen_with_usba.wlcmd b/usr/src/uts/sparc/ugen/ugen_with_usba.wlcmd index e5b7d4c828..bcca5504b9 100644 --- a/usr/src/uts/sparc/ugen/ugen_with_usba.wlcmd +++ b/usr/src/uts/sparc/ugen/ugen_with_usba.wlcmd @@ -2,9 +2,8 @@ # CDDL HEADER START # # The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. # # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE # or http://www.opensolaris.org/os/licensing. @@ -19,7 +18,7 @@ # # CDDL HEADER END # -# Copyright 2005 Sun Microsystems, Inc. All rights reserved. +# Copyright 2006 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # #ident "%Z%%M% %I% %E% SMI" @@ -34,6 +33,11 @@ one usba_device ### specify the root functions +root usb_console_output_init +root usb_console_output_fini +root usb_console_output_enter +root usb_console_output_exit +root usb_console_write root usb_console_input_enter root usb_console_input_exit root usb_console_read diff --git a/usr/src/uts/sparc/uhci/uhci.wlcmd b/usr/src/uts/sparc/uhci/uhci.wlcmd index 1b52bfd409..ece559e66a 100644 --- a/usr/src/uts/sparc/uhci/uhci.wlcmd +++ b/usr/src/uts/sparc/uhci/uhci.wlcmd @@ -1,13 +1,12 @@ # -# Copyright 2005 Sun Microsystems, Inc. All rights reserved. +# Copyright 2006 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # CDDL HEADER START # # The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. # # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE # or http://www.opensolaris.org/os/licensing. @@ -65,6 +64,11 @@ root uhci_hcdi_polled_input_fini root uhci_hcdi_polled_input_enter root uhci_hcdi_polled_input_exit root uhci_hcdi_polled_read +root uhci_hcdi_polled_output_init +root uhci_hcdi_polled_output_fini +root uhci_hcdi_polled_output_enter +root uhci_hcdi_polled_output_exit +root uhci_hcdi_polled_write ### currently unused functions diff --git a/usr/src/uts/sparc/usb_ac/usb_ac_with_usba.wlcmd b/usr/src/uts/sparc/usb_ac/usb_ac_with_usba.wlcmd index 7b9f601e4d..4b73a97ace 100644 --- a/usr/src/uts/sparc/usb_ac/usb_ac_with_usba.wlcmd +++ b/usr/src/uts/sparc/usb_ac/usb_ac_with_usba.wlcmd @@ -1,13 +1,12 @@ # -# Copyright 2005 Sun Microsystems, Inc. All rights reserved. +# Copyright 2006 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # CDDL HEADER START # # The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. # # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE # or http://www.opensolaris.org/os/licensing. @@ -34,6 +33,11 @@ one hubd one usba_device ### specify the root functions +root usb_console_output_init +root usb_console_output_fini +root usb_console_output_enter +root usb_console_output_exit +root usb_console_write root usb_console_input_enter root usb_console_input_exit root usb_console_input_fini diff --git a/usr/src/uts/sparc/usb_as/usb_as_with_usba.wlcmd b/usr/src/uts/sparc/usb_as/usb_as_with_usba.wlcmd index 7ce60bddc1..03650331a8 100644 --- a/usr/src/uts/sparc/usb_as/usb_as_with_usba.wlcmd +++ b/usr/src/uts/sparc/usb_as/usb_as_with_usba.wlcmd @@ -1,13 +1,12 @@ # -# Copyright 2005 Sun Microsystems, Inc. All rights reserved. +# Copyright 2006 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # CDDL HEADER START # # The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. # # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE # or http://www.opensolaris.org/os/licensing. @@ -31,7 +30,11 @@ one usb_as_state ### specify the root functions - +root usb_console_output_init +root usb_console_output_fini +root usb_console_output_enter +root usb_console_output_exit +root usb_console_write root usb_console_input_enter root usb_console_input_exit root usb_console_input_fini diff --git a/usr/src/uts/sparc/usb_mid/usb_mid_with_usba.wlcmd b/usr/src/uts/sparc/usb_mid/usb_mid_with_usba.wlcmd index 3f00b92ddb..81b5c8fbd7 100644 --- a/usr/src/uts/sparc/usb_mid/usb_mid_with_usba.wlcmd +++ b/usr/src/uts/sparc/usb_mid/usb_mid_with_usba.wlcmd @@ -1,13 +1,12 @@ # -# Copyright 2005 Sun Microsystems, Inc. All rights reserved. +# Copyright 2006 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # CDDL HEADER START # # The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. # # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE # or http://www.opensolaris.org/os/licensing. @@ -34,6 +33,11 @@ one usba_device ### specify the root functions root usba_ascii_string_descr +root usb_console_output_init +root usb_console_output_fini +root usb_console_output_enter +root usb_console_output_exit +root usb_console_write root usb_console_input_enter root usb_console_input_exit root usb_console_input_fini diff --git a/usr/src/uts/sparc/usbprn/usbprn_with_usba.wlcmd b/usr/src/uts/sparc/usbprn/usbprn_with_usba.wlcmd index 05bd30a4e8..a83a0b3e29 100644 --- a/usr/src/uts/sparc/usbprn/usbprn_with_usba.wlcmd +++ b/usr/src/uts/sparc/usbprn/usbprn_with_usba.wlcmd @@ -1,13 +1,12 @@ # -# Copyright 2005 Sun Microsystems, Inc. All rights reserved. +# Copyright 2006 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # CDDL HEADER START # # The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. # # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE # or http://www.opensolaris.org/os/licensing. @@ -31,6 +30,11 @@ one usbprn_state ### specify the root functions +root usb_console_output_init +root usb_console_output_fini +root usb_console_output_enter +root usb_console_output_exit +root usb_console_write root usb_console_input_enter root usb_console_input_exit root usb_console_input_fini diff --git a/usr/src/uts/sparc/usbser/usbser.wlcmd b/usr/src/uts/sparc/usbser/usbser.wlcmd index a8944be2e9..5769e8365c 100644 --- a/usr/src/uts/sparc/usbser/usbser.wlcmd +++ b/usr/src/uts/sparc/usbser/usbser.wlcmd @@ -1,13 +1,12 @@ # -# Copyright 2005 Sun Microsystems, Inc. All rights reserved. +# Copyright 2006 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # CDDL HEADER START # # The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. # # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE # or http://www.opensolaris.org/os/licensing. @@ -29,6 +28,12 @@ one usbser_state ### specify the root functions +root usbser_first_device +root usbser_putchar +root usbser_getchar +root usbser_ischar +root usbser_polledio_enter +root usbser_polledio_exit root usbser_soft_state_size root usbser_open root usbser_close @@ -72,6 +77,8 @@ add ds_ops::ds_stop targets warlock_dummy add ds_ops::ds_start targets warlock_dummy add ds_ops::ds_fifo_flush targets warlock_dummy add ds_ops::ds_fifo_drain targets warlock_dummy +add ds_ops::ds_out_pipe targets warlock_dummy +add ds_ops::ds_in_pipe targets warlock_dummy add rseq_step::s_func targets usbser_free_soft_state add rseq_step::s_func targets usbser_init_soft_state diff --git a/usr/src/uts/sparc/usbskel/usbskel_with_usba.wlcmd b/usr/src/uts/sparc/usbskel/usbskel_with_usba.wlcmd index a807a4e911..a9d1f5632e 100644 --- a/usr/src/uts/sparc/usbskel/usbskel_with_usba.wlcmd +++ b/usr/src/uts/sparc/usbskel/usbskel_with_usba.wlcmd @@ -1,13 +1,12 @@ # -# Copyright 2005 Sun Microsystems, Inc. All rights reserved. +# Copyright 2006 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # CDDL HEADER START # # The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. # # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE # or http://www.opensolaris.org/os/licensing. @@ -35,6 +34,11 @@ one usba_device ### specify the root functions +root usb_console_output_init +root usb_console_output_fini +root usb_console_output_enter +root usb_console_output_exit +root usb_console_write root usb_console_input_enter root usb_console_input_exit root usb_console_read diff --git a/usr/src/uts/sparc/usbsksp/usbser_keyspan.wlcmd b/usr/src/uts/sparc/usbsksp/usbser_keyspan.wlcmd index 9e8b5def09..695e365565 100644 --- a/usr/src/uts/sparc/usbsksp/usbser_keyspan.wlcmd +++ b/usr/src/uts/sparc/usbsksp/usbser_keyspan.wlcmd @@ -2,9 +2,8 @@ # CDDL HEADER START # # The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. # # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE # or http://www.opensolaris.org/os/licensing. @@ -21,7 +20,7 @@ # # # -# Copyright 2005 Sun Microsystems, Inc. All rights reserved. +# Copyright 2006 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # @@ -34,6 +33,12 @@ one keyspan_port ### specify the root functions +root usbser_first_device +root usbser_putchar +root usbser_getchar +root usbser_ischar +root usbser_polledio_enter +root usbser_polledio_exit root usbser_soft_state_size root usbser_keyspan_open root usbser_close @@ -78,6 +83,8 @@ add ds_ops::ds_stop targets keyspan_stop add ds_ops::ds_start targets keyspan_start add ds_ops::ds_fifo_flush targets keyspan_fifo_flush add ds_ops::ds_fifo_drain targets keyspan_fifo_drain +add ds_ops::ds_out_pipe targets warlock_dummy +add ds_ops::ds_in_pipe targets warlock_dummy add keyspan_port::kp_cb.cb_tx targets usbser_tx_cb add keyspan_port::kp_cb.cb_rx targets usbser_rx_cb diff --git a/usr/src/uts/sparc/usbsksp/usbser_keyspan_with_usba.wlcmd b/usr/src/uts/sparc/usbsksp/usbser_keyspan_with_usba.wlcmd index 24d6fc20a4..112b657387 100644 --- a/usr/src/uts/sparc/usbsksp/usbser_keyspan_with_usba.wlcmd +++ b/usr/src/uts/sparc/usbsksp/usbser_keyspan_with_usba.wlcmd @@ -2,9 +2,8 @@ # CDDL HEADER START # # The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. # # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE # or http://www.opensolaris.org/os/licensing. @@ -21,7 +20,7 @@ # # # -# Copyright 2005 Sun Microsystems, Inc. All rights reserved. +# Copyright 2006 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # @@ -37,6 +36,13 @@ one keyspan_port ### specify the root functions +root usbser_first_device +root usbser_putchar +root usbser_getchar +root usbser_ischar +root usbser_polledio_enter +root usbser_polledio_exit +root usb_console_output_fini root usb_console_input_enter root usb_console_input_exit root usb_console_input_fini @@ -185,6 +191,8 @@ add ds_ops::ds_stop targets keyspan_stop add ds_ops::ds_start targets keyspan_start add ds_ops::ds_fifo_flush targets keyspan_fifo_flush add ds_ops::ds_fifo_drain targets keyspan_fifo_drain +add ds_ops::ds_out_pipe targets warlock_dummy +add ds_ops::ds_in_pipe targets warlock_dummy add keyspan_port::kp_cb.cb_tx targets usbser_tx_cb add keyspan_port::kp_cb.cb_rx targets usbser_rx_cb diff --git a/usr/src/uts/sparc/usbsprl/usbsprl.wlcmd b/usr/src/uts/sparc/usbsprl/usbsprl.wlcmd index 2088241cbe..a8e584397c 100644 --- a/usr/src/uts/sparc/usbsprl/usbsprl.wlcmd +++ b/usr/src/uts/sparc/usbsprl/usbsprl.wlcmd @@ -1,9 +1,8 @@ # CDDL HEADER START # # The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. # # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE # or http://www.opensolaris.org/os/licensing. @@ -18,7 +17,7 @@ # # CDDL HEADER END # -# Copyright 2005 Sun Microsystems, Inc. All rights reserved. +# Copyright 2006 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # #pragma ident "%Z%%M% %I% %E% SMI" @@ -28,6 +27,12 @@ one pl2303_state ### specify the root functions +root usbser_first_device +root usbser_putchar +root usbser_getchar +root usbser_ischar +root usbser_polledio_enter +root usbser_polledio_exit root usbser_soft_state_size root usbser_pl2303_open root usbser_close @@ -70,6 +75,8 @@ add ds_ops::ds_stop targets pl2303_stop add ds_ops::ds_start targets pl2303_start add ds_ops::ds_fifo_flush targets pl2303_fifo_flush add ds_ops::ds_fifo_drain targets pl2303_fifo_drain +add ds_ops::ds_out_pipe targets pl2303_out_pipe +add ds_ops::ds_in_pipe targets pl2303_in_pipe add pl2303_state::pl_cb.cb_tx targets usbser_tx_cb add pl2303_state::pl_cb.cb_rx targets usbser_rx_cb diff --git a/usr/src/uts/sparc/usbsprl/usbsprl_with_usba.wlcmd b/usr/src/uts/sparc/usbsprl/usbsprl_with_usba.wlcmd index 393e25032d..35a1af6283 100644 --- a/usr/src/uts/sparc/usbsprl/usbsprl_with_usba.wlcmd +++ b/usr/src/uts/sparc/usbsprl/usbsprl_with_usba.wlcmd @@ -1,9 +1,8 @@ # CDDL HEADER START # # The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. # # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE # or http://www.opensolaris.org/os/licensing. @@ -18,7 +17,7 @@ # # CDDL HEADER END # -# Copyright 2005 Sun Microsystems, Inc. All rights reserved. +# Copyright 2006 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # #pragma ident "%Z%%M% %I% %E% SMI" @@ -31,6 +30,13 @@ one pl2303_state ### specify the root functions +root usbser_first_device +root usbser_putchar +root usbser_getchar +root usbser_ischar +root usbser_polledio_enter +root usbser_polledio_exit +root usb_console_output_fini root usb_console_input_enter root usb_console_input_exit root usb_console_input_fini @@ -177,6 +183,8 @@ add ds_ops::ds_stop targets pl2303_stop add ds_ops::ds_start targets pl2303_start add ds_ops::ds_fifo_flush targets pl2303_fifo_flush add ds_ops::ds_fifo_drain targets pl2303_fifo_drain +add ds_ops::ds_out_pipe targets pl2303_out_pipe +add ds_ops::ds_in_pipe targets pl2303_in_pipe add pl2303_state::pl_cb.cb_tx targets usbser_tx_cb add pl2303_state::pl_cb.cb_rx targets usbser_rx_cb |