Skip to contentSkip to conversation

staging: r8188eu: make dump_chip_info() static

PATCH In review Michael Straube 4 participants 4 messages Jul 24, 2022 – Jul 27, 2022 Staging

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 staging: r8188eu: make dump_chip_info() static

The function dump_chip_info() is only used in rtl8188e_hal_init.c. Make it static to reduce the driver object file size by 281 bytes.

before:
text data bss dec hex filename
530606 43897 7072 581575 8dfc7 drivers/staging/r8188eu/r8188eu.o

after:
text data bss dec hex filename
530405 43817 7072 581294 8deae drivers/staging/r8188eu/r8188eu.o

---
 drivers/staging/r8188eu/hal/hal_com.c         | 39 -------------------
 .../staging/r8188eu/hal/rtl8188e_hal_init.c   | 39 +++++++++++++++++++
 drivers/staging/r8188eu/include/hal_com.h     |  3 --
 3 files changed, 39 insertions(+), 42 deletions(-)
drivers/staging/r8188eu/hal/hal_com.c +0 -39
index e9a32dd84a8e..6a1cdc67335b 100644
@@ -10,45 +10,6 @@
 
 #define _HAL_INIT_C_
 
-void dump_chip_info(struct HAL_VERSION	chip_vers)
-{
-	uint cnt = 0;
-	char buf[128];
-
-	cnt += sprintf((buf + cnt), "Chip Version Info: CHIP_8188E_");
-	cnt += sprintf((buf + cnt), "%s_", IS_NORMAL_CHIP(chip_vers) ?
-		       "Normal_Chip" : "Test_Chip");
-	cnt += sprintf((buf + cnt), "%s_", IS_CHIP_VENDOR_TSMC(chip_vers) ?
-		       "TSMC" : "UMC");
-
-	switch (chip_vers.CUTVersion) {
-	case A_CUT_VERSION:
-		cnt += sprintf((buf + cnt), "A_CUT_");
-		break;
-	case B_CUT_VERSION:
-		cnt += sprintf((buf + cnt), "B_CUT_");
-		break;
-	case C_CUT_VERSION:
-		cnt += sprintf((buf + cnt), "C_CUT_");
-		break;
-	case D_CUT_VERSION:
-		cnt += sprintf((buf + cnt), "D_CUT_");
-		break;
-	case E_CUT_VERSION:
-		cnt += sprintf((buf + cnt), "E_CUT_");
-		break;
-	default:
-		cnt += sprintf((buf + cnt), "UNKNOWN_CUT(%d)_", chip_vers.CUTVersion);
-		break;
-	}
-
-	cnt += sprintf((buf + cnt), "1T1R_");
-
-	cnt += sprintf((buf + cnt), "RomVer(%d)\n", 0);
-
-	pr_info("%s", buf);
-}
-
 #define	CHAN_PLAN_HW	0x80
 
 u8 /* return the final channel plan decision */
drivers/staging/r8188eu/hal/rtl8188e_hal_init.c +39 -0
index fe477438899e..5b8f1a912bbb 100644
@@ -526,6 +526,45 @@ void rtl8188e_ReadEFuse(struct adapter *Adapter, u16 _size_byte, u8 *pbuf)
 	Hal_EfuseReadEFuse88E(Adapter, 0, _size_byte, pbuf);
 }
 
+static void dump_chip_info(struct HAL_VERSION chip_vers)
+{
+	uint cnt = 0;
+	char buf[128];
+
+	cnt += sprintf((buf + cnt), "Chip Version Info: CHIP_8188E_");
+	cnt += sprintf((buf + cnt), "%s_", IS_NORMAL_CHIP(chip_vers) ?
+		       "Normal_Chip" : "Test_Chip");
+	cnt += sprintf((buf + cnt), "%s_", IS_CHIP_VENDOR_TSMC(chip_vers) ?
+		       "TSMC" : "UMC");
+
+	switch (chip_vers.CUTVersion) {
+	case A_CUT_VERSION:
+		cnt += sprintf((buf + cnt), "A_CUT_");
+		break;
+	case B_CUT_VERSION:
+		cnt += sprintf((buf + cnt), "B_CUT_");
+		break;
+	case C_CUT_VERSION:
+		cnt += sprintf((buf + cnt), "C_CUT_");
+		break;
+	case D_CUT_VERSION:
+		cnt += sprintf((buf + cnt), "D_CUT_");
+		break;
+	case E_CUT_VERSION:
+		cnt += sprintf((buf + cnt), "E_CUT_");
+		break;
+	default:
+		cnt += sprintf((buf + cnt), "UNKNOWN_CUT(%d)_", chip_vers.CUTVersion);
+		break;
+	}
+
+	cnt += sprintf((buf + cnt), "1T1R_");
+
+	cnt += sprintf((buf + cnt), "RomVer(%d)\n", 0);
+
+	pr_info("%s", buf);
+}
+
 void rtl8188e_read_chip_version(struct adapter *padapter)
 {
 	u32				value32;
drivers/staging/r8188eu/include/hal_com.h +0 -3
index 56ba356b5371..d7e333f6ce39 100644
@@ -131,9 +131,6 @@
 #define REG_NOA_DESC_START			0x05E8
 #define REG_NOA_DESC_COUNT			0x05EC
 
-#include "HalVerDef.h"
-void dump_chip_info(struct HAL_VERSION	ChipVersion);
-
 /* return the final channel plan decision */
 u8 hal_com_get_channel_plan(struct adapter *padapter,
 			    u8 hw_channel_plan,
Signature · 1 line
2.37.1
Tested-by on v1 1/1
#1 lore raw
Quoted 123 lines · Michael Straube

The function dump_chip_info() is only used in rtl8188e_hal_init.c. Make it static to reduce the driver object file size by 281 bytes.

before:
text data bss dec hex filename
530606 43897 7072 581575 8dfc7 drivers/staging/r8188eu/r8188eu.o

after:
text data bss dec hex filename
530405 43817 7072 581294 8deae drivers/staging/r8188eu/r8188eu.o

---
  drivers/staging/r8188eu/hal/hal_com.c         | 39 -------------------
  .../staging/r8188eu/hal/rtl8188e_hal_init.c   | 39 +++++++++++++++++++
  drivers/staging/r8188eu/include/hal_com.h     |  3 --
  3 files changed, 39 insertions(+), 42 deletions(-)
drivers/staging/r8188eu/hal/hal_com.c +0 -39
index e9a32dd84a8e..6a1cdc67335b 100644
@@ -10,45 +10,6 @@
 
  #define _HAL_INIT_C_
 
-void dump_chip_info(struct HAL_VERSION	chip_vers)
-{
-	uint cnt = 0;
-	char buf[128];
-
-	cnt += sprintf((buf + cnt), "Chip Version Info: CHIP_8188E_");
-	cnt += sprintf((buf + cnt), "%s_", IS_NORMAL_CHIP(chip_vers) ?
-		       "Normal_Chip" : "Test_Chip");
-	cnt += sprintf((buf + cnt), "%s_", IS_CHIP_VENDOR_TSMC(chip_vers) ?
-		       "TSMC" : "UMC");
-
-	switch (chip_vers.CUTVersion) {
-	case A_CUT_VERSION:
-		cnt += sprintf((buf + cnt), "A_CUT_");
-		break;
-	case B_CUT_VERSION:
-		cnt += sprintf((buf + cnt), "B_CUT_");
-		break;
-	case C_CUT_VERSION:
-		cnt += sprintf((buf + cnt), "C_CUT_");
-		break;
-	case D_CUT_VERSION:
-		cnt += sprintf((buf + cnt), "D_CUT_");
-		break;
-	case E_CUT_VERSION:
-		cnt += sprintf((buf + cnt), "E_CUT_");
-		break;
-	default:
-		cnt += sprintf((buf + cnt), "UNKNOWN_CUT(%d)_", chip_vers.CUTVersion);
-		break;
-	}
-
-	cnt += sprintf((buf + cnt), "1T1R_");
-
-	cnt += sprintf((buf + cnt), "RomVer(%d)\n", 0);
-
-	pr_info("%s", buf);
-}
-
  #define	CHAN_PLAN_HW	0x80
 
  u8 /* return the final channel plan decision */
drivers/staging/r8188eu/hal/rtl8188e_hal_init.c +39 -0
index fe477438899e..5b8f1a912bbb 100644
@@ -526,6 +526,45 @@ void rtl8188e_ReadEFuse(struct adapter *Adapter, u16 _size_byte, u8 *pbuf)
  	Hal_EfuseReadEFuse88E(Adapter, 0, _size_byte, pbuf);
  }
 
+static void dump_chip_info(struct HAL_VERSION chip_vers)
+{
+	uint cnt = 0;
+	char buf[128];
+
+	cnt += sprintf((buf + cnt), "Chip Version Info: CHIP_8188E_");
+	cnt += sprintf((buf + cnt), "%s_", IS_NORMAL_CHIP(chip_vers) ?
+		       "Normal_Chip" : "Test_Chip");
+	cnt += sprintf((buf + cnt), "%s_", IS_CHIP_VENDOR_TSMC(chip_vers) ?
+		       "TSMC" : "UMC");
+
+	switch (chip_vers.CUTVersion) {
+	case A_CUT_VERSION:
+		cnt += sprintf((buf + cnt), "A_CUT_");
+		break;
+	case B_CUT_VERSION:
+		cnt += sprintf((buf + cnt), "B_CUT_");
+		break;
+	case C_CUT_VERSION:
+		cnt += sprintf((buf + cnt), "C_CUT_");
+		break;
+	case D_CUT_VERSION:
+		cnt += sprintf((buf + cnt), "D_CUT_");
+		break;
+	case E_CUT_VERSION:
+		cnt += sprintf((buf + cnt), "E_CUT_");
+		break;
+	default:
+		cnt += sprintf((buf + cnt), "UNKNOWN_CUT(%d)_", chip_vers.CUTVersion);
+		break;
+	}
+
+	cnt += sprintf((buf + cnt), "1T1R_");
+
+	cnt += sprintf((buf + cnt), "RomVer(%d)\n", 0);
+
+	pr_info("%s", buf);
+}
+
  void rtl8188e_read_chip_version(struct adapter *padapter)
  {
  	u32				value32;
drivers/staging/r8188eu/include/hal_com.h +0 -0
index 56ba356b5371..d7e333f6ce39 100644

drivers/staging/r8188eu/include/hal_com.h line 136

Quoted 9 lines
drivers/staging/r8188eu/include/hal_com.h +0 -3
@@ -131,9 +131,6 @@
  #define REG_NOA_DESC_START			0x05E8
  #define REG_NOA_DESC_COUNT			0x05EC
 
-#include "HalVerDef.h"
-void dump_chip_info(struct HAL_VERSION	ChipVersion);
-
  /* return the final channel plan decision */
  u8 hal_com_get_channel_plan(struct adapter *padapter,
  			    u8 hw_channel_plan,
#2 lore raw
Quoted 11 lines · Philipp Hortmann
Quoted 10 lines · Michael Straube

The function dump_chip_info() is only used in rtl8188e_hal_init.c. Make it static to reduce the driver object file size by 281 bytes.

before:
text data bss dec hex filename
530606 43897 7072 581575 8dfc7 drivers/staging/r8188eu/r8188eu.o

after:
text data bss dec hex filename
530405 43817 7072 581294 8deae drivers/staging/r8188eu/r8188eu.o

[]

Quoted 1 line

drivers/staging/r8188eu/hal/rtl8188e_hal_init.c

Quoted 1 line
drivers/staging/r8188eu/hal/rtl8188e_hal_init.c +0 -0

[]

Quoted 34 lines
Quoted 34 lines
drivers/staging/r8188eu/hal/rtl8188e_hal_init.c +30 -0
@@ -526,6 +526,45 @@ void rtl8188e_ReadEFuse(struct adapter *Adapter, u16 _size_byte, u8 *pbuf)
  	Hal_EfuseReadEFuse88E(Adapter, 0, _size_byte, pbuf);
  }
 
+static void dump_chip_info(struct HAL_VERSION chip_vers)
+{
+	uint cnt = 0;
+	char buf[128];
+
+	cnt += sprintf((buf + cnt), "Chip Version Info: CHIP_8188E_");
+	cnt += sprintf((buf + cnt), "%s_", IS_NORMAL_CHIP(chip_vers) ?
+		       "Normal_Chip" : "Test_Chip");
+	cnt += sprintf((buf + cnt), "%s_", IS_CHIP_VENDOR_TSMC(chip_vers) ?
+		       "TSMC" : "UMC");
+
+	switch (chip_vers.CUTVersion) {
+	case A_CUT_VERSION:
+		cnt += sprintf((buf + cnt), "A_CUT_");
+		break;
+	case B_CUT_VERSION:
+		cnt += sprintf((buf + cnt), "B_CUT_");
+		break;
+	case C_CUT_VERSION:
+		cnt += sprintf((buf + cnt), "C_CUT_");
+		break;
+	case D_CUT_VERSION:
+		cnt += sprintf((buf + cnt), "D_CUT_");
+		break;
+	case E_CUT_VERSION:
+		cnt += sprintf((buf + cnt), "E_CUT_");
+		break;
+	default:
+		cnt += sprintf((buf + cnt), "UNKNOWN_CUT(%d)_", chip_vers.CUTVersion);
+		break;
Quoted 8 lines

drivers/staging/r8188eu/hal/rtl8188e_hal_init.c void rtl8188e_ReadEFuse(struct adapter *Adapter, u16 _size_byte, u8 *pbuf) · line 566

Quoted 8 lines
drivers/staging/r8188eu/hal/rtl8188e_hal_init.c +8 -0
+	}
+
+	cnt += sprintf((buf + cnt), "1T1R_");
+
+	cnt += sprintf((buf + cnt), "RomVer(%d)\n", 0);
+
+	pr_info("%s", buf);
+}

Probably better and likely smaller without the temporary buffer and the possibility of overrun.

Something like:

{
	char cut[25];
	char *v = NULL;

	switch (chip_vers.CUTVersion) {
	case A_CUT_VERSION:
		v = "A_CUT";
		break;
	case B_CUT_VERSION:
		v = "B_CUT";
		break;
	case C_CUT_VERSION:
		v = "C_CUT";
		break;
	case D_CUT_VERSION:
		v = "D_CUT";
		break;
	case E_CUT_VERSION:
		v = "E_CUT";
		break;
	default:
		snprintf(cut, sizeof(cut), "UNKNOWN_CUT(%d)", chip_vers.CUTVersion);
		v = cut;
		break;
	}
	
	pr_info("Chip Version Info: CHIP_8188E_%s__Chip_%s_%s_1T1R_RomVer(%d)\n",
		IS_NORMAL_CHIP(chip_vers) ? "Normal" : "Test",
		IS_CHIP_VENDOR_TSMC(chip_vers) ? "TSMC" : "UMC",
		v, 0);
}
maintainer
#3 lore raw
In reply to Michael Straube
Quoted 103 lines · Michael Straube

The function dump_chip_info() is only used in rtl8188e_hal_init.c. Make it static to reduce the driver object file size by 281 bytes.

before:
text data bss dec hex filename
530606 43897 7072 581575 8dfc7 drivers/staging/r8188eu/r8188eu.o

after:
text data bss dec hex filename
530405 43817 7072 581294 8deae drivers/staging/r8188eu/r8188eu.o

---
 drivers/staging/r8188eu/hal/hal_com.c         | 39 -------------------
 .../staging/r8188eu/hal/rtl8188e_hal_init.c   | 39 +++++++++++++++++++
 drivers/staging/r8188eu/include/hal_com.h     |  3 --
 3 files changed, 39 insertions(+), 42 deletions(-)
drivers/staging/r8188eu/hal/hal_com.c +0 -39
index e9a32dd84a8e..6a1cdc67335b 100644
@@ -10,45 +10,6 @@
 
 #define _HAL_INIT_C_
 
-void dump_chip_info(struct HAL_VERSION	chip_vers)
-{
-	uint cnt = 0;
-	char buf[128];
-
-	cnt += sprintf((buf + cnt), "Chip Version Info: CHIP_8188E_");
-	cnt += sprintf((buf + cnt), "%s_", IS_NORMAL_CHIP(chip_vers) ?
-		       "Normal_Chip" : "Test_Chip");
-	cnt += sprintf((buf + cnt), "%s_", IS_CHIP_VENDOR_TSMC(chip_vers) ?
-		       "TSMC" : "UMC");
-
-	switch (chip_vers.CUTVersion) {
-	case A_CUT_VERSION:
-		cnt += sprintf((buf + cnt), "A_CUT_");
-		break;
-	case B_CUT_VERSION:
-		cnt += sprintf((buf + cnt), "B_CUT_");
-		break;
-	case C_CUT_VERSION:
-		cnt += sprintf((buf + cnt), "C_CUT_");
-		break;
-	case D_CUT_VERSION:
-		cnt += sprintf((buf + cnt), "D_CUT_");
-		break;
-	case E_CUT_VERSION:
-		cnt += sprintf((buf + cnt), "E_CUT_");
-		break;
-	default:
-		cnt += sprintf((buf + cnt), "UNKNOWN_CUT(%d)_", chip_vers.CUTVersion);
-		break;
-	}
-
-	cnt += sprintf((buf + cnt), "1T1R_");
-
-	cnt += sprintf((buf + cnt), "RomVer(%d)\n", 0);
-
-	pr_info("%s", buf);
-}
-
 #define	CHAN_PLAN_HW	0x80
 
 u8 /* return the final channel plan decision */
drivers/staging/r8188eu/hal/rtl8188e_hal_init.c +27 -0
index fe477438899e..5b8f1a912bbb 100644
@@ -526,6 +526,45 @@ void rtl8188e_ReadEFuse(struct adapter *Adapter, u16 _size_byte, u8 *pbuf)
 	Hal_EfuseReadEFuse88E(Adapter, 0, _size_byte, pbuf);
 }
 
+static void dump_chip_info(struct HAL_VERSION chip_vers)
+{
+	uint cnt = 0;
+	char buf[128];
+
+	cnt += sprintf((buf + cnt), "Chip Version Info: CHIP_8188E_");
+	cnt += sprintf((buf + cnt), "%s_", IS_NORMAL_CHIP(chip_vers) ?
+		       "Normal_Chip" : "Test_Chip");
+	cnt += sprintf((buf + cnt), "%s_", IS_CHIP_VENDOR_TSMC(chip_vers) ?
+		       "TSMC" : "UMC");
+
+	switch (chip_vers.CUTVersion) {
+	case A_CUT_VERSION:
+		cnt += sprintf((buf + cnt), "A_CUT_");
+		break;
+	case B_CUT_VERSION:
+		cnt += sprintf((buf + cnt), "B_CUT_");
+		break;
+	case C_CUT_VERSION:
+		cnt += sprintf((buf + cnt), "C_CUT_");
+		break;
+	case D_CUT_VERSION:
+		cnt += sprintf((buf + cnt), "D_CUT_");
+		break;
+	case E_CUT_VERSION:
+		cnt += sprintf((buf + cnt), "E_CUT_");
+		break;

drivers/staging/r8188eu/hal/rtl8188e_hal_init.c void rtl8188e_ReadEFuse(struct adapter *Adapter, u16 _size_byte, u8 *pbuf) · line 565

Quoted 10 lines
drivers/staging/r8188eu/hal/rtl8188e_hal_init.c +10 -0
+	default:
+		cnt += sprintf((buf + cnt), "UNKNOWN_CUT(%d)_", chip_vers.CUTVersion);
+		break;
+	}
+
+	cnt += sprintf((buf + cnt), "1T1R_");
+
+	cnt += sprintf((buf + cnt), "RomVer(%d)\n", 0);
+
+	pr_info("%s", buf);

Nit, none of this should be sent to the kernel log if all is good. When drivers are working properly, they are quiet. This is spamming the kernel log for when things are working properly, which just slows booting down.

Also no driver should be calling pr_*() calls when they have a real device at hand.

So this should be moved to be a dev_dbg() so that developers can still enable it when they want to see this information, but it doesn't spam the log for normal users. But that's all for a future change, this one is fine as-is, I'll take it now, thanks.

greg k-h