Lines Matching refs:region
39 * an installed default region handler.
80 * PARAMETERS: region_obj - Internal region object
83 * region_offset - Where in the region to read or write
90 * DESCRIPTION: Dispatch an address space or operation region access to
93 * NOTE: During early initialization, we always install the default region
95 * region address spaces are always available as per the ACPI specification.
125 /* Ensure that there is a handler associated with this region */
127 handler_desc = region_obj->region.handler;
131 acpi_ut_get_node_name(region_obj->region.node),
133 acpi_ut_get_region_name(region_obj->region.
144 * It may be the case that the region has never been initialized.
147 if (!(region_obj->region.flags & AOPOBJ_SETUP_COMPLETE)) {
149 /* This region has not been initialized yet, do it */
157 "No init routine for region(%p) [%s]",
159 acpi_ut_get_region_name(region_obj->region.
165 * We must exit the interpreter because the region setup will
167 * for this region)
182 "During region initialization: [%s]",
184 region.
191 if (!(region_obj->region.flags & AOPOBJ_SETUP_COMPLETE)) {
192 region_obj->region.flags |= AOPOBJ_SETUP_COMPLETE;
196 * the handler for this particular region
208 address = (region_obj->region.address + region_offset);
212 ®ion_obj->region.handler->address_space, handler,
214 acpi_ut_get_region_name(region_obj->region.
246 if ((region_obj->region.space_id == ACPI_ADR_SPACE_GSBUS) &&
263 if ((region_obj->region.space_id == ACPI_ADR_SPACE_GPIO) &&
294 acpi_ut_get_region_name(region_obj->region.
301 if ((region_obj->region.space_id == ACPI_ADR_SPACE_EC) &&
330 * DESCRIPTION: Break the association between the handler and the region
356 /* Get the address handler from the region object */
358 handler_obj = region_obj->region.handler;
361 /* This region has no handler, all done */
366 /* Find this region in the handler's list */
383 *last_obj_ptr = obj_desc->region.next;
384 obj_desc->region.next = NULL; /* Must clear field */
394 /* Now stop region accesses by executing the _REG method */
401 "from region _REG, [%s]",
403 (region_obj->region.space_id)));
415 * If the region has been activated, call the setup handler with
418 if (region_obj->region.flags & AOPOBJ_SETUP_COMPLETE) {
438 "from region handler - deactivate, [%s]",
440 (region_obj->region.
444 region_obj->region.flags &=
449 * Remove handler reference in the region
451 * NOTE: this doesn't mean that the region goes away, the region
454 * If the region is on the handler's list, this must be the
455 * region's handler
457 region_obj->region.handler = NULL;
465 last_obj_ptr = &obj_desc->region.next;
466 obj_desc = obj_desc->region.next;
472 "Circular handler list in region object %p",
478 /* If we get here, the region was not in the handler's region list */
481 "Cannot remove region %p from address handler %p\n",
497 * DESCRIPTION: Create the association between the handler and the region
510 /* Install the region's handler */
512 if (region_obj->region.handler) {
518 acpi_ut_get_node_name(region_obj->region.node),
520 acpi_ut_get_region_name(region_obj->region.
523 /* Link this region to the front of the handler's list */
525 region_obj->region.next = handler_obj->address_space.region_list;
527 region_obj->region.handler = handler_obj;
542 * DESCRIPTION: Execute _REG method for a region
561 region_obj->region.handler == NULL) {
571 * Find any "_REG" method associated with this region definition.
575 node = region_obj->region.node->parent;
582 * region definition. This will be executed when the handler is
616 * Operation region space ID Same value as region_obj->Region.space_id
623 acpi_ut_create_integer_object((u64)region_obj->region.space_id);
717 /* Special case for EC: handle "orphan" _REG methods with no region */
737 * DESCRIPTION: Run _REG method for region objects of the requested spaceID
779 if (obj_desc->region.space_id != info->space_id) {
781 /* This region is for a different address space, just ignore it */
800 * device. This is a _REG method that has no corresponding region
803 * specification: "The availability of the region space can be
853 (next_node->object->region.space_id == ACPI_ADR_SPACE_EC)) {