From 25488301408db15ae145a38614bff740dc3f3dfb Mon Sep 17 00:00:00 2001 From: Alexander Boettcher Date: Tue, 15 Mar 2022 13:57:30 +0100 Subject: [PATCH] pc_linux: add ACPI config required by the upcoming update of the intel display driver. Make this addition explicit, because it triggers adjustment also on the new pc_usb_host_drv. Issue #4450 --- repos/pc/src/drivers/usb_host/pc/dep.list | 10 ++ repos/pc/src/drivers/usb_host/pc/dummies.c | 103 +++++++++++++++++++++ repos/pc/src/pc_linux/target.inc | 3 + 3 files changed, 116 insertions(+) diff --git a/repos/pc/src/drivers/usb_host/pc/dep.list b/repos/pc/src/drivers/usb_host/pc/dep.list index 59ace380e5..0af132a6bf 100644 --- a/repos/pc/src/drivers/usb_host/pc/dep.list +++ b/repos/pc/src/drivers/usb_host/pc/dep.list @@ -1,3 +1,5 @@ +arch/x86/include/asm/acenv.h +arch/x86/include/asm/acpi.h arch/x86/include/asm/alternative.h arch/x86/include/asm/apicdef.h arch/x86/include/asm/arch_hweight.h @@ -36,6 +38,7 @@ arch/x86/include/asm/hw_irq.h arch/x86/include/asm/intel_ds.h arch/x86/include/asm/invpcid.h arch/x86/include/asm/io.h +arch/x86/include/asm/iosf_mbi.h arch/x86/include/asm/irq.h arch/x86/include/asm/irq_vectors.h arch/x86/include/asm/irq_work.h @@ -54,10 +57,15 @@ arch/x86/include/asm/memtype.h arch/x86/include/asm/mmu.h arch/x86/include/asm/mmu_context.h arch/x86/include/asm/module.h +arch/x86/include/asm/mpspec.h +arch/x86/include/asm/mpspec_def.h arch/x86/include/asm/msi.h arch/x86/include/asm/msr-index.h arch/x86/include/asm/msr.h +arch/x86/include/asm/nmi.h arch/x86/include/asm/nops.h +arch/x86/include/asm/numa.h +arch/x86/include/asm/numa_32.h arch/x86/include/asm/orc_types.h arch/x86/include/asm/page_types.h arch/x86/include/asm/paravirt.h @@ -206,6 +214,7 @@ include/asm-generic/compat.h include/asm-generic/delay.h include/asm-generic/early_ioremap.h include/asm-generic/error-injection.h +include/asm-generic/export.h include/asm-generic/fixmap.h include/asm-generic/getorder.h include/asm-generic/int-ll64.h @@ -330,6 +339,7 @@ include/linux/dmi.h include/linux/dqblk_qtree.h include/linux/dqblk_v1.h include/linux/dqblk_v2.h +include/linux/dynamic_debug.h include/linux/dynamic_queue_limits.h include/linux/edd.h include/linux/elevator.h diff --git a/repos/pc/src/drivers/usb_host/pc/dummies.c b/repos/pc/src/drivers/usb_host/pc/dummies.c index cd7174c5d6..a9a6e04863 100644 --- a/repos/pc/src/drivers/usb_host/pc/dummies.c +++ b/repos/pc/src/drivers/usb_host/pc/dummies.c @@ -13,6 +13,8 @@ #include +const struct attribute_group pci_dev_acpi_attr_group; + #include int __cpuhp_setup_state(enum cpuhp_state state,const char * name,bool invoke,int (* startup)(unsigned int cpu),int (* teardown)(unsigned int cpu),bool multi_instance) @@ -461,3 +463,104 @@ void pci_fixup_device(enum pci_fixup_pass pass,struct pci_dev * dev) } +int acpi_platform_notify(struct device *dev, enum kobject_action action) +{ + lx_emul_trace(__func__); + return 0; +} + + +int pci_acpi_program_hp_params(struct pci_dev *dev) +{ + lx_emul_trace(__func__); + return 0; +} + + +bool acpi_driver_match_device(struct device *dev, const struct device_driver *drv) +{ + lx_emul_trace(__func__); + return false; +} + + +bool is_acpi_device_node(const struct fwnode_handle *fwnode) +{ + lx_emul_trace(__func__); + return false; +} + + +enum dev_dma_attr acpi_get_dma_attr(struct acpi_device *adev) +{ + lx_emul_trace_and_stop(__func__); +} + + +int acpi_device_uevent_modalias(struct device *dev, struct kobj_uevent_env *event) +{ + lx_emul_trace_and_stop(__func__); +} + + +int acpi_dma_configure_id(struct device *dev, enum dev_dma_attr attr, const u32 *input_id) +{ + lx_emul_trace_and_stop(__func__); +} + + +int acpi_device_modalias(struct device *device, char * x, int y) +{ + lx_emul_trace_and_stop(__func__); +} + + +bool pciehp_is_native(struct pci_dev *bridge) +{ + lx_emul_trace_and_stop(__func__); +} + + +struct irq_domain *pci_host_bridge_acpi_msi_domain(struct pci_bus *bus) +{ + lx_emul_trace(__func__); + return NULL; +} + + +typedef void * acpi_handle; + +union acpi_object *acpi_evaluate_dsm(acpi_handle handle, const guid_t *guid, + u64 rev, u64 func, union acpi_object *argv4) +{ + lx_emul_trace(__func__); + return NULL; +} + + +int usb_acpi_register(void) +{ + lx_emul_trace(__func__); + return 0; +}; + + +void usb_acpi_unregister(void) +{ + lx_emul_trace(__func__); +}; + + +struct usb_device; +bool usb_acpi_power_manageable(struct usb_device *hdev, int index) +{ + lx_emul_trace(__func__); + return false; +} + + +int usb_acpi_set_power_state(struct usb_device *hdev, int index, bool enable) +{ + lx_emul_trace(__func__); + return 0; +} diff --git a/repos/pc/src/pc_linux/target.inc b/repos/pc/src/pc_linux/target.inc index 3a3fa31e66..b8b8de3824 100644 --- a/repos/pc/src/pc_linux/target.inc +++ b/repos/pc/src/pc_linux/target.inc @@ -14,6 +14,9 @@ LX_ENABLE += SERIAL_8250 SERIAL_8250_CONSOLE # PCI support LX_ENABLE += PCI +# ACPI support +LX_ENABLE += ACPI + # USB host-controller support LX_ENABLE += USB_SUPPORT USB USB_ARCH_HAS_HCD USB_XHCI_HCD USB_EHCI_HCD USB_OHCI_HCD LX_ENABLE += USB_PCI USB_UHCI_HCD