Get personal support for your first kernel patch
Philipp Hortmann
philipp.g.hortmann at gmail.com
Sat Sep 17 03:36:02 EDT 2022
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
More information about the Kernelnewbies
mailing list