⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rsxface.c

📁 内核linux2.4.20,可跟rtlinux3.2打补丁 组成实时linux系统,编译内核
💻 C
字号:
/******************************************************************************* * * Module Name: rsxface - Public interfaces to the resource manager *              $Revision: 15 $ * ******************************************************************************//* *  Copyright (C) 2000, 2001 R. Byron Moore * *  This program is free software; you can redistribute it and/or modify *  it under the terms of the GNU General Public License as published by *  the Free Software Foundation; either version 2 of the License, or *  (at your option) any later version. * *  This program is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *  GNU General Public License for more details. * *  You should have received a copy of the GNU General Public License *  along with this program; if not, write to the Free Software *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */#include "acpi.h"#include "acinterp.h"#include "acnamesp.h"#include "acresrc.h"#define _COMPONENT          ACPI_RESOURCES	 MODULE_NAME         ("rsxface")/******************************************************************************* * * FUNCTION:    Acpi_get_irq_routing_table * * PARAMETERS:  Device_handle   - a handle to the Bus device we are querying *              Ret_buffer      - a pointer to a buffer to receive the *                                current resources for the device * * RETURN:      Status * * DESCRIPTION: This function is called to get the IRQ routing table for a *              specific bus.  The caller must first acquire a handle for the *              desired bus.  The routine table is placed in the buffer pointed *              to by the Ret_buffer variable parameter. * *              If the function fails an appropriate status will be returned *              and the value of Ret_buffer is undefined. * *              This function attempts to execute the _PRT method contained in *              the object indicated by the passed Device_handle. * ******************************************************************************/acpi_statusacpi_get_irq_routing_table (	acpi_handle             device_handle,	acpi_buffer             *ret_buffer){	acpi_status             status;	FUNCTION_TRACE ("Acpi_get_irq_routing_table ");	/*	 * Must have a valid handle and buffer, So we have to have a handle	 * and a return buffer structure, and if there is a non-zero buffer length	 * we also need a valid pointer in the buffer. If it's a zero buffer length,	 * we'll be returning the needed buffer size, so keep going.	 */	if ((!device_handle)        ||		(!ret_buffer)           ||		((!ret_buffer->pointer) && (ret_buffer->length))) {		return_ACPI_STATUS (AE_BAD_PARAMETER);	}	status = acpi_rs_get_prt_method_data (device_handle, ret_buffer);	return_ACPI_STATUS (status);}/******************************************************************************* * * FUNCTION:    Acpi_get_current_resources * * PARAMETERS:  Device_handle   - a handle to the device object for the *                                device we are querying *              Ret_buffer      - a pointer to a buffer to receive the *                                current resources for the device * * RETURN:      Status * * DESCRIPTION: This function is called to get the current resources for a *              specific device.  The caller must first acquire a handle for *              the desired device.  The resource data is placed in the buffer *              pointed to by the Ret_buffer variable parameter. * *              If the function fails an appropriate status will be returned *              and the value of Ret_buffer is undefined. * *              This function attempts to execute the _CRS method contained in *              the object indicated by the passed Device_handle. * ******************************************************************************/acpi_statusacpi_get_current_resources (	acpi_handle             device_handle,	acpi_buffer             *ret_buffer){	acpi_status             status;	FUNCTION_TRACE ("Acpi_get_current_resources");	/*	 * Must have a valid handle and buffer, So we have to have a handle	 * and a return buffer structure, and if there is a non-zero buffer length	 * we also need a valid pointer in the buffer. If it's a zero buffer length,	 * we'll be returning the needed buffer size, so keep going.	 */	if ((!device_handle)        ||		(!ret_buffer)           ||		((ret_buffer->length) && (!ret_buffer->pointer))) {		return_ACPI_STATUS (AE_BAD_PARAMETER);	}	status = acpi_rs_get_crs_method_data (device_handle, ret_buffer);	return_ACPI_STATUS (status);}/******************************************************************************* * * FUNCTION:    Acpi_get_possible_resources * * PARAMETERS:  Device_handle   - a handle to the device object for the *                                device we are querying *              Ret_buffer      - a pointer to a buffer to receive the *                                resources for the device * * RETURN:      Status * * DESCRIPTION: This function is called to get a list of the possible resources *              for a specific device.  The caller must first acquire a handle *              for the desired device.  The resource data is placed in the *              buffer pointed to by the Ret_buffer variable. * *              If the function fails an appropriate status will be returned *              and the value of Ret_buffer is undefined. * ******************************************************************************/acpi_statusacpi_get_possible_resources (	acpi_handle             device_handle,	acpi_buffer             *ret_buffer){	acpi_status             status;	FUNCTION_TRACE ("Acpi_get_possible_resources");	/*	 * Must have a valid handle and buffer, So we have to have a handle	 * and a return buffer structure, and if there is a non-zero buffer length	 * we also need a valid pointer in the buffer. If it's a zero buffer length,	 * we'll be returning the needed buffer size, so keep going.	 */	if ((!device_handle)        ||		(!ret_buffer)           ||		((ret_buffer->length) && (!ret_buffer->pointer))) {		return_ACPI_STATUS (AE_BAD_PARAMETER);	}	status = acpi_rs_get_prs_method_data (device_handle, ret_buffer);	return_ACPI_STATUS (status);}/******************************************************************************* * * FUNCTION:    Acpi_set_current_resources * * PARAMETERS:  Device_handle   - a handle to the device object for the *                                device we are changing the resources of *              In_buffer       - a pointer to a buffer containing the *                                resources to be set for the device * * RETURN:      Status * * DESCRIPTION: This function is called to set the current resources for a *              specific device.  The caller must first acquire a handle for *              the desired device.  The resource data is passed to the routine *              the buffer pointed to by the In_buffer variable. * ******************************************************************************/acpi_statusacpi_set_current_resources (	acpi_handle             device_handle,	acpi_buffer             *in_buffer){	acpi_status             status;	FUNCTION_TRACE ("Acpi_set_current_resources");	/*	 * Must have a valid handle and buffer	 */	if ((!device_handle)      ||		(!in_buffer)          ||		(!in_buffer->pointer) ||		(!in_buffer->length)) {		return_ACPI_STATUS (AE_BAD_PARAMETER);	}	status = acpi_rs_set_srs_method_data (device_handle, in_buffer);	return_ACPI_STATUS (status);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -