Useful info:
First we will have to figure out which kernel tree you should use. Usually you will have to pick up the maintainer's tree for the subsystem your patch belongs to. When in doubt use linux-next.
We will try to find and fix a small issue in the staging/
driver directory. So we will use staging.git tree.
$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git
# setup user name git config --global user.name "Green Penguin" # setup user email $ git config --global user.email "your_email@example.com" # setup default editor $ git config --global core.editor vim
sudo apt-get install coccinelle </code>
$ sudo apt install sparse
We can use defconfig
for getting a smaller kernel image.
$ make defconfig $ make $ make modules
Use make menuconfig and in the GUI navigate to your module. For search we can use '/' as in vim.
make path/file.o
This tools checks for coding style violations. Please keep in mind that:
drivers/staging
directory most of the maintainers are reluctant to coding style fixes.$ $ ./scripts/checkpatch.pl --strict -f drivers/staging/greybus/pwm.c CHECK: Please don't use multiple blank lines #28: FILE: drivers/staging/greybus/pwm.c:28: + +
Now edit drivers/staging/greybus/pwm.c
and remove the extra blank line.
After you fix the code you can use git to see the difference between initial file version.
$ git diff diff --git a/drivers/staging/greybus/pwm.c b/drivers/staging/greybus/pwm.c index c4bf329..ab72c9e 100644 --- a/drivers/staging/greybus/pwm.c +++ b/drivers/staging/greybus/pwm.c @@ -25,7 +25,6 @@ struct gb_pwm_chip { #define pwm_chip_to_gb_pwm_chip(chip) \ container_of(chip, struct gb_pwm_chip, chip) - static int gb_pwm_count_operation(struct gb_pwm_chip *pwmc) { struct gb_pwm_count_response response;
$ git status On branch staging-testing Your branch is up-to-date with 'origin/staging-testing'. Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: drivers/staging/greybus/pwm.c
Now it's time to create the commit, make sure you add a proper commit message:
$ git commit -s greybus: pwm: Remove extra blank line This was reported by checkpatch.pl Signed-off-by: Daniel Baluta <daniel.baluta@gmail.com>
$ git format-patch -1 0001-greybus-pwm-Remove-extra-blank-line.patch
$ ./scripts/get_maintainer.pl 0001-greybus-pwm-Remove-extra-blank-line.patch M1 (maintainer:GREYBUS SUBSYSTEM) M2 (maintainer:GREYBUS SUBSYSTEM) M3 (maintainer:GREYBUS SUBSYSTEM) L1 (open list:GREYBUS SUBSYSTEM) L2 (open list:STAGING SUBSYSTEM) L3 (open list)
$ git send-email --to=<maintainer1> --to=<maintainer2> --cc=<list1> --cc=<list2> 0001-greybus-pwm-Remove-extra-blank-line.patch