aboutsummaryrefslogtreecommitdiff
path: root/nixos/modules/kernel-patches.nix
blob: d8588e960c0a1bb15b7b7b4ac3682ac736e9b15e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
{ config, lib, pkgs, ... }:

with lib;

{
  config = {
    # Kernel patches from Turris OS
    boot.kernelPatches = [{
      name = "net-dsa-mv88e6xxx-disable-ATU-violation";
      patch = ./kernel-patches/0001-net-dsa-mv88e6xxx-disable-ATU-violation.patch;
    }{
      name = "dt-bindings-Add-slot-power-limit-milliwatt-PCIe-port";
      patch = ./kernel-patches/0002-dt-bindings-Add-slot-power-limit-milliwatt-PCIe-port.patch;
    }{
      name = "PCI-pci-bridge-emul-Set-position-of-PCI-capabilities";
      patch = ./kernel-patches/0003-PCI-pci-bridge-emul-Set-position-of-PCI-capabilities.patch;
    }{
      name = "PCI-mvebu-Use-devm_request_irq-for-registering-inter";
      patch = ./kernel-patches/0004-PCI-mvebu-Use-devm_request_irq-for-registering-inter.patch;
    }{
      name = "PCI-mvebu-Dispose-INTx-irqs-prior-to-removing-INTx-d";
      patch = ./kernel-patches/0005-PCI-mvebu-Dispose-INTx-irqs-prior-to-removing-INTx-d.patch;
    }{
      name = "PCI-Assign-PCI-domain-by-ida_alloc";
      patch = ./kernel-patches/0006-PCI-Assign-PCI-domain-by-ida_alloc.patch;
    }{
      name = "PCI-mvebu-Fix-endianity-when-accessing-pci-emul-brid";
      patch = ./kernel-patches/0007-PCI-mvebu-Fix-endianity-when-accessing-pci-emul-brid.patch;
    }{
      name = "ARM-dts-armada-38x-Fix-assigned-addresses-for-every-";
      patch = ./kernel-patches/0008-ARM-dts-armada-38x-Fix-assigned-addresses-for-every-.patch;
    }{
      name = "dt-bindings-PCI-mvebu-Update-information-about-error";
      patch = ./kernel-patches/0009-dt-bindings-PCI-mvebu-Update-information-about-error.patch;
    }{
      name = "PCI-mvebu-Implement-support-for-interrupts-on-emulat";
      patch = ./kernel-patches/0010-PCI-mvebu-Implement-support-for-interrupts-on-emulat.patch;
    }{
      name = "ARM-dts-armada-38x.dtsi-Add-node-for-MPIC-SoC-Error-";
      patch = ./kernel-patches/0011-ARM-dts-armada-38x.dtsi-Add-node-for-MPIC-SoC-Error-.patch;
    }{
      name = "PCI-pciehp-Enable-DLLSC-interrupt-only-if-supported";
      patch = ./kernel-patches/0012-PCI-pciehp-Enable-DLLSC-interrupt-only-if-supported.patch;
    }{
      name = "PCI-pciehp-Enable-Command-Completed-Interrupt-only-i";
      patch = ./kernel-patches/0013-PCI-pciehp-Enable-Command-Completed-Interrupt-only-i.patch;
    }{
      name = "PCI-mvebu-Add-support-for-PCI_EXP_SLTSTA_DLLSC-via-h";
      patch = ./kernel-patches/0014-PCI-mvebu-Add-support-for-PCI_EXP_SLTSTA_DLLSC-via-h.patch;
    }{
      name = "PCI-mvebu-use-BIT-and-GENMASK-macros-instead-of-hard";
      patch = ./kernel-patches/0015-PCI-mvebu-use-BIT-and-GENMASK-macros-instead-of-hard.patch;
    }{
      name = "PCI-mvebu-For-consistency-add-_OFF-suffix-to-all-reg";
      patch = ./kernel-patches/0016-PCI-mvebu-For-consistency-add-_OFF-suffix-to-all-reg.patch;
    }{
      name = "PCI-aardvark-Add-support-for-PCI-Bridge-Subsystem-Ve";
      patch = ./kernel-patches/0017-PCI-aardvark-Add-support-for-PCI-Bridge-Subsystem-Ve.patch;
    }{
      name = "PCI-aardvark-Dispose-INTx-irqs-prior-to-removing-INT";
      patch = ./kernel-patches/0018-PCI-aardvark-Dispose-INTx-irqs-prior-to-removing-INT.patch;
    }{
      name = "PCI-aardvark-Add-support-for-AER-registers-on-emulat";
      patch = ./kernel-patches/0019-PCI-aardvark-Add-support-for-AER-registers-on-emulat.patch;
    }{
      name = "PCI-aardvark-Dispose-bridge-irq-prior-to-removing-br";
      patch = ./kernel-patches/0020-PCI-aardvark-Dispose-bridge-irq-prior-to-removing-br.patch;
    }{
      name = "PCI-aardvark-Add-support-for-DLLSC-and-hotplug-inter";
      patch = ./kernel-patches/0021-PCI-aardvark-Add-support-for-DLLSC-and-hotplug-inter.patch;
    }{
      name = "PCI-aardvark-Send-Set_Slot_Power_Limit-message";
      patch = ./kernel-patches/0022-PCI-aardvark-Send-Set_Slot_Power_Limit-message.patch;
    }{
      name = "PCI-aardvark-Add-clock-support";
      patch = ./kernel-patches/0023-PCI-aardvark-Add-clock-support.patch;
    }{
      name = "PCI-aardvark-Add-suspend-to-RAM-support";
      patch = ./kernel-patches/0024-PCI-aardvark-Add-suspend-to-RAM-support.patch;
    }{
      name = "PCI-aardvark-Replace-custom-PCIE_CORE_ERR_CAPCTL_-ma";
      patch = ./kernel-patches/0025-PCI-aardvark-Replace-custom-PCIE_CORE_ERR_CAPCTL_-ma.patch;
    }{
      name = "PCI-aardvark-Don-t-write-read-only-bits-explicitly-i";
      patch = ./kernel-patches/0026-PCI-aardvark-Don-t-write-read-only-bits-explicitly-i.patch;
    }{
      name = "compiler.h-only-include-asm-rwonce.h-for-kernel-code";
      patch = ./kernel-patches/0027-compiler.h-only-include-asm-rwonce.h-for-kernel-code.patch;
    }{
      name = "swab-use-stddefs.h-instead-of-compiler.h";
      patch = ./kernel-patches/0028-swab-use-stddefs.h-instead-of-compiler.h.patch;
    }{
      name = "net-sfp-move-quirk-handling-into-sfp.c";
      patch = ./kernel-patches/0029-net-sfp-move-quirk-handling-into-sfp.c.patch;
    }{
      name = "net-sfp-move-Alcatel-Lucent-3FE46541AA-fixup";
      patch = ./kernel-patches/0030-net-sfp-move-Alcatel-Lucent-3FE46541AA-fixup.patch;
    }{
      name = "net-sfp-move-Huawei-MA5671A-fixup";
      patch = ./kernel-patches/0031-net-sfp-move-Huawei-MA5671A-fixup.patch;
    }{
      name = "net-sfp-redo-soft-state-polling";
      patch = ./kernel-patches/0032-net-sfp-redo-soft-state-polling.patch;
    }{
      name = "mm-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu";
      patch = ./kernel-patches/0033-mm-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch;
    }{
      name = "rtc-rs5c372-support-alarms-up-to-1-week";
      patch = ./kernel-patches/0034-rtc-rs5c372-support-alarms-up-to-1-week.patch;
    }{
      name = "rtc-rs5c372-let-the-alarm-to-be-used-as-wakeup-sourc";
      patch = ./kernel-patches/0035-rtc-rs5c372-let-the-alarm-to-be-used-as-wakeup-sourc.patch;
    }{
      name = "kernel-add-a-config-option-for-keeping-the-kallsyms-";
      patch = ./kernel-patches/0036-kernel-add-a-config-option-for-keeping-the-kallsyms-.patch;
    }{
      name = "kernel-when-KALLSYMS-is-disabled-print-module-addres";
      patch = ./kernel-patches/0037-kernel-when-KALLSYMS-is-disabled-print-module-addres.patch;
    }{
      name = "usr-sanitize-deps_initramfs-list";
      patch = ./kernel-patches/0038-usr-sanitize-deps_initramfs-list.patch;
    }{
      name = "hack-net-wireless-make-the-wl12xx-glue-code-availabl";
      patch = ./kernel-patches/0039-hack-net-wireless-make-the-wl12xx-glue-code-availabl.patch;
    }{
      name = "generic-platform-mikrotik-build-bits-5.4";
      patch = ./kernel-patches/0040-generic-platform-mikrotik-build-bits-5.4.patch;
    }{
      name = "fix-errors-in-unresolved-weak-symbols-on-arm";
      patch = ./kernel-patches/0041-fix-errors-in-unresolved-weak-symbols-on-arm.patch;
    }{
      name = "arc-add-OWRTDTB-section";
      patch = ./kernel-patches/0042-arc-add-OWRTDTB-section.patch;
    }{
      name = "arc-enable-unaligned-access-in-kernel-mode";
      patch = ./kernel-patches/0043-arc-enable-unaligned-access-in-kernel-mode.patch;
    }{
      name = "mtd-mtdsplit-support";
      patch = ./kernel-patches/0044-mtd-mtdsplit-support.patch;
    }{
      name = "mtd-spi-nor-write-support-for-minor-aligned-partitio";
      patch = ./kernel-patches/0045-mtd-spi-nor-write-support-for-minor-aligned-partitio.patch;
    }{
      name = "add-patch-for-including-unpartitioned-space-in-the-r";
      patch = ./kernel-patches/0046-add-patch-for-including-unpartitioned-space-in-the-r.patch;
    }{
      name = "Add-myloader-partition-table-parser";
      patch = ./kernel-patches/0047-Add-myloader-partition-table-parser.patch;
    }{
      name = "mtd-bcm47xxpart-check-for-bad-blocks-when-calculatin";
      patch = ./kernel-patches/0048-mtd-bcm47xxpart-check-for-bad-blocks-when-calculatin.patch;
    }{
      name = "mtd-bcm47xxpart-detect-T_Meter-partition";
      patch = ./kernel-patches/0049-mtd-bcm47xxpart-detect-T_Meter-partition.patch;
    }{
      name = "kernel-disable-cfi-cmdset-0002-erase-suspend";
      patch = ./kernel-patches/0050-kernel-disable-cfi-cmdset-0002-erase-suspend.patch;
    }{
      name = "Issue-map-read-after-Write-Buffer-Load-command-to-en";
      patch = ./kernel-patches/0051-Issue-map-read-after-Write-Buffer-Load-command-to-en.patch;
    }{
      name = "mtd-spinand-add-support-for-ESMT-F50x1G41LB";
      patch = ./kernel-patches/0052-mtd-spinand-add-support-for-ESMT-F50x1G41LB.patch;
    }{
      name = "mtd-add-EOF-marker-support-to-the-UBI-layer";
      patch = ./kernel-patches/0053-mtd-add-EOF-marker-support-to-the-UBI-layer.patch;
    }{
      name = "mtd-core-add-get_mtd_device_by_node";
      patch = ./kernel-patches/0054-mtd-core-add-get_mtd_device_by_node.patch;
    }{
      name = "dt-bindings-add-bindings-for-mtd-concat-devices";
      patch = ./kernel-patches/0055-dt-bindings-add-bindings-for-mtd-concat-devices.patch;
    }{
      name = "mtd-mtdconcat-add-dt-driver-for-concat-devices";
      patch = ./kernel-patches/0056-mtd-mtdconcat-add-dt-driver-for-concat-devices.patch;
    }{
      name = "fs-add-cdrom-dependency";
      patch = ./kernel-patches/0057-fs-add-cdrom-dependency.patch;
    }{
      name = "fs-add-jffs2-lzma-support-not-activated-by-default-y";
      patch = ./kernel-patches/0058-fs-add-jffs2-lzma-support-not-activated-by-default-y.patch;
    }{
      name = "fs-jffs2-EOF-marker";
      patch = ./kernel-patches/0059-fs-jffs2-EOF-marker.patch;
    }{
      name = "netfilter-add-support-for-flushing-conntrack-via-pro";
      patch = ./kernel-patches/0060-netfilter-add-support-for-flushing-conntrack-via-pro.patch;
    }{
      name = "kernel-add-a-new-version-of-my-netfilter-speedup-pat";
      patch = ./kernel-patches/0061-kernel-add-a-new-version-of-my-netfilter-speedup-pat.patch;
    }{
      name = "netfilter-reduce-match-memory-access";
      patch = ./kernel-patches/0062-netfilter-reduce-match-memory-access.patch;
    }{
      name = "netfilter-optional-tcp-window-check";
      patch = ./kernel-patches/0063-netfilter-optional-tcp-window-check.patch;
    }{
      name = "net_sched-codel-do-not-defer-queue-length-update";
      patch = ./kernel-patches/0064-net_sched-codel-do-not-defer-queue-length-update.patch;
    }{
      name = "net-add-an-optimization-for-dealing-with-raw-sockets";
      patch = ./kernel-patches/0065-net-add-an-optimization-for-dealing-with-raw-sockets.patch;
    }{
      name = "kernel-add-a-few-patches-for-avoiding-unnecessary-sk";
      patch = ./kernel-patches/0066-kernel-add-a-few-patches-for-avoiding-unnecessary-sk.patch;
    }{
      name = "Add-support-for-MAP-E-FMRs-mesh-mode";
      patch = ./kernel-patches/0067-Add-support-for-MAP-E-FMRs-mesh-mode.patch;
    }{
      name = "ipv6-allow-rejecting-with-source-address-failed-poli";
      patch = ./kernel-patches/0068-ipv6-allow-rejecting-with-source-address-failed-poli.patch;
    }{
      name = "net-provide-defines-for-_POLICY_FAILED-until-all-cod";
      patch = ./kernel-patches/0069-net-provide-defines-for-_POLICY_FAILED-until-all-cod.patch;
    }{
      name = "of_net-add-mac-address-increment-support";
      patch = ./kernel-patches/0070-of_net-add-mac-address-increment-support.patch;
    }{
      name = "of-of_net-write-back-netdev-MAC-address-to-device-tr";
      patch = ./kernel-patches/0071-of-of_net-write-back-netdev-MAC-address-to-device-tr.patch;
    }{
      name = "generic-add-detach-callback-to-struct-phy_driver";
      patch = ./kernel-patches/0072-generic-add-detach-callback-to-struct-phy_driver.patch;
    }{
      name = "net-dsa-tag_mtk-add-padding-for-tx-packets";
      patch = ./kernel-patches/0073-net-dsa-tag_mtk-add-padding-for-tx-packets.patch;
    }{
      name = "net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-p";
      patch = ./kernel-patches/0074-net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-p.patch;
    }{
      name = "ARM-kirkwood-add-missing-linux-if_ether";
      patch = ./kernel-patches/0075-ARM-kirkwood-add-missing-linux-if_ether.h-for-ETH_AL.patch;
    }{
      name = "bcma-get-SoC-device-struct-copy-its-DMA-params-to-th";
      patch = ./kernel-patches/0076-bcma-get-SoC-device-struct-copy-its-DMA-params-to-th.patch;
    }{
      name = "gpio-gpio-cascade-add-generic-GPIO-cascade";
      patch = ./kernel-patches/0077-gpio-gpio-cascade-add-generic-GPIO-cascade.patch;
    }{
      name = "debloat-add-kernel-config-option-to-disabling-common";
      patch = ./kernel-patches/0078-debloat-add-kernel-config-option-to-disabling-common.patch;
    }{
      name = "debloat-disable-common-USB-quirks";
      patch = ./kernel-patches/0079-debloat-disable-common-USB-quirks.patch;
    }{
      name = "w1-gpio-fix-problem-with-platfom-data-in-w1-gpio";
      patch = ./kernel-patches/0080-w1-gpio-fix-problem-with-platfom-data-in-w1-gpio.patch;
    }{
      name = "hwrng-bcm2835-set-quality-to-1000";
      patch = ./kernel-patches/0081-hwrng-bcm2835-set-quality-to-1000.patch;
    }{
      name = "PCI-aardvark-Make-main-irq_chip-structure-a-static-d";
      patch = ./kernel-patches/0082-PCI-aardvark-Make-main-irq_chip-structure-a-static-d.patch;
    }{
      name = "init-add-CONFIG_MANGLE_BOOTARGS-and-disable-it-by-de";
      patch = ./kernel-patches/0083-init-add-CONFIG_MANGLE_BOOTARGS-and-disable-it-by-de.patch;
    }{
      name = "ARM-dts-armada-385.dtsi-Add-definitions-for-PCIe-err";
      patch = ./kernel-patches/0084-ARM-dts-armada-385.dtsi-Add-definitions-for-PCIe-err.patch;
    }{
      name = "PCI-aardvark-Implement-workaround-for-PCIe-Completio";
      patch = ./kernel-patches/0085-PCI-aardvark-Implement-workaround-for-PCIe-Completio.patch;
    }{
      name = "ARM-dts-turris-omnia-configure-LED-0-pin-function-to";
      patch = ./kernel-patches/0086-ARM-dts-turris-omnia-configure-LED-0-pin-function-to.patch;
    }{
      name = "ARM-dts-turris-omnia-enable-LED-controller-node";
      patch = ./kernel-patches/0087-ARM-dts-turris-omnia-enable-LED-controller-node.patch;
    }{
      name = "leds-turris-omnia-support-HW-controlled-mode-via-pri";
      patch = ./kernel-patches/0088-leds-turris-omnia-support-HW-controlled-mode-via-pri.patch;
    }{
      name = "leds-turris-omnia-initialize-multi-intensity-to-full";
      patch = ./kernel-patches/0089-leds-turris-omnia-initialize-multi-intensity-to-full.patch;
    }{
      name = "leds-turris-omnia-change-max-brightness-from-255-to-";
      patch = ./kernel-patches/0090-leds-turris-omnia-change-max-brightness-from-255-to-.patch;
    }{
      name = "generic-Mangle-bootloader-s-kernel-arguments";
      patch = ./kernel-patches/0091-generic-Mangle-bootloader-s-kernel-arguments.patch;
    }{
      name = "ARM-mvebu-385-ap-Add-partitions";
      patch = ./kernel-patches/0092-ARM-mvebu-385-ap-Add-partitions.patch;
    }{
      name = "ARM-dts-armada388-clearfog-emmc-on-clearfog-base";
      patch = ./kernel-patches/0093-ARM-dts-armada388-clearfog-emmc-on-clearfog-base.patch;
    }{
      name = "ARM-dts-armada-xp-linksys-mamba-Increase-kernel-part";
      patch = ./kernel-patches/0094-ARM-dts-armada-xp-linksys-mamba-Increase-kernel-part.patch;
    }{
      name = "phy-marvell-phy-mvebu-a3700-comphy-Change-2500base-x";
      patch = ./kernel-patches/0095-phy-marvell-phy-mvebu-a3700-comphy-Change-2500base-x.patch;
    }{
      name = "cpuidle-mvebu-indicate-failure-to-enter-deeper-sleep";
      patch = ./kernel-patches/0096-cpuidle-mvebu-indicate-failure-to-enter-deeper-sleep.patch;
    }];
  };
}