Print this page
PANKOVs restructure


  40  *   This device behaves exactly the same as the PNP0A05 device.
  41  *   This was originally known as Extended I/O Bus.
  42  *   This ID should only be used for containers that do not produce resources
  43  *   for consumption by child devices. Any system resources claimed by a PNP0A06
  44  *   device's _CRS object must be consumed by the container itself.
  45  * ACPI0004: Module Device.
  46  *   This device is a container object that acts as a bus node in a namespace.
  47  *   A Module Device without any of the _CRS, _PRS and _SRS methods behaves
  48  *   the same way as the Generic Container Devices (PNP0A05 or PNP0A06).
  49  *   If the Module Device contains a _CRS method, only the resources
  50  *   described in the _CRS are available for consumption by its child devices.
  51  *   Also, the Module Device can support _PRS and _SRS methods if _CRS is
  52  *   supported.
  53  */
  54 
  55 #include <sys/types.h>
  56 #include <sys/atomic.h>
  57 #include <sys/note.h>
  58 #include <sys/sunddi.h>
  59 #include <sys/sunndi.h>
  60 #include <sys/acpi/acpi.h>
  61 #include <sys/acpica.h>
  62 #include <sys/acpidev.h>
  63 #include <sys/acpidev_dr.h>
  64 #include <sys/acpidev_impl.h>
  65 
  66 static ACPI_STATUS acpidev_container_probe(acpidev_walk_info_t *infop);
  67 static acpidev_filter_result_t acpidev_container_filter(
  68     acpidev_walk_info_t *infop, char *devname, int maxlen);
  69 static ACPI_STATUS acpidev_container_init(acpidev_walk_info_t *infop);
  70 static acpidev_filter_result_t acpidev_container_filter_func(
  71     acpidev_walk_info_t *infop, ACPI_HANDLE hdl, acpidev_filter_rule_t *rulep,
  72     char *devname, int devnamelen);
  73 
  74 /*
  75  * Default class driver for ACPI container objects.
  76  */
  77 acpidev_class_t acpidev_class_container = {
  78         0,                              /* adc_refcnt */
  79         ACPIDEV_CLASS_REV1,             /* adc_version */
  80         ACPIDEV_CLASS_ID_CONTAINER,     /* adc_class_id */




  40  *   This device behaves exactly the same as the PNP0A05 device.
  41  *   This was originally known as Extended I/O Bus.
  42  *   This ID should only be used for containers that do not produce resources
  43  *   for consumption by child devices. Any system resources claimed by a PNP0A06
  44  *   device's _CRS object must be consumed by the container itself.
  45  * ACPI0004: Module Device.
  46  *   This device is a container object that acts as a bus node in a namespace.
  47  *   A Module Device without any of the _CRS, _PRS and _SRS methods behaves
  48  *   the same way as the Generic Container Devices (PNP0A05 or PNP0A06).
  49  *   If the Module Device contains a _CRS method, only the resources
  50  *   described in the _CRS are available for consumption by its child devices.
  51  *   Also, the Module Device can support _PRS and _SRS methods if _CRS is
  52  *   supported.
  53  */
  54 
  55 #include <sys/types.h>
  56 #include <sys/atomic.h>
  57 #include <sys/note.h>
  58 #include <sys/sunddi.h>
  59 #include <sys/sunndi.h>
  60 #include <acpica/include/acpi.h>
  61 #include <sys/acpica.h>
  62 #include <sys/acpidev.h>
  63 #include <sys/acpidev_dr.h>
  64 #include <sys/acpidev_impl.h>
  65 
  66 static ACPI_STATUS acpidev_container_probe(acpidev_walk_info_t *infop);
  67 static acpidev_filter_result_t acpidev_container_filter(
  68     acpidev_walk_info_t *infop, char *devname, int maxlen);
  69 static ACPI_STATUS acpidev_container_init(acpidev_walk_info_t *infop);
  70 static acpidev_filter_result_t acpidev_container_filter_func(
  71     acpidev_walk_info_t *infop, ACPI_HANDLE hdl, acpidev_filter_rule_t *rulep,
  72     char *devname, int devnamelen);
  73 
  74 /*
  75  * Default class driver for ACPI container objects.
  76  */
  77 acpidev_class_t acpidev_class_container = {
  78         0,                              /* adc_refcnt */
  79         ACPIDEV_CLASS_REV1,             /* adc_version */
  80         ACPIDEV_CLASS_ID_CONTAINER,     /* adc_class_id */