* [PATCH 1/7] PCI, ACPI: include missing acpi.h file in pci-acpi.h.
2008-11-05 5:29 [PATCH v3 0/7] call _OSC support during root bridge discovery Andrew Patterson
@ 2008-11-05 5:29 ` Andrew Patterson
2008-11-05 5:29 ` [PATCH 2/7] ACPI, PCI: call _OSC support during root bridge discovery Andrew Patterson
` (5 subsequent siblings)
6 siblings, 0 replies; 9+ messages in thread
From: Andrew Patterson @ 2008-11-05 5:29 UTC (permalink / raw)
To: linux-pci, linux-acpi
Cc: andrew.patterson, matthew, kaneshige.kenji, bjorn.helgaas
PCI, ACPI: include missing acpi.h file in pci-acpi.h.
The pci-acpi.h file will not compile without including linux/acpi.h.
Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
---
diff --git a/include/linux/pci-acpi.h b/include/linux/pci-acpi.h
index 8837928..a9e4c34 100644
--- a/include/linux/pci-acpi.h
+++ b/include/linux/pci-acpi.h
@@ -8,6 +8,8 @@
#ifndef _PCI_ACPI_H_
#define _PCI_ACPI_H_
+#include <linux/acpi.h>
+
#define OSC_QUERY_TYPE 0
#define OSC_SUPPORT_TYPE 1
#define OSC_CONTROL_TYPE 2
^ permalink raw reply related [flat|nested] 9+ messages in thread* [PATCH 2/7] ACPI, PCI: call _OSC support during root bridge discovery
2008-11-05 5:29 [PATCH v3 0/7] call _OSC support during root bridge discovery Andrew Patterson
2008-11-05 5:29 ` [PATCH 1/7] PCI, ACPI: include missing acpi.h file in pci-acpi.h Andrew Patterson
@ 2008-11-05 5:29 ` Andrew Patterson
2008-11-05 5:29 ` [PATCH 3/7] ACPI, PCI: PCI extended config _OSC support called when root bridge added Andrew Patterson
` (4 subsequent siblings)
6 siblings, 0 replies; 9+ messages in thread
From: Andrew Patterson @ 2008-11-05 5:29 UTC (permalink / raw)
To: linux-pci, linux-acpi
Cc: andrew.patterson, matthew, kaneshige.kenji, bjorn.helgaas
ACPI, PCI: call _OSC support during root bridge discovery
Added pci_acpi_osc_support() which is called when a PCI bridge is
added, so individual PCI root bridge drivers do not have to call _OSC
support for every root bridge in their probe functions.
Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
---
diff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c
index 1b8f67d..e1cf2b7 100644
--- a/drivers/acpi/pci_root.c
+++ b/drivers/acpi/pci_root.c
@@ -31,6 +31,7 @@
#include <linux/spinlock.h>
#include <linux/pm.h>
#include <linux/pci.h>
+#include <linux/pci-acpi.h>
#include <linux/acpi.h>
#include <acpi/acpi_bus.h>
#include <acpi/acpi_drivers.h>
@@ -193,6 +194,7 @@ static int __devinit acpi_pci_root_add(struct acpi_device *device)
unsigned long long value = 0;
acpi_handle handle = NULL;
struct acpi_device *child;
+ u32 flags;
if (!device)
@@ -210,6 +212,10 @@ static int __devinit acpi_pci_root_add(struct acpi_device *device)
device->ops.bind = acpi_pci_bind;
+ flags = (OSC_PCI_SEGMENT_GROUPS_SUPPORT |
+ 0);
+ pci_acpi_osc_support(device->handle, flags);
+
/*
* Segment
* -------
diff --git a/drivers/pci/pci-acpi.c b/drivers/pci/pci-acpi.c
index dfe7c8e..f457387 100644
--- a/drivers/pci/pci-acpi.c
+++ b/drivers/pci/pci-acpi.c
@@ -139,28 +139,42 @@ static acpi_status __acpi_query_osc(u32 flags, struct acpi_osc_data *osc_data,
return status;
}
-static acpi_status acpi_query_osc(acpi_handle handle,
- u32 level, void *context, void **retval)
+/*
+ * pci_acpi_osc_support: Invoke _OSC indicating support for the given feature
+ * @flags: Bitmask of flags to support
+ *
+ * See the ACPI spec for the definition of the flags
+ */
+int pci_acpi_osc_support(acpi_handle handle, u32 flags)
{
+ u32 dummy;
acpi_status status;
- struct acpi_osc_data *osc_data;
- u32 flags = (unsigned long)context, dummy;
acpi_handle tmp;
+ struct acpi_osc_data *osc_data;
+ int rc = 0;
status = acpi_get_handle(handle, "_OSC", &tmp);
if (ACPI_FAILURE(status))
- return AE_OK;
+ return -ENOTTY;
mutex_lock(&pci_acpi_lock);
osc_data = acpi_get_osc_data(handle);
if (!osc_data) {
printk(KERN_ERR "acpi osc data array is full\n");
+ rc = -ENOMEM;
goto out;
}
__acpi_query_osc(flags, osc_data, &dummy);
out:
mutex_unlock(&pci_acpi_lock);
+ return rc;
+}
+
+static acpi_status acpi_query_osc(acpi_handle handle, u32 level,
+ void *context, void **retval)
+{
+ pci_acpi_osc_support(handle, (unsigned long)context);
return AE_OK;
}
diff --git a/include/linux/pci-acpi.h b/include/linux/pci-acpi.h
index a9e4c34..424f06f 100644
--- a/include/linux/pci-acpi.h
+++ b/include/linux/pci-acpi.h
@@ -51,6 +51,7 @@
#ifdef CONFIG_ACPI
extern acpi_status pci_osc_control_set(acpi_handle handle, u32 flags);
extern acpi_status __pci_osc_support_set(u32 flags, const char *hid);
+int pci_acpi_osc_support(acpi_handle handle, u32 flags);
static inline acpi_status pci_osc_support_set(u32 flags)
{
return __pci_osc_support_set(flags, PCI_ROOT_HID_STRING);
^ permalink raw reply related [flat|nested] 9+ messages in thread* [PATCH 3/7] ACPI, PCI: PCI extended config _OSC support called when root bridge added
2008-11-05 5:29 [PATCH v3 0/7] call _OSC support during root bridge discovery Andrew Patterson
2008-11-05 5:29 ` [PATCH 1/7] PCI, ACPI: include missing acpi.h file in pci-acpi.h Andrew Patterson
2008-11-05 5:29 ` [PATCH 2/7] ACPI, PCI: call _OSC support during root bridge discovery Andrew Patterson
@ 2008-11-05 5:29 ` Andrew Patterson
2008-11-05 5:29 ` [PATCH 4/7] ACPI, PCI: PCIe ASPM _OSC support capabilities " Andrew Patterson
` (3 subsequent siblings)
6 siblings, 0 replies; 9+ messages in thread
From: Andrew Patterson @ 2008-11-05 5:29 UTC (permalink / raw)
To: linux-pci, linux-acpi
Cc: andrew.patterson, matthew, kaneshige.kenji, bjorn.helgaas
ACPI, PCI: PCI extended config _OSC support called when root bridge added
The _OSC capability OSC_EXT_PCI_CONFIG_SUPPORT is set when the root bridge
is added with pci_acpi_osc_support() if we can access PCI extended
config space.
Added the function pci_no_mmcfg_enabled which sets the variable
pci_mmcfg_disabled=1 if pci=nommconf is included on the kernel command-
line.
Added the function pci_ext_cfg_avail which returns true if we can
access PCI extended config space (offset greater than 0xff). It
currently only returns false if pci=nommconf is included on the kernel
command-line.
Signed-off-by: Andrew Patterson <andrew.patterson@hp.com>
---
diff --git a/arch/x86/pci/common.c b/arch/x86/pci/common.c
index b67732b..e714976 100644
--- a/arch/x86/pci/common.c
+++ b/arch/x86/pci/common.c
@@ -470,6 +470,7 @@ char * __devinit pcibios_setup(char *str)
#endif
#ifdef CONFIG_PCI_MMCONFIG
else if (!strcmp(str, "nommconf")) {
+ pci_no_mmcfg();
pci_probe &= ~PCI_PROBE_MMCONF;
return NULL;
}
diff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c
index e1cf2b7..1fcf40f 100644
--- a/drivers/acpi/pci_root.c
+++ b/drivers/acpi/pci_root.c
@@ -212,8 +212,9 @@ static int __devinit acpi_pci_root_add(struct acpi_device *device)
device->ops.bind = acpi_pci_bind;
- flags = (OSC_PCI_SEGMENT_GROUPS_SUPPORT |
- 0);
+ flags = OSC_PCI_SEGMENT_GROUPS_SUPPORT;
+ if (pci_ext_cfg_avail())
+ flags |= OSC_EXT_PCI_CONFIG_SUPPORT;
pci_acpi_osc_support(device->handle, flags);
/*
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index 21f2ac6..c22a31d 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -28,6 +28,10 @@ unsigned int pci_pm_d3_delay = 10;
int pci_domains_supported = 1;
#endif
+#ifdef CONFIG_PCI_MMCONFIG
+static int pci_mmcfg_disabled;
+#endif
+
#define DEFAULT_CARDBUS_IO_SIZE (256)
#define DEFAULT_CARDBUS_MEM_SIZE (64*1024*1024)
/* pci=cbmemsize=nnM,cbiosize=nn can override this */
@@ -2029,6 +2033,28 @@ static void __devinit pci_no_domains(void)
#endif
}
+#ifdef CONFIG_PCI_MMCONFIG
+void pci_no_mmcfg(void)
+{
+ pci_mmcfg_disabled = 1;
+}
+#endif
+
+/**
+ * pci_ext_cfg_enabled - can we access extended PCI config space?
+ *
+ * Returns true if we can access PCI extended config space (offsets greater
+ * than 0xff).
+ */
+int pci_ext_cfg_avail(void)
+{
+#ifdef CONFIG_PCI_MMCONFIG
+ if (pci_mmcfg_disabled)
+ return 0;
+#endif
+ return 1;
+}
+
static int __devinit pci_init(void)
{
struct pci_dev *dev = NULL;
diff --git a/include/linux/pci.h b/include/linux/pci.h
index c75b82b..ea2fb2b 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -1130,11 +1130,15 @@ int pcibios_set_pcie_reset_state(struct pci_dev *dev,
#ifdef CONFIG_PCI_MMCONFIG
extern void __init pci_mmcfg_early_init(void);
extern void __init pci_mmcfg_late_init(void);
+void pci_no_mmcfg(void);
#else
static inline void pci_mmcfg_early_init(void) { }
static inline void pci_mmcfg_late_init(void) { }
+static inline void pci_no_mmcfg(void) { }
#endif
+int pci_ext_cfg_avail(void);
+
#ifdef CONFIG_HAS_IOMEM
static inline void * pci_ioremap_bar(struct pci_dev *pdev, int bar)
{
^ permalink raw reply related [flat|nested] 9+ messages in thread* [PATCH 4/7] ACPI, PCI: PCIe ASPM _OSC support capabilities called when root bridge added
2008-11-05 5:29 [PATCH v3 0/7] call _OSC support during root bridge discovery Andrew Patterson
` (2 preceding siblings ...)
2008-11-05 5:29 ` [PATCH 3/7] ACPI, PCI: PCI extended config _OSC support called when root bridge added Andrew Patterson
@ 2008-11-05 5:29 ` Andrew Patterson
2008-11-05 5:30 ` [PATCH 5/7] ACPI, PCI: PCIe AER " Andrew Patterson
` (2 subsequent siblings)
6 siblings, 0 replies; 9+ messages in thread
From: Andrew Patterson @ 2008-11-05 5:29 UTC (permalink / raw)
To: linux-pci, linux-acpi
Cc: andrew.patterson, matthew, kaneshige.kenji, bjorn.helgaas
ACPI, PCI: PCIe ASPM _OSC support capabilities called when root bridge added
The _OSC capabilities OSC_ACTIVE_STATE_PWR_SUPPORT and
OSC_CLOCK_PWR_CAPABILITY_SUPPORT are set when the root bridge is added
with pci_acpi_osc_support(), so we no longer need to do it in the
ASPM driver.
Added the function pcie_aspm_enabled, which returns true if pcie_aspm=off
is not on the kernel command-line.
Signed-off-by: Andrew Patterson <andrew.patterson@hp.com>
---
diff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c
index 1fcf40f..e2c88fb 100644
--- a/drivers/acpi/pci_root.c
+++ b/drivers/acpi/pci_root.c
@@ -215,6 +215,9 @@ static int __devinit acpi_pci_root_add(struct acpi_device *device)
flags = OSC_PCI_SEGMENT_GROUPS_SUPPORT;
if (pci_ext_cfg_avail())
flags |= OSC_EXT_PCI_CONFIG_SUPPORT;
+ if (pcie_aspm_enabled())
+ flags |= OSC_ACTIVE_STATE_PWR_SUPPORT |
+ OSC_CLOCK_PWR_CAPABILITY_SUPPORT;
pci_acpi_osc_support(device->handle, flags);
/*
diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c
index 8f63f4c..1089f86 100644
--- a/drivers/pci/pcie/aspm.c
+++ b/drivers/pci/pcie/aspm.c
@@ -834,24 +834,15 @@ void pcie_no_aspm(void)
aspm_disabled = 1;
}
-#ifdef CONFIG_ACPI
-#include <acpi/acpi_bus.h>
-#include <linux/pci-acpi.h>
-static void pcie_aspm_platform_init(void)
-{
- pcie_osc_support_set(OSC_ACTIVE_STATE_PWR_SUPPORT|
- OSC_CLOCK_PWR_CAPABILITY_SUPPORT);
-}
-#else
-static inline void pcie_aspm_platform_init(void) { }
-#endif
-
-static int __init pcie_aspm_init(void)
+/**
+ * pcie_aspm_enabled - is PCIe ASPM enabled?
+ *
+ * Returns true if ASPM has not been disabled by the command-line option
+ * pcie_aspm=off.
+ **/
+int pcie_aspm_enabled(void)
{
- if (aspm_disabled)
- return 0;
- pcie_aspm_platform_init();
- return 0;
+ return !aspm_disabled;
}
+EXPORT_SYMBOL(pcie_aspm_enabled);
-fs_initcall(pcie_aspm_init);
diff --git a/include/linux/pci.h b/include/linux/pci.h
index ea2fb2b..c4f0859 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -786,6 +786,15 @@ extern void msi_remove_pci_irq_vectors(struct pci_dev *dev);
extern void pci_restore_msi_state(struct pci_dev *dev);
#endif
+#ifndef CONFIG_PCIEASPM
+static inline int pcie_aspm_enabled(void)
+{
+ return 0;
+}
+#else
+extern int pcie_aspm_enabled(void);
+#endif
+
#ifdef CONFIG_HT_IRQ
/* The functions a driver should call */
int ht_create_irq(struct pci_dev *dev, int idx);
^ permalink raw reply related [flat|nested] 9+ messages in thread* [PATCH 5/7] ACPI, PCI: PCIe AER _OSC support capabilities called when root bridge added
2008-11-05 5:29 [PATCH v3 0/7] call _OSC support during root bridge discovery Andrew Patterson
` (3 preceding siblings ...)
2008-11-05 5:29 ` [PATCH 4/7] ACPI, PCI: PCIe ASPM _OSC support capabilities " Andrew Patterson
@ 2008-11-05 5:30 ` Andrew Patterson
2008-11-05 5:30 ` [PATCH 6/7] ACPI, PCI: PCI MSI " Andrew Patterson
2008-11-05 5:30 ` [PATCH 7/7] PCI, ACPI: remove obsolete _OSC capability support functions Andrew Patterson
6 siblings, 0 replies; 9+ messages in thread
From: Andrew Patterson @ 2008-11-05 5:30 UTC (permalink / raw)
To: linux-pci, linux-acpi
Cc: andrew.patterson, matthew, kaneshige.kenji, bjorn.helgaas
ACPI, PCI: PCIe AER _OSC support capabilities called when root bridge added
The _OSC capability OSC_EXT_PCI_CONFIG_SUPPORT is set when the root
bridge is added with pci_acpi_osc_support(), so we no longer need to do
it in the PCIe AER driver.
Signed-off-by: Andrew Patterson <andrew.patterson@hp.com>
---
diff --git a/drivers/pci/pcie/aer/aerdrv_acpi.c b/drivers/pci/pcie/aer/aerdrv_acpi.c
index 6dd7b13..ebce26c 100644
--- a/drivers/pci/pcie/aer/aerdrv_acpi.c
+++ b/drivers/pci/pcie/aer/aerdrv_acpi.c
@@ -38,7 +38,6 @@ int aer_osc_setup(struct pcie_device *pciedev)
handle = acpi_find_root_bridge_handle(pdev);
if (handle) {
- pcie_osc_support_set(OSC_EXT_PCI_CONFIG_SUPPORT);
status = pci_osc_control_set(handle,
OSC_PCI_EXPRESS_AER_CONTROL |
OSC_PCI_EXPRESS_CAP_STRUCTURE_CONTROL);
^ permalink raw reply related [flat|nested] 9+ messages in thread* [PATCH 6/7] ACPI, PCI: PCI MSI _OSC support capabilities called when root bridge added
2008-11-05 5:29 [PATCH v3 0/7] call _OSC support during root bridge discovery Andrew Patterson
` (4 preceding siblings ...)
2008-11-05 5:30 ` [PATCH 5/7] ACPI, PCI: PCIe AER " Andrew Patterson
@ 2008-11-05 5:30 ` Andrew Patterson
2008-11-05 5:30 ` [PATCH 7/7] PCI, ACPI: remove obsolete _OSC capability support functions Andrew Patterson
6 siblings, 0 replies; 9+ messages in thread
From: Andrew Patterson @ 2008-11-05 5:30 UTC (permalink / raw)
To: linux-pci, linux-acpi
Cc: andrew.patterson, matthew, kaneshige.kenji, bjorn.helgaas
ACPI, PCI: PCI MSI _OSC support capabilities called when root bridge added
The _OSC capability OSC_MSI_SUPPORT is set when the root
bridge is added with pci_acpi_osc_support(), so we no longer
need to do it in the PCI MSI driver.
Added the function pci_msi_enabled, which returns true if pci=nomsi is not
on the kernel command-line.
Signed-off-by: Andrew Patterson <andrew.patterson@hp.com>
---
diff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c
index e2c88fb..579efa9 100644
--- a/drivers/acpi/pci_root.c
+++ b/drivers/acpi/pci_root.c
@@ -218,6 +218,8 @@ static int __devinit acpi_pci_root_add(struct acpi_device *device)
if (pcie_aspm_enabled())
flags |= OSC_ACTIVE_STATE_PWR_SUPPORT |
OSC_CLOCK_PWR_CAPABILITY_SUPPORT;
+ if (pci_msi_enabled())
+ flags |= OSC_MSI_SUPPORT;
pci_acpi_osc_support(device->handle, flags);
/*
diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c
index 74801f7..0e8dae1 100644
--- a/drivers/pci/msi.c
+++ b/drivers/pci/msi.c
@@ -755,28 +755,19 @@ void pci_no_msi(void)
pci_msi_enable = 0;
}
-void pci_msi_init_pci_dev(struct pci_dev *dev)
-{
- INIT_LIST_HEAD(&dev->msi_list);
-}
-
-#ifdef CONFIG_ACPI
-#include <linux/acpi.h>
-#include <linux/pci-acpi.h>
-static void __devinit msi_acpi_init(void)
+/**
+ * pci_msi_enabled - is MSI enabled?
+ *
+ * Returns true if MSI has not been disabled by the command-line option
+ * pci=nomsi.
+ **/
+int pci_msi_enabled(void)
{
- if (acpi_pci_disabled)
- return;
- pci_osc_support_set(OSC_MSI_SUPPORT);
- pcie_osc_support_set(OSC_MSI_SUPPORT);
+ return pci_msi_enable;
}
-#else
-static inline void msi_acpi_init(void) { }
-#endif /* CONFIG_ACPI */
+EXPORT_SYMBOL(pci_msi_enabled);
-void __devinit msi_init(void)
+void pci_msi_init_pci_dev(struct pci_dev *dev)
{
- if (!pci_msi_enable)
- return;
- msi_acpi_init();
+ INIT_LIST_HEAD(&dev->msi_list);
}
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index c22a31d..61b19b3 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -2063,8 +2063,6 @@ static int __devinit pci_init(void)
pci_fixup_device(pci_fixup_final, dev);
}
- msi_init();
-
return 0;
}
diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h
index d3e65e2..9162e24 100644
--- a/drivers/pci/pci.h
+++ b/drivers/pci/pci.h
@@ -102,11 +102,9 @@ extern unsigned int pci_pm_d3_delay;
#ifdef CONFIG_PCI_MSI
void pci_no_msi(void);
extern void pci_msi_init_pci_dev(struct pci_dev *dev);
-extern void __devinit msi_init(void);
#else
static inline void pci_no_msi(void) { }
static inline void pci_msi_init_pci_dev(struct pci_dev *dev) { }
-static inline void msi_init(void) { }
#endif
#ifdef CONFIG_PCIEAER
diff --git a/include/linux/pci.h b/include/linux/pci.h
index c4f0859..c70f999 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -774,6 +774,10 @@ static inline void msi_remove_pci_irq_vectors(struct pci_dev *dev)
static inline void pci_restore_msi_state(struct pci_dev *dev)
{ }
+static inline int pci_msi_enabled(void)
+{
+ return 0;
+}
#else
extern int pci_enable_msi(struct pci_dev *dev);
extern void pci_msi_shutdown(struct pci_dev *dev);
@@ -784,6 +788,7 @@ extern void pci_msix_shutdown(struct pci_dev *dev);
extern void pci_disable_msix(struct pci_dev *dev);
extern void msi_remove_pci_irq_vectors(struct pci_dev *dev);
extern void pci_restore_msi_state(struct pci_dev *dev);
+extern int pci_msi_enabled(void);
#endif
#ifndef CONFIG_PCIEASPM
^ permalink raw reply related [flat|nested] 9+ messages in thread* [PATCH 7/7] PCI, ACPI: remove obsolete _OSC capability support functions
2008-11-05 5:29 [PATCH v3 0/7] call _OSC support during root bridge discovery Andrew Patterson
` (5 preceding siblings ...)
2008-11-05 5:30 ` [PATCH 6/7] ACPI, PCI: PCI MSI " Andrew Patterson
@ 2008-11-05 5:30 ` Andrew Patterson
6 siblings, 0 replies; 9+ messages in thread
From: Andrew Patterson @ 2008-11-05 5:30 UTC (permalink / raw)
To: linux-pci, linux-acpi
Cc: andrew.patterson, matthew, kaneshige.kenji, bjorn.helgaas
PCI, ACPI: remove obsolete _OSC capability support functions
The acpi_query_osc, __pci_osc_support_set, pci_osc_support_set, and
pcie_osc_support_set functions have been obsoleted in favor of setting
these capabilities during root bridge discovery with pci_acpi_osc_support.
There are no longer any callers of these functions, so they are removed.
Signed-off-by: Andrew Patterson <andrew.patterson@hp.com>
---
diff --git a/drivers/pci/pci-acpi.c b/drivers/pci/pci-acpi.c
index f457387..128ce7d 100644
--- a/drivers/pci/pci-acpi.c
+++ b/drivers/pci/pci-acpi.c
@@ -171,31 +171,6 @@ out:
return rc;
}
-static acpi_status acpi_query_osc(acpi_handle handle, u32 level,
- void *context, void **retval)
-{
- pci_acpi_osc_support(handle, (unsigned long)context);
- return AE_OK;
-}
-
-/**
- * __pci_osc_support_set - register OS support to Firmware
- * @flags: OS support bits
- * @hid: hardware ID
- *
- * Update OS support fields and doing a _OSC Query to obtain an update
- * from Firmware on supported control bits.
- **/
-acpi_status __pci_osc_support_set(u32 flags, const char *hid)
-{
- if (!(flags & OSC_SUPPORT_MASKS))
- return AE_TYPE;
-
- acpi_get_devices(hid, acpi_query_osc,
- (void *)(unsigned long)flags, NULL);
- return AE_OK;
-}
-
/**
* pci_osc_control_set - commit requested control to Firmware
* @handle: acpi_handle for the target ACPI object
diff --git a/include/linux/pci-acpi.h b/include/linux/pci-acpi.h
index 424f06f..871e096 100644
--- a/include/linux/pci-acpi.h
+++ b/include/linux/pci-acpi.h
@@ -50,16 +50,7 @@
#ifdef CONFIG_ACPI
extern acpi_status pci_osc_control_set(acpi_handle handle, u32 flags);
-extern acpi_status __pci_osc_support_set(u32 flags, const char *hid);
int pci_acpi_osc_support(acpi_handle handle, u32 flags);
-static inline acpi_status pci_osc_support_set(u32 flags)
-{
- return __pci_osc_support_set(flags, PCI_ROOT_HID_STRING);
-}
-static inline acpi_status pcie_osc_support_set(u32 flags)
-{
- return __pci_osc_support_set(flags, PCI_EXPRESS_ROOT_HID_STRING);
-}
static inline acpi_handle acpi_find_root_bridge_handle(struct pci_dev *pdev)
{
/* Find root host bridge */
@@ -76,8 +67,6 @@ typedef u32 acpi_status;
#endif
static inline acpi_status pci_osc_control_set(acpi_handle handle, u32 flags)
{return AE_ERROR;}
-static inline acpi_status pci_osc_support_set(u32 flags) {return AE_ERROR;}
-static inline acpi_status pcie_osc_support_set(u32 flags) {return AE_ERROR;}
static inline acpi_handle acpi_find_root_bridge_handle(struct pci_dev *pdev)
{ return NULL; }
#endif
^ permalink raw reply related [flat|nested] 9+ messages in thread