From d324331325b79a224234ed81883a0416d2f6a018 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Josef=20S=C3=B6ntgen?= <josef.soentgen@genode-labs.com>
Date: Tue, 3 May 2022 17:17:38 +0200
Subject: [PATCH] pc: centralize initcall header

Instead of each driver providing its own header file use a central
header as the initcall order header should cover _all_ provided
initcalls resulting from the used 'pc_linux' kernel config.

Note that the 'pc_linux' configuration was extended with the
'USB_USBNET' option because the module's initcall is needed for the
Genode C API for USB glue-code and the 'PACKET' option needed by
the wireless lan driver.

The lack of theses options was not noticed as each driver used its
own initcall header so far that stemmed from the initial porting
effort.

Issue #4500.
---
 repos/pc/lib/import/import-pc_lx_emul.mk      |   2 +
 .../framebuffer/intel/pc/lx_emul/pci_fixups.h |  18 --
 .../usb_host/pc/lx_emul/initcall_order.h      | 166 --------------
 .../pc => include}/lx_emul/initcall_order.h   |  14 +-
 .../pc => include}/lx_emul/pci_fixups.h       |   0
 .../pc/src/lib/wifi/lx_emul/initcall_order.h  | 208 ------------------
 repos/pc/src/lib/wifi/lx_emul/pci_fixups.h    |   5 -
 repos/pc/src/pc_linux/target.inc              |   4 +-
 8 files changed, 17 insertions(+), 400 deletions(-)
 delete mode 100644 repos/pc/src/drivers/framebuffer/intel/pc/lx_emul/pci_fixups.h
 delete mode 100644 repos/pc/src/drivers/usb_host/pc/lx_emul/initcall_order.h
 rename repos/pc/src/{drivers/framebuffer/intel/pc => include}/lx_emul/initcall_order.h (95%)
 rename repos/pc/src/{drivers/usb_host/pc => include}/lx_emul/pci_fixups.h (100%)
 delete mode 100644 repos/pc/src/lib/wifi/lx_emul/initcall_order.h
 delete mode 100644 repos/pc/src/lib/wifi/lx_emul/pci_fixups.h

diff --git a/repos/pc/lib/import/import-pc_lx_emul.mk b/repos/pc/lib/import/import-pc_lx_emul.mk
index 7e9a411ec4..bbc0ee67a5 100644
--- a/repos/pc/lib/import/import-pc_lx_emul.mk
+++ b/repos/pc/lib/import/import-pc_lx_emul.mk
@@ -9,6 +9,8 @@ LX_GEN_DIR := $(LIB_CACHE_DIR)/pc_linux_generated
 
 include $(call select_from_repositories,lib/import/import-lx_emul_common.inc)
 
+INC_DIR += $(REP_DIR)/src/include
+
 # Handle specific source requirements
 CC_OPT_drivers/usb/host/xhci-trace += -I$(LX_SRC_DIR)/drivers/usb/host
 
diff --git a/repos/pc/src/drivers/framebuffer/intel/pc/lx_emul/pci_fixups.h b/repos/pc/src/drivers/framebuffer/intel/pc/lx_emul/pci_fixups.h
deleted file mode 100644
index 22a98ff709..0000000000
--- a/repos/pc/src/drivers/framebuffer/intel/pc/lx_emul/pci_fixups.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * \brief  PCI fixups
- * \author Josef Soentgen
- * \date   2022-01-20
- */
-
-/*
- * Copyright (C) 2022 Genode Labs GmbH
- *
- * This file is distributed under the terms of the GNU General Public License
- * version 2.
- */
-
-#pragma once
-
-static const char * lx_emul_pci_final_fixups[] = {
-	"END_OF_PCI_FIXUPS"
-};
diff --git a/repos/pc/src/drivers/usb_host/pc/lx_emul/initcall_order.h b/repos/pc/src/drivers/usb_host/pc/lx_emul/initcall_order.h
deleted file mode 100644
index d62a44db38..0000000000
--- a/repos/pc/src/drivers/usb_host/pc/lx_emul/initcall_order.h
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- * \brief  Array defining order of Linux Kernel initcalls
- * \author Automatically generated file - do no edit
- * \date   2022-02-21
- */
-
-#pragma once
-
-static const char * lx_emul_initcall_order[] = {
-	"__initcall_init_hw_perf_eventsearly",
-	"__initcall_start",
-	"__initcall_init_real_modeearly",
-	"__initcall_validate_x2apicearly",
-	"__initcall_register_nmi_cpu_backtrace_handlerearly",
-	"__initcall_spawn_ksoftirqdearly",
-	"__initcall_static_call_initearly",
-	"__initcall_init_zero_pfnearly",
-	"__initcall_initialize_ptr_randomearly",
-	"__initcall_init_mmap_min_addr0",
-	"__initcall_pci_realloc_setup_params0",
-	"__initcall_reboot_init1",
-	"__initcall_wq_sysfs_init1",
-	"__initcall_ksysfs_init1",
-	"__initcall_rcu_set_runtime_mode1",
-	"__initcall_init_jiffies_clocksource1",
-	"__initcall_init_script_binfmt1",
-	"__initcall_init_elf_binfmt1",
-	"__initcall_prandom_init_early1",
-	"__initcall_irq_sysfs_init2",
-	"__initcall_bdi_class_init2",
-	"__initcall_mm_sysfs_init2",
-	"__initcall_init_per_zone_wmark_min2",
-	"__initcall_pcibus_class_init2",
-	"__initcall_pci_driver_init2",
-	"__initcall_tty_class_init2",
-	"__initcall_vtconsole_class_init2",
-	"__initcall_devlink_class_init2",
-	"__initcall_software_node_init2",
-	"__initcall_amd_postcore_init2",
-	"__initcall_bts_init3",
-	"__initcall_pt_init3",
-	"__initcall_boot_params_ksysfs_init3",
-	"__initcall_sbf_init3",
-	"__initcall_arch_kdebugfs_init3",
-	"__initcall_intel_pconfig_init3",
-	"__initcall_pci_arch_init3",
-	"__initcall_init_vdso4",
-	"__initcall_fixup_ht_bug4",
-	"__initcall_topology_init4",
-	"__initcall_uid_cache_init4",
-	"__initcall_param_sysfs_init4",
-	"__initcall_user_namespace_sysctl_init4",
-	"__initcall_oom_init4",
-	"__initcall_default_bdi_init4",
-	"__initcall_percpu_enable_async4",
-	"__initcall_init_user_reserve4",
-	"__initcall_init_admin_reserve4",
-	"__initcall_init_reserve_notifier4",
-	"__initcall_pci_slot_init4",
-	"__initcall_misc_init4",
-	"__initcall_usb_common_init4",
-	"__initcall_usb_init4",
-	"__initcall_serio_init4",
-	"__initcall_input_init4",
-	"__initcall_pci_subsys_init4",
-	"__initcall_nmi_warning_debugfs5",
-	"__initcall_hpet_late_init5",
-	"__initcall_init_amd_nbs5",
-	"__initcall_iomem_init_inode5",
-	"__initcall_clocksource_done_booting5",
-	"__initcall_init_pipe_fs5",
-	"__initcall_anon_inode_init5",
-	"__initcall_proc_cmdline_init5",
-	"__initcall_proc_consoles_init5",
-	"__initcall_proc_cpuinfo_init5",
-	"__initcall_proc_devices_init5",
-	"__initcall_proc_interrupts_init5",
-	"__initcall_proc_loadavg_init5",
-	"__initcall_proc_meminfo_init5",
-	"__initcall_proc_stat_init5",
-	"__initcall_proc_uptime_init5",
-	"__initcall_proc_version_init5",
-	"__initcall_proc_softirqs_init5",
-	"__initcall_proc_kmsg_init5",
-	"__initcall_proc_page_init5",
-	"__initcall_init_ramfs_fs5",
-	"__initcall_chr_dev_init5",
-	"__initcall_pcibios_assign_resources5",
-	"__initcall_pci_apply_final_quirks5s",
-	"__initcall_populate_rootfsrootfs",
-	"__initcall_pci_iommu_initrootfs",
-	"__initcall_rapl_pmu_init6",
-	"__initcall_amd_uncore_init6",
-	"__initcall_amd_ibs_init6",
-	"__initcall_msr_init6",
-	"__initcall_intel_uncore_init6",
-	"__initcall_cstate_pmu_init6",
-	"__initcall_register_kernel_offset_dumper6",
-	"__initcall_i8259A_init_ops6",
-	"__initcall_init_tsc_clocksource6",
-	"__initcall_add_rtc_cmos6",
-	"__initcall_umwait_init6",
-	"__initcall_ioapic_init_ops6",
-	"__initcall_sysfb_init6",
-	"__initcall_proc_execdomains_init6",
-	"__initcall_ioresources_init6",
-	"__initcall_timekeeping_init_ops6",
-	"__initcall_init_clocksource_sysfs6",
-	"__initcall_init_timer_list_procfs6",
-	"__initcall_alarmtimer_init6",
-	"__initcall_clockevents_init_sysfs6",
-	"__initcall_utsname_sysctl_init6",
-	"__initcall_perf_event_sysfs_init6",
-	"__initcall_kswapd_init6",
-	"__initcall_workingset_init6",
-	"__initcall_proc_vmalloc_init6",
-	"__initcall_fcntl_init6",
-	"__initcall_proc_filesystems_init6",
-	"__initcall_start_dirtytime_writeback6",
-	"__initcall_init_devpts_fs6",
-	"__initcall_pci_proc_init6",
-	"__initcall_gpio_clk_driver_init6",
-	"__initcall_plt_clk_driver_init6",
-	"__initcall_n_null_init6",
-	"__initcall_pty_init6",
-	"__initcall_serial8250_init6",
-	"__initcall_serial_pci_driver_init6",
-	"__initcall_exar_pci_driver_init6",
-	"__initcall_lpss8250_pci_driver_init6",
-	"__initcall_mid8250_pci_driver_init6",
-	"__initcall_topology_sysfs_init6",
-	"__initcall_cacheinfo_sysfs_init6",
-	"__initcall_ehci_hcd_init6",
-	"__initcall_ehci_pci_init6",
-	"__initcall_ohci_hcd_mod_init6",
-	"__initcall_ohci_pci_init6",
-	"__initcall_uhci_hcd_init6",
-	"__initcall_xhci_hcd_init6",
-	"__initcall_xhci_pci_init6",
-	"__initcall_i8042_init6",
-	"__initcall_serport_init6",
-	"__initcall_atkbd_init6",
-	"__initcall_psmouse_init6",
-	"__initcall_pmc_atom_init6",
-	"__initcall_usbnet_init6",
-	"__initcall_update_mp_table7",
-	"__initcall_lapic_insert_resource7",
-	"__initcall_print_ICs7",
-	"__initcall_create_tlb_single_page_flush_ceiling7",
-	"__initcall_init_oops_id7",
-	"__initcall_reboot_ksysfs_init7",
-	"__initcall_sched_clock_init_late7",
-	"__initcall_sched_init_debug7",
-	"__initcall_printk_late_init7",
-	"__initcall_check_early_ioremap_leak7",
-	"__initcall_prandom_init_late7",
-	"__initcall_pci_resource_alignment_sysfs_init7",
-	"__initcall_pci_sysfs_init7",
-	"__initcall_sync_state_resume_initcall7",
-	"__initcall_deferred_probe_initcall7",
-	"__initcall_clk_disable_unused7s",
-	"__initcall_con_initcon",
-	"__initcall_end",
-	"__initcall_univ8250_console_initcon",
-	"END_OF_INITCALL_ORDER_ARRAY_DUMMY_ENTRY"
-};
diff --git a/repos/pc/src/drivers/framebuffer/intel/pc/lx_emul/initcall_order.h b/repos/pc/src/include/lx_emul/initcall_order.h
similarity index 95%
rename from repos/pc/src/drivers/framebuffer/intel/pc/lx_emul/initcall_order.h
rename to repos/pc/src/include/lx_emul/initcall_order.h
index 1e8de4480e..fcb38449c2 100644
--- a/repos/pc/src/drivers/framebuffer/intel/pc/lx_emul/initcall_order.h
+++ b/repos/pc/src/include/lx_emul/initcall_order.h
@@ -1,7 +1,7 @@
 /*
  * \brief  Array defining order of Linux Kernel initcalls
  * \author Automatically generated file - do no edit
- * \date   2022-03-28
+ * \date   2022-05-03
  */
 
 #pragma once
@@ -91,6 +91,7 @@ static const char * lx_emul_initcall_order[] = {
 	"__initcall_pnp_init4",
 	"__initcall_misc_init4",
 	"__initcall_dma_buf_init4",
+	"__initcall_phy_init4",
 	"__initcall_usb_common_init4",
 	"__initcall_usb_init4",
 	"__initcall_serio_init4",
@@ -198,9 +199,19 @@ static const char * lx_emul_initcall_order[] = {
 	"__initcall_cacheinfo_sysfs_init6",
 	"__initcall_net_olddevs_init6",
 	"__initcall_blackhole_netdev_init6",
+	"__initcall_phy_module_init6",
+	"__initcall_fixed_mdio_bus_init6",
 	"__initcall_iwl_drv_init6",
 	"__initcall_iwl_init6",
 	"__initcall_iwl_mvm_init6",
+	"__initcall_asix_driver_init6",
+	"__initcall_ax88179_178a_driver_init6",
+	"__initcall_cdc_driver_init6",
+	"__initcall_net1080_driver_init6",
+	"__initcall_cdc_subset_driver_init6",
+	"__initcall_zaurus_driver_init6",
+	"__initcall_usbnet_init6",
+	"__initcall_cdc_ncm_driver_init6",
 	"__initcall_ehci_hcd_init6",
 	"__initcall_ehci_pci_init6",
 	"__initcall_ohci_hcd_mod_init6",
@@ -216,6 +227,7 @@ static const char * lx_emul_initcall_order[] = {
 	"__initcall_thermal_throttle_init_device6",
 	"__initcall_pmc_atom_init6",
 	"__initcall_sock_diag_init6",
+	"__initcall_packet_init6",
 	"__initcall_hpet_insert_resource7",
 	"__initcall_update_mp_table7",
 	"__initcall_lapic_insert_resource7",
diff --git a/repos/pc/src/drivers/usb_host/pc/lx_emul/pci_fixups.h b/repos/pc/src/include/lx_emul/pci_fixups.h
similarity index 100%
rename from repos/pc/src/drivers/usb_host/pc/lx_emul/pci_fixups.h
rename to repos/pc/src/include/lx_emul/pci_fixups.h
diff --git a/repos/pc/src/lib/wifi/lx_emul/initcall_order.h b/repos/pc/src/lib/wifi/lx_emul/initcall_order.h
deleted file mode 100644
index 3d2d9e5750..0000000000
--- a/repos/pc/src/lib/wifi/lx_emul/initcall_order.h
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
- * \brief  Array defining order of Linux Kernel initcalls
- * \author Automatically generated file - do no edit
- * \date   2022-02-28
- */
-
-#pragma once
-
-static const char * lx_emul_initcall_order[] = {
-	"__initcall_init_hw_perf_eventsearly",
-	"__initcall_start",
-	"__initcall_init_real_modeearly",
-	"__initcall_validate_x2apicearly",
-	"__initcall_register_nmi_cpu_backtrace_handlerearly",
-	"__initcall_spawn_ksoftirqdearly",
-	"__initcall_static_call_initearly",
-	"__initcall_init_zero_pfnearly",
-	"__initcall_initialize_ptr_randomearly",
-	"__initcall_init_mmap_min_addr0",
-	"__initcall_pci_realloc_setup_params0",
-	"__initcall_net_ns_init0",
-	"__initcall_reboot_init1",
-	"__initcall_wq_sysfs_init1",
-	"__initcall_ksysfs_init1",
-	"__initcall_rcu_set_runtime_mode1",
-	"__initcall_init_jiffies_clocksource1",
-	"__initcall_init_script_binfmt1",
-	"__initcall_init_elf_binfmt1",
-	"__initcall_prandom_init_early1",
-	"__initcall_sock_init1",
-	"__initcall_net_inuse_init1",
-	"__initcall_net_defaults_init1",
-	"__initcall_init_default_flow_dissectors1",
-	"__initcall_netlink_proto_init1",
-	"__initcall_genl_init1",
-	"__initcall_irq_sysfs_init2",
-	"__initcall_bdi_class_init2",
-	"__initcall_mm_sysfs_init2",
-	"__initcall_init_per_zone_wmark_min2",
-	"__initcall_mpi_init2",
-	"__initcall_pcibus_class_init2",
-	"__initcall_pci_driver_init2",
-	"__initcall_tty_class_init2",
-	"__initcall_vtconsole_class_init2",
-	"__initcall_devlink_class_init2",
-	"__initcall_software_node_init2",
-	"__initcall_amd_postcore_init2",
-	"__initcall_kobject_uevent_init2",
-	"__initcall_bts_init3",
-	"__initcall_pt_init3",
-	"__initcall_boot_params_ksysfs_init3",
-	"__initcall_sbf_init3",
-	"__initcall_arch_kdebugfs_init3",
-	"__initcall_intel_pconfig_init3",
-	"__initcall_cryptomgr_init3",
-	"__initcall_pci_arch_init3",
-	"__initcall_init_vdso4",
-	"__initcall_fixup_ht_bug4",
-	"__initcall_topology_init4",
-	"__initcall_uid_cache_init4",
-	"__initcall_param_sysfs_init4",
-	"__initcall_user_namespace_sysctl_init4",
-	"__initcall_oom_init4",
-	"__initcall_default_bdi_init4",
-	"__initcall_percpu_enable_async4",
-	"__initcall_init_user_reserve4",
-	"__initcall_init_admin_reserve4",
-	"__initcall_init_reserve_notifier4",
-	"__initcall_rsa_init4",
-	"__initcall_crypto_cmac_module_init4",
-	"__initcall_crypto_null_mod_init4",
-	"__initcall_sha256_generic_mod_init4",
-	"__initcall_crypto_ctr_module_init4",
-	"__initcall_crypto_gcm_module_init4",
-	"__initcall_crypto_ccm_module_init4",
-	"__initcall_aes_init4",
-	"__initcall_ghash_mod_init4",
-	"__initcall_pci_slot_init4",
-	"__initcall_misc_init4",
-	"__initcall_usb_common_init4",
-	"__initcall_usb_init4",
-	"__initcall_serio_init4",
-	"__initcall_input_init4",
-	"__initcall_proto_init4",
-	"__initcall_net_dev_init4",
-	"__initcall_neigh_init4",
-	"__initcall_fib_notifier_init4",
-	"__initcall_ethnl_init4",
-	"__initcall_ieee80211_init4",
-	"__initcall_pci_subsys_init4",
-	"__initcall_nmi_warning_debugfs5",
-	"__initcall_hpet_late_init5",
-	"__initcall_init_amd_nbs5",
-	"__initcall_iomem_init_inode5",
-	"__initcall_clocksource_done_booting5",
-	"__initcall_init_pipe_fs5",
-	"__initcall_anon_inode_init5",
-	"__initcall_proc_cmdline_init5",
-	"__initcall_proc_consoles_init5",
-	"__initcall_proc_cpuinfo_init5",
-	"__initcall_proc_devices_init5",
-	"__initcall_proc_interrupts_init5",
-	"__initcall_proc_loadavg_init5",
-	"__initcall_proc_meminfo_init5",
-	"__initcall_proc_stat_init5",
-	"__initcall_proc_uptime_init5",
-	"__initcall_proc_version_init5",
-	"__initcall_proc_softirqs_init5",
-	"__initcall_proc_kmsg_init5",
-	"__initcall_proc_page_init5",
-	"__initcall_init_ramfs_fs5",
-	"__initcall_chr_dev_init5",
-	"__initcall_firmware_class_init5",
-	"__initcall_sysctl_core_init5",
-	"__initcall_eth_offload_init5",
-	"__initcall_cfg80211_init5",
-	"__initcall_pcibios_assign_resources5",
-	"__initcall_pci_apply_final_quirks5s",
-	"__initcall_populate_rootfsrootfs",
-	"__initcall_pci_iommu_initrootfs",
-	"__initcall_rapl_pmu_init6",
-	"__initcall_packet_init6",
-	"__initcall_amd_uncore_init6",
-	"__initcall_amd_ibs_init6",
-	"__initcall_msr_init6",
-	"__initcall_intel_uncore_init6",
-	"__initcall_cstate_pmu_init6",
-	"__initcall_register_kernel_offset_dumper6",
-	"__initcall_i8259A_init_ops6",
-	"__initcall_init_tsc_clocksource6",
-	"__initcall_add_rtc_cmos6",
-	"__initcall_umwait_init6",
-	"__initcall_ioapic_init_ops6",
-	"__initcall_sysfb_init6",
-	"__initcall_proc_execdomains_init6",
-	"__initcall_ioresources_init6",
-	"__initcall_timekeeping_init_ops6",
-	"__initcall_init_clocksource_sysfs6",
-	"__initcall_init_timer_list_procfs6",
-	"__initcall_alarmtimer_init6",
-	"__initcall_clockevents_init_sysfs6",
-	"__initcall_utsname_sysctl_init6",
-	"__initcall_perf_event_sysfs_init6",
-	"__initcall_system_trusted_keyring_init6",
-	"__initcall_kswapd_init6",
-	"__initcall_workingset_init6",
-	"__initcall_proc_vmalloc_init6",
-	"__initcall_fcntl_init6",
-	"__initcall_proc_filesystems_init6",
-	"__initcall_start_dirtytime_writeback6",
-	"__initcall_init_devpts_fs6",
-	"__initcall_key_proc_init6",
-	"__initcall_crypto_algapi_init6",
-	"__initcall_asymmetric_key_init6",
-	"__initcall_x509_key_init6",
-	"__initcall_pci_proc_init6",
-	"__initcall_gpio_clk_driver_init6",
-	"__initcall_plt_clk_driver_init6",
-	"__initcall_n_null_init6",
-	"__initcall_pty_init6",
-	"__initcall_serial8250_init6",
-	"__initcall_serial_pci_driver_init6",
-	"__initcall_exar_pci_driver_init6",
-	"__initcall_lpss8250_pci_driver_init6",
-	"__initcall_mid8250_pci_driver_init6",
-	"__initcall_topology_sysfs_init6",
-	"__initcall_cacheinfo_sysfs_init6",
-	"__initcall_net_olddevs_init6",
-	"__initcall_blackhole_netdev_init6",
-	"__initcall_iwl_drv_init6",
-	"__initcall_iwl_init6",
-	"__initcall_iwl_mvm_init6",
-	"__initcall_ehci_hcd_init6",
-	"__initcall_ehci_pci_init6",
-	"__initcall_ohci_hcd_mod_init6",
-	"__initcall_ohci_pci_init6",
-	"__initcall_xhci_hcd_init6",
-	"__initcall_xhci_pci_init6",
-	"__initcall_i8042_init6",
-	"__initcall_serport_init6",
-	"__initcall_atkbd_init6",
-	"__initcall_psmouse_init6",
-	"__initcall_pmc_atom_init6",
-	"__initcall_sock_diag_init6",
-	"__initcall_update_mp_table7",
-	"__initcall_lapic_insert_resource7",
-	"__initcall_print_ICs7",
-	"__initcall_create_tlb_single_page_flush_ceiling7",
-	"__initcall_init_oops_id7",
-	"__initcall_reboot_ksysfs_init7",
-	"__initcall_sched_clock_init_late7",
-	"__initcall_sched_init_debug7",
-	"__initcall_printk_late_init7",
-	"__initcall_load_system_certificate_list7",
-	"__initcall_check_early_ioremap_leak7",
-	"__initcall_init_root_keyring7",
-	"__initcall_prandom_init_late7",
-	"__initcall_pci_resource_alignment_sysfs_init7",
-	"__initcall_pci_sysfs_init7",
-	"__initcall_sync_state_resume_initcall7",
-	"__initcall_deferred_probe_initcall7",
-	"__initcall_regulatory_init_db7",
-	"__initcall_clk_disable_unused7s",
-	"__initcall_con_initcon",
-	"__initcall_end",
-	"__initcall_univ8250_console_initcon",
-	"END_OF_INITCALL_ORDER_ARRAY_DUMMY_ENTRY"
-};
diff --git a/repos/pc/src/lib/wifi/lx_emul/pci_fixups.h b/repos/pc/src/lib/wifi/lx_emul/pci_fixups.h
deleted file mode 100644
index 866a2be59f..0000000000
--- a/repos/pc/src/lib/wifi/lx_emul/pci_fixups.h
+++ /dev/null
@@ -1,5 +0,0 @@
-#pragma once
-
-static const char * lx_emul_pci_final_fixups[] = {
-	"END_OF_PCI_FIXUPS"
-};
diff --git a/repos/pc/src/pc_linux/target.inc b/repos/pc/src/pc_linux/target.inc
index c5e4b86b0e..12f84eb54d 100644
--- a/repos/pc/src/pc_linux/target.inc
+++ b/repos/pc/src/pc_linux/target.inc
@@ -18,7 +18,7 @@ LX_ENABLE += PCI
 LX_ENABLE += ACPI
 
 # general network and WLAN support
-LX_ENABLE += NET NETDEVICES
+LX_ENABLE += NET NETDEVICES PACKET
 LX_ENABLE += WLAN CFG80211 MAC80211
 
 # iwlwifi
@@ -26,7 +26,7 @@ LX_ENABLE += WLAN_VENDOR_INTEL IWLWIFI IWLDVM IWLMVM
 
 # 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
+LX_ENABLE += USB_PCI USB_UHCI_HCD USB_USBNET
 
 # Intel framebuffer
 LX_ENABLE += DRM DRM_I915