• Stars
    star
    353
  • Rank 120,322 (Top 3 %)
  • Language
    C
  • License
    Other
  • Created over 11 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

How do I submit patches to Android Common Kernels

  1. BEST: Make all of your changes to upstream Linux. If appropriate, backport to the stable releases. These patches will be merged automatically in the corresponding common kernels. If the patch is already in upstream Linux, post a backport of the patch that conforms to the patch requirements below.

  2. LESS GOOD: Develop your patches out-of-tree (from an upstream Linux point-of-view). Unless these are fixing an Android-specific bug, these are very unlikely to be accepted unless they have been coordinated with [email protected]. If you want to proceed, post a patch that conforms to the patch requirements below.

Common Kernel patch requirements

  • All patches must conform to the Linux kernel coding standards and pass script/checkpatch.pl
  • Patches shall not break gki_defconfig or allmodconfig builds for arm, arm64, x86, x86_64 architectures (see https://source.android.com/setup/build/building-kernels)
  • If the patch is not merged from an upstream branch, the subject must be tagged with the type of patch: UPSTREAM:, BACKPORT:, FROMGIT:, FROMLIST:, or ANDROID:.
  • All patches must have a Change-Id: tag (see https://gerrit-review.googlesource.com/Documentation/user-changeid.html)
  • If an Android bug has been assigned, there must be a Bug: tag.
  • All patches must have a Signed-off-by: tag by the author and the submitter

Additional requirements are listed below based on patch type

Requirements for backports from mainline Linux: UPSTREAM:, BACKPORT:

  • If the patch is a cherry-pick from Linux mainline with no changes at all
    • tag the patch subject with UPSTREAM:.
    • add upstream commit information with a (cherry-picked from ...) line
    • Example:
      • if the upstream commit message is
        important patch from upstream

        This is the detailed description of the important patch

        Signed-off-by: Fred Jones <[email protected]>
    - then Joe Smith would upload the patch for the common kernel as
        UPSTREAM: important patch from upstream

        This is the detailed description of the important patch

        Signed-off-by: Fred Jones <[email protected]>

        Bug: 135791357
        Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
        (cherry-picked from c31e73121f4c1ec41143423ac6ce3ce6dafdcec1)
        Signed-off-by: Joe Smith <[email protected]>
  • If the patch requires any changes from the upstream version, tag the patch with BACKPORT: instead of UPSTREAM:.
    • use the same tags as UPSTREAM:
    • add comments about the changes under the (cherry-picked from ...) line
    • Example:
        BACKPORT: important patch from upstream

        This is the detailed description of the important patch

        Signed-off-by: Fred Jones <[email protected]>

        Bug: 135791357
        Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
        (cherry-picked from c31e73121f4c1ec41143423ac6ce3ce6dafdcec1)
        [ Resolved minor conflict in drivers/foo/bar.c ]
        Signed-off-by: Joe Smith <[email protected]>

Requirements for other backports: FROMGIT:, FROMLIST:,

  • If the patch has been merged into an upstream maintainer tree, but has not yet been merged into Linux mainline
    • tag the patch subject with FROMGIT:
    • add info on where the patch came from as (cherry picked from commit <sha1> <repo> <branch>). This must be a stable maintainer branch (not rebased, so don't use linux-next for example).
    • if changes were required, use BACKPORT: FROMGIT:
    • Example:
      • if the commit message in the maintainer tree is
        important patch from upstream

        This is the detailed description of the important patch

        Signed-off-by: Fred Jones <[email protected]>
    - then Joe Smith would upload the patch for the common kernel as
        FROMGIT: important patch from upstream

        This is the detailed description of the important patch

        Signed-off-by: Fred Jones <[email protected]>

        Bug: 135791357
        (cherry picked from commit 878a2fd9de10b03d11d2f622250285c7e63deace
         https://git.kernel.org/pub/scm/linux/kernel/git/foo/bar.git test-branch)
        Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
        Signed-off-by: Joe Smith <[email protected]>
  • If the patch has been submitted to LKML, but not accepted into any maintainer tree
    • tag the patch subject with FROMLIST:
    • add a Link: tag with a link to the submittal on lore.kernel.org
    • if changes were required, use BACKPORT: FROMLIST:
    • Example:
        FROMLIST: important patch from upstream

        This is the detailed description of the important patch

        Signed-off-by: Fred Jones <[email protected]>

        Bug: 135791357
        Link: https://lore.kernel.org/lkml/[email protected]/
        Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
        Signed-off-by: Joe Smith <[email protected]>

Requirements for Android-specific patches: ANDROID:

  • If the patch is fixing a bug to Android-specific code
    • tag the patch subject with ANDROID:
    • add a Fixes: tag that cites the patch with the bug
    • Example:
        ANDROID: fix android-specific bug in foobar.c

        This is the detailed description of the important fix

        Fixes: 1234abcd2468 ("foobar: add cool feature")
        Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
        Signed-off-by: Joe Smith <[email protected]>
  • If the patch is a new feature
    • tag the patch subject with ANDROID:
    • add a Bug: tag with the Android bug (required for android-specific features)

More Repositories

1

ApkAnalyser

Java
1,007
star
2

ChkBugReport

A command line tool which parses and converts android bugreport files into more human readable html reports.
Java
946
star
3

dataflow

Render graphs using a declarative markup.
Haskell
149
star
4

kernel-copyleft

Copyleft archives for Xperia kernels
C
137
star
5

WebGL

WebGL for Android Browser
C++
119
star
6

XAppDbg

Extra application debugging interface
Java
105
star
7

amazon-custom-resources

JavaScript
99
star
8

MultimediaForAndroidLibrary

Java
88
star
9

device-sony-yuga

Makefile
79
star
10

DASH

The Dynamic Android Sensor HAL
C
77
star
11

device-sony-lt26

Android device configuration for Xperia S
C
70
star
12

device-sony-common

Makefile
61
star
13

pygerrit

Python
52
star
14

bug_tracker

Empty repository that is used as a bugtracker for Open Devices project
52
star
15

gerrit-events

Java
47
star
16

device-sony-aries

C
45
star
17

BacklogTool

This tool keeps track of the backlog for software development teams
JavaScript
43
star
18

local_manifests

42
star
19

device-sony-leo

C
40
star
20

device-sony-maple

Makefile
40
star
21

device-sony-lilac

Makefile
36
star
22

DrmLicenseService

Java
35
star
23

Folding-home

C
34
star
24

device-sony-suzuran

Makefile
33
star
25

device-sony-honami

Makefile
27
star
26

device-sony-pioneer

Makefile
25
star
27

device-sony-c2105

Ruby
24
star
28

CDB-Assist

C
23
star
29

device-sony-amami

Makefile
22
star
30

device-sony-shinano

C
22
star
31

camera

C++
21
star
32

thermanager

Sony Xperia AOSP thermal manager service
C
21
star
33

device-sony-kagura

Makefile
20
star
34

device-sony-yoshino

Makefile
19
star
35

device-sony-kugo

Makefile
19
star
36

WebSDK

WebSDK packager with PhoneGap
19
star
37

device-sony-suzu

Makefile
18
star
38

home-badge

Java
18
star
39

device-sony-loire

Makefile
17
star
40

UnderwaterApps

Java
17
star
41

device-sony-togari

Makefile
16
star
42

device-sony-apollo

Makefile
15
star
43

device-sony-sumire

Makefile
15
star
44

device-sony-kumano

Makefile
15
star
45

device-sony-poplar

Makefile
15
star
46

device-sony-akari

Makefile
14
star
47

ave

Python
14
star
48

device-sony-tama

Makefile
14
star
49

device-sony-edo

Makefile
13
star
50

device-sony-sirius

C
13
star
51

lumber-mill

Where logs are cut into lumber
Java
12
star
52

device-sony-pdx206

Makefile
12
star
53

kernel-defconfig

Shell
12
star
54

EvolutionUI

Java
12
star
55

device-sony-discovery

Makefile
12
star
56

vendor-qcom-opensource-fm

Java
12
star
57

device-sony-pdx201

Makefile
12
star
58

device-sony-mermaid

Makefile
11
star
59

device-sony-griffin

Makefile
11
star
60

device-sony-akatsuki

Makefile
11
star
61

device-sony-lena

Makefile
10
star
62

device-sony-sgp321

Shell
10
star
63

device-sony-bahamut

Makefile
10
star
64

device-sony-tone

Makefile
10
star
65

mkqcdtbootimg

C
10
star
66

device-sony-kitakami

Makefile
10
star
67

device-sony-keyaki

Makefile
10
star
68

device-sony-satsuki

Makefile
9
star
69

device-sony-sagami

Makefile
9
star
70

vendor-sony-kernel

Makefile
9
star
71

device-sony-nile

Makefile
8
star
72

vendor-qcom-opensource-wlan-qcacld-3.0

C
8
star
73

repo_update

Shell
8
star
74

CameraTest

Java
8
star
75

device-sony-kirin

Makefile
8
star
76

device-sony-tulip

Makefile
7
star
77

device-sony-pdx215

Makefile
7
star
78

device-sony-pdx203

Makefile
7
star
79

vendor-sony-oss-simdetect

Kotlin
7
star
80

device-sony-pdx223

Makefile
7
star
81

prima

Mirror of git://codeaurora.org/external/wlan/prima.git
C
7
star
82

device-sony-yukon

Makefile
7
star
83

device-sony-rhine

Makefile
7
star
84

device-sony-castor

Makefile
7
star
85

device-sony-pdx213

Makefile
6
star
86

kernel-techpack-audio

C
6
star
87

device-sony-eagle

Makefile
6
star
88

timekeep

C
6
star
89

device-sony-c6503

Shell
6
star
90

device-sony-sepolicy

Makefile
6
star
91

kernel-sony-msm-4.9-common

Shell
5
star
92

device-qcom-sepolicy

Makefile
5
star
93

device-sony-pdx214

Makefile
5
star
94

device-sony-flamingo

Makefile
5
star
95

device-sony-kanuti

Makefile
5
star
96

vendor-qcom-opensource-audio-hal-primary-hal

C
5
star
97

device-sony-tianchi

Makefile
5
star
98

transpower

Java
5
star
99

device-sony-pdx225

Makefile
5
star
100

vendor-broadcom-wlan

Makefile
5
star