Set wifi country code from kernel command line

Introduce two kernel cmdline args bcmdhd.wl_country_para
and bcmdhd.wl_country_rev.
Default value are 'US' and 140.

Bug: 70135717, Bug: 69175538
Test: connect to wifi network using 5500MHz band

Change-Id: I430b5ea7d401882ab8c97983df9e22665369a5c5
Signed-off-by:Tian Yang <yang.tian@nxp.com>
diff --git a/drivers/net/wireless/bcmdhd/dhd_linux.c b/drivers/net/wireless/bcmdhd/dhd_linux.c
index 9855280..652765c 100644
--- a/drivers/net/wireless/bcmdhd/dhd_linux.c
+++ b/drivers/net/wireless/bcmdhd/dhd_linux.c
@@ -10540,6 +10540,17 @@ dhd_enable_adps(dhd_pub_t *dhd, uint8 on)
 }
 #endif /* WLADPS || WLADPS_PRIVATE_CMD */
 
+	/* Usage: passing 'bcmdhd.wl_country_para=$CUSTOMIZED_COUNTRY bcmdhd.wl_country_rev=$CUSTOMIZED_REV'
+	 * from kernel command line */
+	static char wl_country_para[WLC_CNTRY_BUF_SZ] = {'U', 'S'};
+	static int  wl_country_rev = 140;
+
+	module_param_string(wl_country_para, wl_country_para, sizeof(wl_country_para), 0644);
+	MODULE_PARM_DESC(wl_country_para,"String of country_para:VALUE for country code.");
+
+	module_param(wl_country_rev, int, 0644);
+	MODULE_PARM_DESC(wl_country_rev,"String of country_para:VALUE for country code rev.");
+
 int
 dhd_preinit_ioctls(dhd_pub_t *dhd)
 {
@@ -10985,6 +10996,9 @@ dhd_preinit_ioctls(dhd_pub_t *dhd)
 		dhd->info->rxthread_enabled = TRUE;
 #endif
 	/* Set Country code  */
+	strcpy(dhd->conf->cspec.ccode, wl_country_para);
+	dhd->conf->cspec.rev = wl_country_rev;
+
 	if (dhd->dhd_cspec.ccode[0] != 0) {
 		printf("Set country %s, revision %d\n", dhd->dhd_cspec.ccode, dhd->dhd_cspec.rev);
 		ret = dhd_iovar(dhd, 0, "country", (char *)&dhd->dhd_cspec, sizeof(wl_country_t),