Files
openwrt_mitrastar/target/linux/generic/PATCHES.md
Álvaro Fernández Rojas f9ea340288 generic: improve patches documentation
It's time to give the patches documentation some love by:
- Using Markdown.
- Differentiating between generic and specific target patches.
- Adding deeper explanation about patch numbering.

Link: https://github.com/openwrt/openwrt/pull/19092
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-06-11 15:09:46 +02:00

85 lines
3.0 KiB
Markdown

# OpenWrt kernel patches
All patches must be in a way that they are potentially upstreamable, meaning:
* They must contain a proper subject.
* They must contain a proper commit message explaining what they change and why.
* They must contain a valid Signed-off-by line.
The build system applies the patches in the following order:
1. target/linux/generic/backport-*/
2. target/linux/generic/pending-*/
3. target/linux/generic/hack-*/
4. target/linux/`<target name>`/patches-*/
## OpenWrt generic
The generic target patches are applied to every OpenWrt target before any of the specific target patches are applied.
### backport
The `backport-*` subdirectories contain the kernel patches backported from newer kernels.
In order to save naming space for newer patches to come, when adding a new subset of patches which are related between them the following naming convention shall be used: `NNN-SS-vX.Y-lowercase_shortname.patch`.
For single patches, the following naming convention shall be used instead: `NNN-vX.Y-lowercase_shortname.patch`.
| Item | Description |
| ----- |:------------------------:|
| NNN | Main patch number. |
| SS | Subset patch number. |
| vX.Y | Upstream kernel version. |
### hack
The `hack-*` subdirectories contain the downstream kernel patches that are less likely to be accepted upstream but are still needed in OpenWrt.
Some of these patches are potentially upstreamable if properly reworked and others aren't simply worth the effort.
All patches should be named `NNN-lowercase_shortname.patch`.
### pending
The `pending-*` subdirectories contain the kernel patches awaiting upstream merge.
All patches should be named `NNN-lowercase_shortname.patch`.
### Patch number guidelines
The following patch numbering guidelines shall be followed:
| NNN | Description |
| ---- |:-------------------------------:|
| 0xx | - |
| 1xx | - |
| 2xx | Kernel build / config / header |
| 3xx | Architecture specific |
| 4xx | MTD |
| 5xx | Filesystem |
| 6xx | Generic network |
| 7xx | Network / PHY |
| 8xx | Other drivers |
| 9xx | Uncategorized |
## OpenWrt targets
The `patches-*` subdirectories contain the kernel patches applied for every OpenWrt target.
All patches should be named `NNN-lowercase_shortname.patch`.
### Patch number guidelines
The following patch numbering guidelines shall be followed:
| NNN | Description |
| ---- |:-------------------------------:|
| 0xx | Upstream backports |
| 1xx | Awaiting upstream merge |
| 2xx | Kernel build / config / header |
| 3xx | Architecture specific |
| 4xx | MTD |
| 5xx | Filesystem |
| 6xx | Generic network |
| 7xx | Network / PHY |
| 8xx | Other drivers |
| 9xx | Uncategorized |