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