* Get personal support for your first kernel patch
@ 2022-09-17 7:36 Philipp Hortmann
2022-09-18 7:08 ` Philipp Hortmann
0 siblings, 1 reply; 2+ messages in thread
From: Philipp Hortmann @ 2022-09-17 7:36 UTC (permalink / raw)
To: kernelnewbies
Hi,
I am looking for people who think about working on the linux kernel for
quite some time. Typically they do not know how to start, because that
is the biggest hurdle.
I offer you support about all questions regarding this topic (Limited
what I know. But I do have 118 patches in the kernel). You do not need
to start with the big mailing list if you are to shy to ask. I also
reply personal.
You need to have the following skills:
- be persistent (most important as Greg said long ago)
- be patient
- have some sense about computers
Here what I propose:
We are going to cleanup the driver:
https://elixir.bootlin.com/linux/latest/source/drivers/staging/rtl8192e
Reason is that this driver is for hardware that is still good available
on the market and has a reasonable data throughput.
You want to know how we start?
Call in the kernel main directory:
./scripts/checkpatch.pl --file drivers/staging/rtl8192e/rtl8192e/*.c
CHECK: Avoid CamelCase: <RxPathSelection_SS_TH_low>
#1742: FILE: drivers/staging/rtl8192e/rtl8192e/rtl_dm.c:1742:
+ DM_RxPathSelTable.SS_TH_low = RxPathSelection_SS_TH_low;
CHECK: Avoid CamelCase: <RxPathSelection_diff_TH>
#1743: FILE: drivers/staging/rtl8192e/rtl8192e/rtl_dm.c:1743:
+ DM_RxPathSelTable.diff_TH = RxPathSelection_diff_TH;
CHECK: spaces preferred around that '&' (ctx:VxV)
#1779: FILE: drivers/staging/rtl8192e/rtl8192e/rtl_dm.c:1779:
+ DM_RxPathSelTable.cck_Rx_path = (rtl92e_readb(dev, 0xa07)&0xf);
^
CHECK: multiple assignments should be avoided
#1797: FILE: drivers/staging/rtl8192e/rtl8192e/rtl_dm.c:1797:
+ max_rssi_index = min_rssi_index = sec_rssi_index = i;
CHECK: multiple assignments should be avoided
#1798: FILE: drivers/staging/rtl8192e/rtl8192e/rtl_dm.c:1798:
+ tmp_max_rssi = tmp_min_rssi = tmp_sec_rssi = cur_rf_rssi;
CHECK: multiple assignments should be avoided
#1804: FILE: drivers/staging/rtl8192e/rtl8192e/rtl_dm.c:1804:
+ tmp_sec_rssi = tmp_min_rssi = cur_rf_rssi;
CHECK: multiple assignments should be avoided
#1805: FILE: drivers/staging/rtl8192e/rtl8192e/rtl_dm.c:1805:
+ sec_rssi_index = min_rssi_index = i;
WARNING: Too many leading tabs - consider code refactoring
#1881: FILE: drivers/staging/rtl8192e/rtl8192e/rtl_dm.c:1881:
+ if (tmp_cck_sec_pwdb ==
WARNING: Too many leading tabs - consider code refactoring
#1892: FILE: drivers/staging/rtl8192e/rtl8192e/rtl_dm.c:1892:
+ if (tmp_cck_sec_pwdb == tmp_cck_min_pwdb)
CHECK: Blank lines aren't necessary before a close brace '}'
#1899: FILE: drivers/staging/rtl8192e/rtl8192e/rtl_dm.c:1899:
+
+ }
CHECK: spaces preferred around that '+' (ctx:VxV)
#1915: FILE: drivers/staging/rtl8192e/rtl8192e/rtl_dm.c:1915:
+ tmp_max_rssi+5;
^
CHECK: spaces preferred around that '<<' (ctx:VxV)
#1917: FILE: drivers/staging/rtl8192e/rtl8192e/rtl_dm.c:1917:
+ 0x1<<min_rssi_index, 0x0);
^
CHECK: spaces preferred around that '<<' (ctx:VxV)
#1919: FILE: drivers/staging/rtl8192e/rtl8192e/rtl_dm.c:1919:
+ 0x1<<min_rssi_index, 0x0);
^
CHECK: spaces preferred around that '<<' (ctx:VxV)
#1931: FILE: drivers/staging/rtl8192e/rtl8192e/rtl_dm.c:1931:
+ DM_RxPathSelTable.cck_Rx_path = (cck_default_Rx<<2) |
^
CHECK: Avoid CamelCase: <rCCK0_AFESetting>
#1933: FILE: drivers/staging/rtl8192e/rtl8192e/rtl_dm.c:1933:
+ rtl92e_set_bb_reg(dev, rCCK0_AFESetting, 0x0f000000,
CHECK: spaces preferred around that '>>' (ctx:VxV)
#1939: FILE: drivers/staging/rtl8192e/rtl8192e/rtl_dm.c:1939:
+ if ((DM_RxPathSelTable.disabledRF>>i) & 0x1) {
^
CHECK: Assignment operator '=' should be on the previous line
#1949: FILE: drivers/staging/rtl8192e/rtl8192e/rtl_dm.c:1949:
+ DM_RxPathSelTable.rf_enable_rssi_th[i]
+ = 100;
CHECK: Please don't use multiple blank lines
#1964: FILE: drivers/staging/rtl8192e/rtl8192e/rtl_dm.c:1964:
+
+
CHECK: Avoid CamelCase: <Default_Fsync>
#1976: FILE: drivers/staging/rtl8192e/rtl8192e/rtl_dm.c:1976:
+ priv->rtllib->fsync_state = Default_Fsync;
......
I am looking forward to your Emails.
Bye Philipp
_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Get personal support for your first kernel patch
2022-09-17 7:36 Get personal support for your first kernel patch Philipp Hortmann
@ 2022-09-18 7:08 ` Philipp Hortmann
0 siblings, 0 replies; 2+ messages in thread
From: Philipp Hortmann @ 2022-09-18 7:08 UTC (permalink / raw)
To: kernelnewbies
Hi,
you can follow the description on this homepage:
https://kernelnewbies.org/FirstKernelPatch
I learned from this document.
That has some issues because it is not updated in all points but it
works. I cannot update because I do not have the permission.
Here the hints I wand to give you:
Do not use:
apt-get install python-ply python-git
Use:
apt-get install python3-ply python3-git
When you use gmail with mutt:
- activate dual factor authentication
- use "app password" for mutt
That is working fine.
I also like to recommend the following youtube videos:
"Write and Submit your first Linux kernel Patch" by Greg Kroah-Hartman -
12 years old but still very valid.
Best entertainment about things went wrong with patches:
LCA13: Keynote Greg Kroah-Hartman "I don't want your code"
Bye Philipp
_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2022-09-18 7:08 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-17 7:36 Get personal support for your first kernel patch Philipp Hortmann
2022-09-18 7:08 ` Philipp Hortmann
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).