/*
* File: pci-acpi.c
- * Purpose: Provde PCI support in ACPI
+ * Purpose: Provide PCI support in ACPI
*
* Copyright (C) 2005 David Shaohua Li <shaohua.li@intel.com>
* Copyright (C) 2004 Tom Long Nguyen <tom.l.nguyen@intel.com>
static acpi_status
acpi_run_osc (
acpi_handle handle,
- u32 level,
- void *context,
- void **retval )
+ void *context)
{
acpi_status status;
struct acpi_object_list input;
/**
* pci_osc_control_set - commit requested control to Firmware
+ * @handle: acpi_handle for the target ACPI object
* @flags: driver's requested control bits
*
* Attempt to take control from Firmware on requested control bits.
**/
-acpi_status pci_osc_control_set(u32 flags)
+acpi_status pci_osc_control_set(acpi_handle handle, u32 flags)
{
acpi_status status;
u32 ctrlset;
return AE_SUPPORT;
}
ctrlset_buf[OSC_CONTROL_TYPE] |= ctrlset;
- status = acpi_get_devices ( PCI_ROOT_HID_STRING,
- acpi_run_osc,
- ctrlset_buf,
- NULL );
+ status = acpi_run_osc(handle, ctrlset_buf);
if (ACPI_FAILURE (status)) {
ctrlset_buf[OSC_CONTROL_TYPE] &= ~ctrlset;
}
static int acpi_pci_choose_state(struct pci_dev *pdev, pm_message_t state)
{
- char dstate_str[] = "_S0D";
- acpi_status status;
- unsigned long val;
- struct device *dev = &pdev->dev;
+ /* TBD */
- /* Fixme: the check is wrong after pm_message_t is a struct */
- if ((state >= PM_SUSPEND_MAX) || !DEVICE_ACPI_HANDLE(dev))
- return -EINVAL;
- dstate_str[2] += state; /* _S1D, _S2D, _S3D, _S4D */
- status = acpi_evaluate_integer(DEVICE_ACPI_HANDLE(dev), dstate_str,
- NULL, &val);
- if (ACPI_SUCCESS(status))
- return val;
return -ENODEV;
}