Print this page
OS-1996 mpt_sas: allow physical topology enumeration in libtopo
Reviewed by: Keith Wesolowski <keith.wesolowski@joyent.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/lib/fm/topo/modules/common/disk/disk.h
          +++ new/usr/src/lib/fm/topo/modules/common/disk/disk.h
↓ open down ↓ 14 lines elided ↑ open up ↑
  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  
  22   22  /*
  23   23   * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
  24   24   */
       25 +/*
       26 + * Copyright (c) 2013, Joyent, Inc.  All rights reserved.
       27 + */
  25   28  
  26   29  #ifndef _DISK_H
  27   30  #define _DISK_H
  28   31  
  29   32  #include <fm/topo_mod.h>
  30   33  #include <libdevinfo.h>
  31   34  
  32   35  #ifdef __cplusplus
  33   36  extern "C" {
  34   37  #endif
↓ open down ↓ 12 lines elided ↑ open up ↑
  47   50  #define TOPO_STORAGE_SERIAL_NUM         "serial-number"
  48   51  #define TOPO_STORAGE_FIRMWARE_REV       "firmware-revision"
  49   52  #define TOPO_STORAGE_CAPACITY           "capacity-in-bytes"
  50   53  
  51   54  /*
  52   55   * Properties for binding group: The binding group required in platform
  53   56   * specific xml that describes 'bay' nodes containing internal disks.
  54   57   */
  55   58  #define TOPO_PGROUP_BINDING             "binding"
  56   59  #define TOPO_BINDING_OCCUPANT           "occupant-path"
       60 +#define TOPO_BINDING_DRIVER             "driver"
       61 +
       62 +/*
       63 + * The binding group required in platform specific xml that describes 'bay'
       64 + * nodes containing disks attached to an HBA using the 'mpt_sas' driver.
       65 + */
       66 +#define TOPO_BINDING_DEVCTL             "devctl"
       67 +#define TOPO_BINDING_ENCLOSURE          "enclosure"
       68 +#define TOPO_BINDING_SLOT               "slot"
  57   69  
  58   70  /*
  59   71   * device node information.
  60   72   */
  61   73  typedef struct dev_di_node {
  62   74          topo_list_t     ddn_list;       /* list of devices */
  63   75  
  64   76          /* the following two fields are always defined */
  65   77          char            *ddn_devid;     /* devid of device */
  66   78          char            *ddn_dpath;     /* path to devinfo (may be vhci) */
↓ open down ↓ 38 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX