Print this page
PANKOVs restructure


  47  * This driver populates the firmware device subtree with ACPI-discoverable
  48  * system devices if possible. To achieve that, the ACPI object
  49  * namespace is abstracted as ACPI virtual buses which host system devices.
  50  * Another nexus driver for the ACPI virtual bus will manage all devices
  51  * connected to it.
  52  *
  53  * For more detailed information, please refer to PSARC/2009/104.
  54  */
  55 
  56 #include <sys/types.h>
  57 #include <sys/bitmap.h>
  58 #include <sys/cmn_err.h>
  59 #include <sys/ddi_subrdefs.h>
  60 #include <sys/errno.h>
  61 #include <sys/modctl.h>
  62 #include <sys/mutex.h>
  63 #include <sys/note.h>
  64 #include <sys/obpdefs.h>
  65 #include <sys/sunddi.h>
  66 #include <sys/sunndi.h>
  67 #include <sys/acpi/acpi.h>
  68 #include <sys/acpica.h>
  69 #include <sys/acpidev.h>
  70 #include <sys/acpidev_dr.h>
  71 #include <sys/acpidev_impl.h>
  72 
  73 /* Patchable through /etc/system */
  74 int acpidev_options = 0;
  75 int acpidev_debug = 0;
  76 
  77 krwlock_t acpidev_class_lock;
  78 acpidev_class_list_t *acpidev_class_list_root = NULL;
  79 ulong_t acpidev_object_type_mask[BT_BITOUL(ACPI_TYPE_NS_NODE_MAX + 1)];
  80 
  81 /* ACPI device autoconfig global status */
  82 typedef enum acpidev_status {
  83         ACPIDEV_STATUS_FAILED = -2,     /* ACPI device autoconfig failed */
  84         ACPIDEV_STATUS_DISABLED = -1,   /* ACPI device autoconfig disabled */
  85         ACPIDEV_STATUS_UNKNOWN = 0,     /* initial status */
  86         ACPIDEV_STATUS_INITIALIZED,     /* ACPI device autoconfig initialized */
  87         ACPIDEV_STATUS_FIRST_PASS,      /* first probing finished */




  47  * This driver populates the firmware device subtree with ACPI-discoverable
  48  * system devices if possible. To achieve that, the ACPI object
  49  * namespace is abstracted as ACPI virtual buses which host system devices.
  50  * Another nexus driver for the ACPI virtual bus will manage all devices
  51  * connected to it.
  52  *
  53  * For more detailed information, please refer to PSARC/2009/104.
  54  */
  55 
  56 #include <sys/types.h>
  57 #include <sys/bitmap.h>
  58 #include <sys/cmn_err.h>
  59 #include <sys/ddi_subrdefs.h>
  60 #include <sys/errno.h>
  61 #include <sys/modctl.h>
  62 #include <sys/mutex.h>
  63 #include <sys/note.h>
  64 #include <sys/obpdefs.h>
  65 #include <sys/sunddi.h>
  66 #include <sys/sunndi.h>
  67 #include <acpica/include/acpi.h>
  68 #include <sys/acpica.h>
  69 #include <sys/acpidev.h>
  70 #include <sys/acpidev_dr.h>
  71 #include <sys/acpidev_impl.h>
  72 
  73 /* Patchable through /etc/system */
  74 int acpidev_options = 0;
  75 int acpidev_debug = 0;
  76 
  77 krwlock_t acpidev_class_lock;
  78 acpidev_class_list_t *acpidev_class_list_root = NULL;
  79 ulong_t acpidev_object_type_mask[BT_BITOUL(ACPI_TYPE_NS_NODE_MAX + 1)];
  80 
  81 /* ACPI device autoconfig global status */
  82 typedef enum acpidev_status {
  83         ACPIDEV_STATUS_FAILED = -2,     /* ACPI device autoconfig failed */
  84         ACPIDEV_STATUS_DISABLED = -1,   /* ACPI device autoconfig disabled */
  85         ACPIDEV_STATUS_UNKNOWN = 0,     /* initial status */
  86         ACPIDEV_STATUS_INITIALIZED,     /* ACPI device autoconfig initialized */
  87         ACPIDEV_STATUS_FIRST_PASS,      /* first probing finished */