Print this page
5832 EOF wireless usb (aka UWB)
Reviewed by: TBD
Reviewed by: TBD
Approved by: TBD

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/sys/usb/usba/usba_types.h
          +++ new/usr/src/uts/common/sys/usb/usba/usba_types.h
↓ open down ↓ 12 lines elided ↑ open up ↑
  13   13   * When distributing Covered Code, include this CDDL HEADER in each
  14   14   * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15   15   * If applicable, add the following below this CDDL HEADER, with the
  16   16   * fields enclosed by brackets "[]" replaced with your own identifying
  17   17   * information: Portions Copyright [yyyy] [name of copyright owner]
  18   18   *
  19   19   * CDDL HEADER END
  20   20   *
  21   21   * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
  22   22   * Use is subject to license terms.
       23 + *
       24 + * Copyright 2014 Garrett D'Amore <garrett@damore.org>
  23   25   */
  24   26  
  25   27  #ifndef _SYS_USB_USBA_USBA_TYPES_H
  26   28  #define _SYS_USB_USBA_USBA_TYPES_H
  27   29  
  28   30  
  29   31  #include <sys/taskq.h>
  30   32  #include <sys/usb/usba/usba_private.h>
  31   33  #include <sys/usb/usba/usbai_private.h>
  32   34  
↓ open down ↓ 186 lines elided ↑ open up ↑
 219  221   */
 220  222  typedef struct usb_client_dev_data_list {
 221  223          struct usb_client_dev_data_list *cddl_next;
 222  224          struct usb_client_dev_data_list *cddl_prev;
 223  225          dev_info_t                      *cddl_dip;
 224  226          usb_client_dev_data_t           *cddl_dev_data;
 225  227          uint_t                          cddl_ifno;
 226  228  } usb_client_dev_data_list_t;
 227  229  
 228  230  /*
 229      - * wireless usb specific data
 230      - */
 231      -typedef struct usba_wireless_data {
 232      -        uint8_t                 *wusb_bos;      /* raw bos descr */
 233      -        uint_t                  wusb_bos_length; /* length of bos descr */
 234      -        usb_uwb_cap_descr_t     *uwb_descr;     /* UWB capability descr */
 235      -} usba_wireless_data_t;
 236      -
 237      -
 238      -/*
 239  231   * This structure uniquely identifies a USB device
 240  232   * with all interfaces, or just one interface of a USB device.
 241  233   * usba_device is associated with a devinfo node
 242  234   *
 243  235   * This structure is allocated and maintained by USBA and
 244  236   * read-only for HCD
 245  237   *
 246  238   * There can be multiple clients per device (multi-class
 247  239   * device) in which case this structure is shared.
 248  240   */
↓ open down ↓ 47 lines elided ↑ open up ↑
 296  288  
 297  289          uint16_t                *usb_cfg_array_len;
 298  290          uint_t                  usb_cfg_array_len_length;
 299  291  
 300  292          uint_t                  usb_cfg_value;
 301  293          uint_t                  usb_active_cfg_ndx;
 302  294          char                    **usb_cfg_str_descr;
 303  295          uchar_t                 usb_n_cfgs;
 304  296          uchar_t                 usb_n_ifs;
 305  297  
 306      -        /* To support WUSB */
 307      -        boolean_t               usb_is_wa;
 308      -        boolean_t               usb_is_wireless;
 309      -        usba_wireless_data_t    *usb_wireless_data;
 310      -
 311  298          /*
 312  299           * power drawn from hub, if > 0, the power has been
 313  300           * subtracted from the parent hub's power budget
 314  301           */
 315  302          uint16_t                usb_pwr_from_hub;
 316  303  
 317  304          /* ref count, if > 0, this structure is in use */
 318  305          int                     usb_ref_count;
 319  306  
 320  307          /* list of requests allocated for this device, detects leaks */
↓ open down ↓ 28 lines elided ↑ open up ↑
 349  336                                                  [USBA_N_ENDPOINTS];
 350  337  } usba_device_t;
 351  338  
 352  339  #define USBA_CLIENT_FLAG_SIZE           1
 353  340  #define USBA_CLIENT_FLAG_ATTACH         0x01
 354  341  #define USBA_CLIENT_FLAG_EV_CBS         0x02
 355  342  #define USBA_CLIENT_FLAG_DEV_DATA       0x04
 356  343  
 357  344  _NOTE(MUTEX_PROTECTS_DATA(usba_device::usb_mutex, usba_device))
 358  345  _NOTE(MUTEX_PROTECTS_DATA(usba_device::usb_mutex, usba_evdata))
 359      -_NOTE(MUTEX_PROTECTS_DATA(usba_device::usb_mutex, usba_wireless_data))
 360  346  
 361  347  _NOTE(SCHEME_PROTECTS_DATA("chg at attach only",
 362  348                                  usba_evdata::ev_rm_cb_id))
 363  349  _NOTE(SCHEME_PROTECTS_DATA("chg at attach only",
 364  350                                  usba_evdata::ev_ins_cb_id))
 365  351  _NOTE(SCHEME_PROTECTS_DATA("chg at attach only",
 366  352                                  usba_evdata::ev_suspend_cb_id))
 367  353  _NOTE(SCHEME_PROTECTS_DATA("chg at attach only",
 368  354                                  usba_evdata::ev_resume_cb_id))
 369  355  
 370      -_NOTE(SCHEME_PROTECTS_DATA("chg at attach only",
 371      -                                usba_wireless_data::wusb_bos))
 372      -_NOTE(SCHEME_PROTECTS_DATA("chg at attach only",
 373      -                                usba_wireless_data::wusb_bos_length))
 374      -_NOTE(SCHEME_PROTECTS_DATA("chg at attach only",
 375      -                                usba_wireless_data::uwb_descr))
 376      -
 377  356  /* this should be really stable data */
 378  357  _NOTE(DATA_READABLE_WITHOUT_LOCK(usba_device::usb_serialno_str))
 379  358  _NOTE(DATA_READABLE_WITHOUT_LOCK(usba_device::usb_root_hub_dip))
 380  359  _NOTE(DATA_READABLE_WITHOUT_LOCK(usba_device::usb_root_hubd))
 381  360  _NOTE(DATA_READABLE_WITHOUT_LOCK(usba_device::usb_product_str))
 382  361  _NOTE(DATA_READABLE_WITHOUT_LOCK(usba_device::usb_preferred_driver))
 383  362  _NOTE(DATA_READABLE_WITHOUT_LOCK(usba_device::usb_port))
 384  363  _NOTE(DATA_READABLE_WITHOUT_LOCK(usba_device::usb_n_ifs))
 385  364  _NOTE(DATA_READABLE_WITHOUT_LOCK(usba_device::usb_n_cfgs))
 386  365  _NOTE(DATA_READABLE_WITHOUT_LOCK(usba_device::usb_mfg_str))
↓ open down ↓ 11 lines elided ↑ open up ↑
 398  377  _NOTE(DATA_READABLE_WITHOUT_LOCK(usba_device::usb_addr))
 399  378  _NOTE(DATA_READABLE_WITHOUT_LOCK(usba_device::usb_port_status))
 400  379  _NOTE(DATA_READABLE_WITHOUT_LOCK(usba_device::rm_cookie))
 401  380  _NOTE(DATA_READABLE_WITHOUT_LOCK(usba_device::ins_cookie))
 402  381  _NOTE(DATA_READABLE_WITHOUT_LOCK(usba_device::suspend_cookie))
 403  382  _NOTE(DATA_READABLE_WITHOUT_LOCK(usba_device::resume_cookie))
 404  383  _NOTE(DATA_READABLE_WITHOUT_LOCK(usba_device::usb_client_flags))
 405  384  _NOTE(DATA_READABLE_WITHOUT_LOCK(usba_device::usb_client_attach_list))
 406  385  _NOTE(DATA_READABLE_WITHOUT_LOCK(usba_device::usb_client_ev_cb_list))
 407  386  _NOTE(DATA_READABLE_WITHOUT_LOCK(usba_device::usb_dip))
 408      -_NOTE(DATA_READABLE_WITHOUT_LOCK(usba_device::usb_is_wireless))
 409      -_NOTE(DATA_READABLE_WITHOUT_LOCK(usba_device::usb_wireless_data))
 410      -_NOTE(DATA_READABLE_WITHOUT_LOCK(usba_device::usb_is_wa))
 411  387  _NOTE(SCHEME_PROTECTS_DATA("set at device creation",
 412  388                                          usba_device::usb_shared_taskq))
 413  389  
 414  390  _NOTE(SCHEME_PROTECTS_DATA("local use only",
 415  391                                  usb_key_descr::bDescriptorType))
 416  392  _NOTE(SCHEME_PROTECTS_DATA("local use only",
 417  393                                  usb_key_descr::bLength))
 418  394  /*
 419  395   * serialization in drivers
 420  396   */
↓ open down ↓ 17 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX