X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/m1-debian/blobdiff_plain/81286cfea6ad068bbab60beb7711664b439eea28..edb13c7c0eb6139e80a9746235cab31d3b59085d:/patch_kernel_config.pl diff --git a/patch_kernel_config.pl b/patch_kernel_config.pl index 6019b33..c8fd1af 100644 --- a/patch_kernel_config.pl +++ b/patch_kernel_config.pl @@ -3,16 +3,19 @@ use strict; use warnings FATAL => 'all'; -# This was taken from the linux-image-5.16.0-3-arm64-unsigned -# Than it was copied as .config in the asahi tree -# Than make olddefconfig was executed twice -my @lines = `cat config`; +my $inputfile = $ARGV[0]; +my $outputfile = $ARGV[1]; + +my @lines = `cat $inputfile`; chomp @lines; my %asahi_options = ( + 'CONFIG_ANDROID_BINDER_IPC' => 'y', 'CONFIG_APPLE_ADMAC' => 'y', 'CONFIG_APPLE_AIC' => 'y', 'CONFIG_APPLE_DART' => 'y', + 'CONFIG_APPLE_DOCKCHANNEL' => 'm', + 'CONFIG_APPLE_M1_CPU_PMU' => 'y', 'CONFIG_APPLE_MAILBOX' => 'y', 'CONFIG_APPLE_PLATFORMS' => 'y', 'CONFIG_APPLE_PMGR_PWRSTATE' => 'y', @@ -22,52 +25,64 @@ my %asahi_options = ( 'CONFIG_APPLE_SMC_RTKIT' => 'y', 'CONFIG_APPLE_WATCHDOG' => 'y', 'CONFIG_ARCH_APPLE' => 'y', + 'CONFIG_ARM64_16K_PAGES' => 'y', + 'CONFIG_ARM64_4K_PAGES' => 'n', 'CONFIG_ARM_APPLE_SOC_CPUFREQ' => 'y', + 'CONFIG_BACKLIGHT_CLASS_DEVICE' => 'y', + 'CONFIG_BACKLIGHT_GPIO' => 'm', 'CONFIG_BRCMFMAC' => 'm', 'CONFIG_BRCMFMAC_PCIE' => 'y', + 'CONFIG_BT_HCIBCM4377' => 'm', 'CONFIG_CFG80211_WEXT' => 'y', 'CONFIG_CHARGER_MACSMC' => 'y', 'CONFIG_COMMON_CLK_APPLE_NCO' => 'y', + 'CONFIG_CONSTRUCTORS' => 'y', + 'CONFIG_DEBUG_INFO' => 'n', + 'CONFIG_DEBUG_INFO_BTF' => 'n', 'CONFIG_DRM' => 'y', + 'CONFIG_DRM_APPLE' => 'y', + 'CONFIG_DRM_ASAHI' => 'y', 'CONFIG_DRM_SIMPLEDRM' => 'y', + 'CONFIG_DRM_SIMPLEDRM_BACKLIGHT' => 'n', + 'CONFIG_FB_EFI' => 'y', 'CONFIG_FW_LOADER_USER_HELPER' => 'n', 'CONFIG_FW_LOADER_USER_HELPER_FALLBACK' => 'n', + 'CONFIG_GENERIC_PHY' => 'y', 'CONFIG_GPIO_MACSMC' => 'y', 'CONFIG_HID_APPLE' => 'y', + 'CONFIG_HID_DOCKCHANNEL' => 'm', 'CONFIG_HID_MAGICMOUSE' => 'y', 'CONFIG_I2C_APPLE' => 'y', 'CONFIG_MFD_APPLE_SPMI_PMU' => 'y', - 'CONFIG_MMC_SDHCI_PCI' => 'y', + 'CONFIG_MMC_SDHCI_PCI' => 'm', + 'CONFIG_MODVERSIONS' => 'n', 'CONFIG_NLMON' => 'm', 'CONFIG_NVMEM_SPMI_MFD' => 'y', 'CONFIG_NVME_APPLE' => 'y', + 'CONFIG_OF_DYNAMIC' => 'y', + 'CONFIG_OF_OVERLAY' => 'y', 'CONFIG_PCIE_APPLE' => 'y', + 'CONFIG_PHY_APPLE_ATC' => 'm', 'CONFIG_PINCTRL_APPLE_GPIO' => 'y', 'CONFIG_POWER_RESET_MACSMC' => 'y', + 'CONFIG_PWM_APPLE' => 'm', 'CONFIG_RTC_DRV_MACSMC' => 'y', - 'CONFIG_SND_SIMPLE_CARD' => 'y', - 'CONFIG_SND_SOC_APPLE_MCA' => 'y', - 'CONFIG_SND_SOC_APPLE_SILICON' => 'y', - 'CONFIG_SND_SOC_CS42L42' => 'y', + 'CONFIG_RUST' => 'y', + 'CONFIG_SND_SIMPLE_CARD' => 'm', + 'CONFIG_SND_SOC_APPLE_MCA' => 'm', + 'CONFIG_SND_SOC_CS42L42' => 'm', + 'CONFIG_SND_SOC_CS42L83' => 'm', + 'CONFIG_SND_SOC_CS42L84' => 'm', 'CONFIG_SND_SOC_TAS2770' => 'm', + 'CONFIG_SND_SOC_TAS2780' => 'm', 'CONFIG_SPI_APPLE' => 'y', 'CONFIG_SPI_HID_APPLE_CORE' => 'y', 'CONFIG_SPI_HID_APPLE_OF' => 'y', 'CONFIG_SPMI_APPLE' => 'y', - 'CONFIG_USB_DWC3' => 'y', - 'CONFIG_USB_DWC3_PCI' => 'y', - 'CONFIG_FB_EFI' => 'y', - 'CONFIG_BACKLIGHT_CLASS_DEVICE' => 'y', - 'CONFIG_BACKLIGHT_GPIO' => 'm', - 'CONFIG_TYPEC_TPS6598X' => 'y', - 'CONFIG_BT_HCIBCM4377' => 'm', - 'CONFIG_HID_DOCKCHANNEL' => 'm', - 'CONFIG_APPLE_DOCKCHANNEL' => 'm', - 'CONFIG_SND_SOC_CS42L84' => 'm', - 'CONFIG_SND_SOC_TAS2780' => 'm', + 'CONFIG_TYPEC_TPS6598X' => 'm', + 'CONFIG_USB_DWC3' => 'm', + 'CONFIG_USB_DWC3_PCI' => 'm', 'CONFIG_USB_XHCI_PCI_ASMEDIA' => 'y', - 'CONFIG_APPLE_M1_CPU_PMU' => 'y', - ); my %debian_options; @@ -86,12 +101,13 @@ for my $o (keys %asahi_options) { print "$o present, removing\n"; delete $debian_options{$o}; } elsif ((exists $asahi_options{$o} && exists $debian_options{$o}) && ($debian_options{$o} ne $asahi_options{$o})) { - print "$o different\n"; + print "$o different, changing\n"; + $debian_options{$o} = $asahi_options{$o}; } } -open(CONFIG, '>', 'config.new') || die; -for (keys %debian_options) { +open(CONFIG, '>', $outputfile) || die; +for (sort keys %debian_options) { print CONFIG $_ . '=' . $debian_options{$_} . "\n"; } close CONFIG;