]>
Commit | Line | Data |
---|---|---|
628b5aed TG |
1 | #!/usr/bin/perl |
2 | ||
3 | use strict; | |
4 | use warnings FATAL => 'all'; | |
5 | ||
a4466ace TG |
6 | my $inputfile = $ARGV[0]; |
7 | my $outputfile = $ARGV[1]; | |
8 | ||
9 | my @lines = `cat $inputfile`; | |
628b5aed TG |
10 | chomp @lines; |
11 | ||
12 | my %asahi_options = ( | |
6f3d83e0 | 13 | 'CONFIG_ANDROID_BINDER_IPC' => 'y', |
17c0aef4 | 14 | 'CONFIG_APPLE_ADMAC' => 'y', |
628b5aed | 15 | 'CONFIG_APPLE_AIC' => 'y', |
17c0aef4 | 16 | 'CONFIG_APPLE_DART' => 'y', |
6f3d83e0 TG |
17 | 'CONFIG_APPLE_DOCKCHANNEL' => 'm', |
18 | 'CONFIG_APPLE_M1_CPU_PMU' => 'y', | |
628b5aed TG |
19 | 'CONFIG_APPLE_MAILBOX' => 'y', |
20 | 'CONFIG_APPLE_PLATFORMS' => 'y', | |
21 | 'CONFIG_APPLE_PMGR_PWRSTATE' => 'y', | |
22 | 'CONFIG_APPLE_RTKIT' => 'y', | |
17c0aef4 | 23 | 'CONFIG_APPLE_SART' => 'y', |
628b5aed TG |
24 | 'CONFIG_APPLE_SMC' => 'y', |
25 | 'CONFIG_APPLE_SMC_RTKIT' => 'y', | |
26 | 'CONFIG_APPLE_WATCHDOG' => 'y', | |
27 | 'CONFIG_ARCH_APPLE' => 'y', | |
6f3d83e0 TG |
28 | 'CONFIG_ARM64_16K_PAGES' => 'y', |
29 | 'CONFIG_ARM64_4K_PAGES' => 'n', | |
17c0aef4 | 30 | 'CONFIG_ARM_APPLE_SOC_CPUFREQ' => 'y', |
6f3d83e0 TG |
31 | 'CONFIG_BACKLIGHT_CLASS_DEVICE' => 'y', |
32 | 'CONFIG_BACKLIGHT_GPIO' => 'm', | |
628b5aed TG |
33 | 'CONFIG_BRCMFMAC' => 'm', |
34 | 'CONFIG_BRCMFMAC_PCIE' => 'y', | |
6f3d83e0 | 35 | 'CONFIG_BT_HCIBCM4377' => 'm', |
628b5aed | 36 | 'CONFIG_CFG80211_WEXT' => 'y', |
17c0aef4 TG |
37 | 'CONFIG_CHARGER_MACSMC' => 'y', |
38 | 'CONFIG_COMMON_CLK_APPLE_NCO' => 'y', | |
6f3d83e0 | 39 | 'CONFIG_CONSTRUCTORS' => 'y', |
edb13c7c | 40 | 'CONFIG_DEBUG_INFO' => 'n', |
6f3d83e0 | 41 | 'CONFIG_DEBUG_INFO_BTF' => 'n', |
e7515ac0 | 42 | 'CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT' => 'n', |
628b5aed | 43 | 'CONFIG_DRM' => 'y', |
6f3d83e0 TG |
44 | 'CONFIG_DRM_APPLE' => 'y', |
45 | 'CONFIG_DRM_ASAHI' => 'y', | |
4abf6f9d | 46 | 'CONFIG_DRM_SIMPLEDRM' => 'y', |
6f3d83e0 TG |
47 | 'CONFIG_DRM_SIMPLEDRM_BACKLIGHT' => 'n', |
48 | 'CONFIG_FB_EFI' => 'y', | |
628b5aed TG |
49 | 'CONFIG_FW_LOADER_USER_HELPER' => 'n', |
50 | 'CONFIG_FW_LOADER_USER_HELPER_FALLBACK' => 'n', | |
6f3d83e0 | 51 | 'CONFIG_GENERIC_PHY' => 'y', |
628b5aed | 52 | 'CONFIG_GPIO_MACSMC' => 'y', |
17c0aef4 | 53 | 'CONFIG_HID_APPLE' => 'y', |
6f3d83e0 | 54 | 'CONFIG_HID_DOCKCHANNEL' => 'm', |
17c0aef4 TG |
55 | 'CONFIG_HID_MAGICMOUSE' => 'y', |
56 | 'CONFIG_I2C_APPLE' => 'y', | |
57 | 'CONFIG_MFD_APPLE_SPMI_PMU' => 'y', | |
a4466ace | 58 | 'CONFIG_MMC_SDHCI_PCI' => 'm', |
6f3d83e0 | 59 | 'CONFIG_MODVERSIONS' => 'n', |
628b5aed | 60 | 'CONFIG_NLMON' => 'm', |
17c0aef4 TG |
61 | 'CONFIG_NVMEM_SPMI_MFD' => 'y', |
62 | 'CONFIG_NVME_APPLE' => 'y', | |
6f3d83e0 TG |
63 | 'CONFIG_OF_DYNAMIC' => 'y', |
64 | 'CONFIG_OF_OVERLAY' => 'y', | |
17c0aef4 | 65 | 'CONFIG_PCIE_APPLE' => 'y', |
6f3d83e0 | 66 | 'CONFIG_PHY_APPLE_ATC' => 'm', |
17c0aef4 TG |
67 | 'CONFIG_PINCTRL_APPLE_GPIO' => 'y', |
68 | 'CONFIG_POWER_RESET_MACSMC' => 'y', | |
6f3d83e0 | 69 | 'CONFIG_PWM_APPLE' => 'm', |
17c0aef4 | 70 | 'CONFIG_RTC_DRV_MACSMC' => 'y', |
6f3d83e0 | 71 | 'CONFIG_RUST' => 'y', |
a4466ace TG |
72 | 'CONFIG_SND_SIMPLE_CARD' => 'm', |
73 | 'CONFIG_SND_SOC_APPLE_MCA' => 'm', | |
74 | 'CONFIG_SND_SOC_CS42L42' => 'm', | |
6f3d83e0 TG |
75 | 'CONFIG_SND_SOC_CS42L83' => 'm', |
76 | 'CONFIG_SND_SOC_CS42L84' => 'm', | |
628b5aed | 77 | 'CONFIG_SND_SOC_TAS2770' => 'm', |
6f3d83e0 | 78 | 'CONFIG_SND_SOC_TAS2780' => 'm', |
17c0aef4 TG |
79 | 'CONFIG_SPI_APPLE' => 'y', |
80 | 'CONFIG_SPI_HID_APPLE_CORE' => 'y', | |
81 | 'CONFIG_SPI_HID_APPLE_OF' => 'y', | |
82 | 'CONFIG_SPMI_APPLE' => 'y', | |
6f3d83e0 | 83 | 'CONFIG_TYPEC_TPS6598X' => 'm', |
a4466ace TG |
84 | 'CONFIG_USB_DWC3' => 'm', |
85 | 'CONFIG_USB_DWC3_PCI' => 'm', | |
97b242e0 | 86 | 'CONFIG_USB_XHCI_PCI_ASMEDIA' => 'y', |
fcba8791 | 87 | 'CONFIG_VIDEO_APPLE_ISP' => 'm', |
9703bbcf | 88 | 'CONFIG_REGULATOR_FIXED_VOLTAGE' => 'y', |
628b5aed TG |
89 | ); |
90 | ||
91 | my %debian_options; | |
92 | ||
93 | for (@lines) { | |
94 | if (/(^CONFIG_[^=]+)=(.*)/) { | |
95 | $debian_options{$1} = $2; | |
96 | } | |
97 | } | |
98 | ||
99 | for my $o (keys %asahi_options) { | |
03e35824 | 100 | if ((not exists $debian_options{$o}) && $asahi_options{$o} ne 'n') { |
628b5aed TG |
101 | print "$o missing, adding\n"; |
102 | $debian_options{$o} = $asahi_options{$o}; | |
03e35824 TG |
103 | } elsif ((exists $debian_options{$o}) && ($asahi_options{$o} eq 'n')) { |
104 | print "$o present, removing\n"; | |
105 | delete $debian_options{$o}; | |
106 | } elsif ((exists $asahi_options{$o} && exists $debian_options{$o}) && ($debian_options{$o} ne $asahi_options{$o})) { | |
a4466ace TG |
107 | print "$o different, changing\n"; |
108 | $debian_options{$o} = $asahi_options{$o}; | |
628b5aed TG |
109 | } |
110 | } | |
111 | ||
a4466ace | 112 | open(CONFIG, '>', $outputfile) || die; |
6f3d83e0 | 113 | for (sort keys %debian_options) { |
628b5aed TG |
114 | print CONFIG $_ . '=' . $debian_options{$_} . "\n"; |
115 | } | |
116 | close CONFIG; |