Linux Framebuffer Layer development
 help / color / mirror / Atom feed
* [staging] staging: sm750fb: fix remaining CamelCase issues
@ 2026-06-21  4:53 Arnav Kapoor
  2026-06-24  1:51 ` kernel test robot
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Arnav Kapoor @ 2026-06-21  4:53 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Sudip Mukherjee, Teddy Wang
  Cc: linux-staging, linux-fbdev, linux-kernel, Arnav Kapoor

Rename the remaining CamelCase variables and constants to follow
kernel coding style:
- powerMode → power_mode
- setAllEngOff → set_all_eng_off
- resetMemory → reset_memory
- sm750_doubleTFT → SM750_DOUBLE_TFT
- sm750_dualTFT → SM750_DUAL_TFT

Signed-off-by: Arnav Kapoor <kapoorarnav43@gmail.com>
---
 drivers/staging/sm750fb/sm750.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/staging/sm750fb/sm750.c b/drivers/staging/sm750fb/sm750.c
index 125ad1062..f034d3278 100644
--- a/drivers/staging/sm750fb/sm750.c
+++ b/drivers/staging/sm750fb/sm750.c
@@ -859,9 +859,9 @@ static void sm750fb_setup(struct sm750_dev *sm750_dev, char *src)
 	sm750_dev->init_parm.chip_clk = 0;
 	sm750_dev->init_parm.mem_clk = 0;
 	sm750_dev->init_parm.master_clk = 0;
-	sm750_dev->init_parm.powerMode = 0;
-	sm750_dev->init_parm.setAllEngOff = 0;
-	sm750_dev->init_parm.resetMemory = 1;
+	sm750_dev->init_parm.power_mode = 0;
+	sm750_dev->init_parm.set_all_eng_off = 0;
+	sm750_dev->init_parm.reset_memory = 1;
 
 	/* defaultly turn g_hwcursor on for both view */
 	g_hwcursor = 3;
@@ -880,9 +880,9 @@ static void sm750fb_setup(struct sm750_dev *sm750_dev, char *src)
 		} else if (!strncmp(opt, "nocrt", strlen("nocrt"))) {
 			sm750_dev->nocrt = 1;
 		} else if (!strncmp(opt, "36bit", strlen("36bit"))) {
-			sm750_dev->pnltype = sm750_doubleTFT;
+			sm750_dev->pnltype = SM750_DOUBLE_TFT;
 		} else if (!strncmp(opt, "18bit", strlen("18bit"))) {
-			sm750_dev->pnltype = sm750_dualTFT;
+			sm750_dev->pnltype = SM750_DUAL_TFT;
 		} else if (!strncmp(opt, "24bit", strlen("24bit"))) {
 			sm750_dev->pnltype = sm750_24TFT;
 		} else if (!strncmp(opt, "nohwc0", strlen("nohwc0"))) {
-- 
2.53.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [staging] staging: sm750fb: fix remaining CamelCase issues
  2026-06-21  4:53 [staging] staging: sm750fb: fix remaining CamelCase issues Arnav Kapoor
@ 2026-06-24  1:51 ` kernel test robot
  2026-06-24  3:26 ` kernel test robot
  2026-06-24  4:25 ` [PATCH v2] " Arnav Kapoor
  2 siblings, 0 replies; 4+ messages in thread
From: kernel test robot @ 2026-06-24  1:51 UTC (permalink / raw)
  To: Arnav Kapoor, Greg Kroah-Hartman, Sudip Mukherjee, Teddy Wang
  Cc: llvm, oe-kbuild-all, linux-staging, linux-fbdev, linux-kernel,
	Arnav Kapoor

Hi Arnav,

kernel test robot noticed the following build errors:

[auto build test ERROR on staging/staging-linus]
[also build test ERROR on v7.1]
[cannot apply to staging/staging-testing staging/staging-next linus/master next-20260623]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Arnav-Kapoor/staging-sm750fb-fix-remaining-CamelCase-issues/20260622-235207
base:   staging/staging-linus
patch link:    https://lore.kernel.org/r/20260621045340.65872-1-kapoorarnav43%40gmail.com
patch subject: [staging] staging: sm750fb: fix remaining CamelCase issues
config: sparc64-allmodconfig (https://download.01.org/0day-ci/archive/20260624/202606240916.wIIrdOzC-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260624/202606240916.wIIrdOzC-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202606240916.wIIrdOzC-lkp@intel.com/

All errors (new ones prefixed by >>):

>> drivers/staging/sm750fb/sm750.c:862:23: error: no member named 'power_mode' in 'struct init_status'; did you mean 'powerMode'?
     862 |         sm750_dev->init_parm.power_mode = 0;
         |                              ^~~~~~~~~~
         |                              powerMode
   drivers/staging/sm750fb/sm750.h:42:9: note: 'powerMode' declared here
      42 |         ushort powerMode;
         |                ^
>> drivers/staging/sm750fb/sm750.c:863:23: error: no member named 'set_all_eng_off' in 'struct init_status'
     863 |         sm750_dev->init_parm.set_all_eng_off = 0;
         |         ~~~~~~~~~~~~~~~~~~~~ ^
>> drivers/staging/sm750fb/sm750.c:864:23: error: no member named 'reset_memory' in 'struct init_status'; did you mean 'resetMemory'?
     864 |         sm750_dev->init_parm.reset_memory = 1;
         |                              ^~~~~~~~~~~~
         |                              resetMemory
   drivers/staging/sm750fb/sm750.h:48:9: note: 'resetMemory' declared here
      48 |         ushort resetMemory;
         |                ^
>> drivers/staging/sm750fb/sm750.c:883:25: error: use of undeclared identifier 'SM750_DOUBLE_TFT'
     883 |                         sm750_dev->pnltype = SM750_DOUBLE_TFT;
         |                                              ^
>> drivers/staging/sm750fb/sm750.c:885:25: error: use of undeclared identifier 'SM750_DUAL_TFT'
     885 |                         sm750_dev->pnltype = SM750_DUAL_TFT;
         |                                              ^
   5 errors generated.


vim +862 drivers/staging/sm750fb/sm750.c

   850	
   851	/*	chip specific g_option configuration routine */
   852	static void sm750fb_setup(struct sm750_dev *sm750_dev, char *src)
   853	{
   854		char *opt;
   855		int swap;
   856	
   857		swap = 0;
   858	
   859		sm750_dev->init_parm.chip_clk = 0;
   860		sm750_dev->init_parm.mem_clk = 0;
   861		sm750_dev->init_parm.master_clk = 0;
 > 862		sm750_dev->init_parm.power_mode = 0;
 > 863		sm750_dev->init_parm.set_all_eng_off = 0;
 > 864		sm750_dev->init_parm.reset_memory = 1;
   865	
   866		/* defaultly turn g_hwcursor on for both view */
   867		g_hwcursor = 3;
   868	
   869		if (!src || !*src) {
   870			dev_warn(&sm750_dev->pdev->dev, "no specific g_option.\n");
   871			goto NO_PARAM;
   872		}
   873	
   874		while ((opt = strsep(&src, ":")) != NULL && *opt != 0) {
   875			dev_info(&sm750_dev->pdev->dev, "opt=%s\n", opt);
   876			dev_info(&sm750_dev->pdev->dev, "src=%s\n", src);
   877	
   878			if (!strncmp(opt, "swap", strlen("swap"))) {
   879				swap = 1;
   880			} else if (!strncmp(opt, "nocrt", strlen("nocrt"))) {
   881				sm750_dev->nocrt = 1;
   882			} else if (!strncmp(opt, "36bit", strlen("36bit"))) {
 > 883				sm750_dev->pnltype = SM750_DOUBLE_TFT;
   884			} else if (!strncmp(opt, "18bit", strlen("18bit"))) {
 > 885				sm750_dev->pnltype = SM750_DUAL_TFT;
   886			} else if (!strncmp(opt, "24bit", strlen("24bit"))) {
   887				sm750_dev->pnltype = sm750_24TFT;
   888			} else if (!strncmp(opt, "nohwc0", strlen("nohwc0"))) {
   889				g_hwcursor &= ~0x1;
   890			} else if (!strncmp(opt, "nohwc1", strlen("nohwc1"))) {
   891				g_hwcursor &= ~0x2;
   892			} else if (!strncmp(opt, "nohwc", strlen("nohwc"))) {
   893				g_hwcursor = 0;
   894			} else {
   895				if (!g_fbmode[0]) {
   896					g_fbmode[0] = opt;
   897					dev_info(&sm750_dev->pdev->dev,
   898						 "find fbmode0 : %s\n", g_fbmode[0]);
   899				} else if (!g_fbmode[1]) {
   900					g_fbmode[1] = opt;
   901					dev_info(&sm750_dev->pdev->dev,
   902						 "find fbmode1 : %s\n", g_fbmode[1]);
   903				} else {
   904					dev_warn(&sm750_dev->pdev->dev, "How many view you wann set?\n");
   905				}
   906			}
   907		}
   908	
   909	NO_PARAM:
   910		if (sm750_dev->revid != SM750LE_REVISION_ID) {
   911			if (sm750_dev->fb_count > 1) {
   912				if (swap)
   913					sm750_dev->dataflow = sm750_dual_swap;
   914				else
   915					sm750_dev->dataflow = sm750_dual_normal;
   916			} else {
   917				if (swap)
   918					sm750_dev->dataflow = sm750_simul_sec;
   919				else
   920					sm750_dev->dataflow = sm750_simul_pri;
   921			}
   922		} else {
   923			/* SM750LE only have one crt channel */
   924			sm750_dev->dataflow = sm750_simul_sec;
   925			/* sm750le do not have complex attributes */
   926			sm750_dev->nocrt = 0;
   927		}
   928	}
   929	

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [staging] staging: sm750fb: fix remaining CamelCase issues
  2026-06-21  4:53 [staging] staging: sm750fb: fix remaining CamelCase issues Arnav Kapoor
  2026-06-24  1:51 ` kernel test robot
@ 2026-06-24  3:26 ` kernel test robot
  2026-06-24  4:25 ` [PATCH v2] " Arnav Kapoor
  2 siblings, 0 replies; 4+ messages in thread
From: kernel test robot @ 2026-06-24  3:26 UTC (permalink / raw)
  To: Arnav Kapoor, Greg Kroah-Hartman, Sudip Mukherjee, Teddy Wang
  Cc: oe-kbuild-all, linux-staging, linux-fbdev, linux-kernel,
	Arnav Kapoor

Hi Arnav,

kernel test robot noticed the following build errors:

[auto build test ERROR on staging/staging-linus]
[also build test ERROR on v7.1]
[cannot apply to staging/staging-testing staging/staging-next linus/master next-20260623]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Arnav-Kapoor/staging-sm750fb-fix-remaining-CamelCase-issues/20260622-235207
base:   staging/staging-linus
patch link:    https://lore.kernel.org/r/20260621045340.65872-1-kapoorarnav43%40gmail.com
patch subject: [staging] staging: sm750fb: fix remaining CamelCase issues
config: mips-allyesconfig (https://download.01.org/0day-ci/archive/20260624/202606241142.LlZq0AN1-lkp@intel.com/config)
compiler: mips-linux-gcc (GCC) 16.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260624/202606241142.LlZq0AN1-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202606241142.LlZq0AN1-lkp@intel.com/

All errors (new ones prefixed by >>):

   drivers/staging/sm750fb/sm750.c: In function 'sm750fb_setup':
>> drivers/staging/sm750fb/sm750.c:862:30: error: 'struct init_status' has no member named 'power_mode'; did you mean 'powerMode'?
     862 |         sm750_dev->init_parm.power_mode = 0;
         |                              ^~~~~~~~~~
         |                              powerMode
>> drivers/staging/sm750fb/sm750.c:863:30: error: 'struct init_status' has no member named 'set_all_eng_off'; did you mean 'setAllEngOff'?
     863 |         sm750_dev->init_parm.set_all_eng_off = 0;
         |                              ^~~~~~~~~~~~~~~
         |                              setAllEngOff
>> drivers/staging/sm750fb/sm750.c:864:30: error: 'struct init_status' has no member named 'reset_memory'; did you mean 'resetMemory'?
     864 |         sm750_dev->init_parm.reset_memory = 1;
         |                              ^~~~~~~~~~~~
         |                              resetMemory
>> drivers/staging/sm750fb/sm750.c:883:46: error: 'SM750_DOUBLE_TFT' undeclared (first use in this function); did you mean 'sm750_doubleTFT'?
     883 |                         sm750_dev->pnltype = SM750_DOUBLE_TFT;
         |                                              ^~~~~~~~~~~~~~~~
         |                                              sm750_doubleTFT
   drivers/staging/sm750fb/sm750.c:883:46: note: each undeclared identifier is reported only once for each function it appears in
>> drivers/staging/sm750fb/sm750.c:885:46: error: 'SM750_DUAL_TFT' undeclared (first use in this function); did you mean 'sm750_dualTFT'?
     885 |                         sm750_dev->pnltype = SM750_DUAL_TFT;
         |                                              ^~~~~~~~~~~~~~
         |                                              sm750_dualTFT


vim +862 drivers/staging/sm750fb/sm750.c

   850	
   851	/*	chip specific g_option configuration routine */
   852	static void sm750fb_setup(struct sm750_dev *sm750_dev, char *src)
   853	{
   854		char *opt;
   855		int swap;
   856	
   857		swap = 0;
   858	
   859		sm750_dev->init_parm.chip_clk = 0;
   860		sm750_dev->init_parm.mem_clk = 0;
   861		sm750_dev->init_parm.master_clk = 0;
 > 862		sm750_dev->init_parm.power_mode = 0;
 > 863		sm750_dev->init_parm.set_all_eng_off = 0;
 > 864		sm750_dev->init_parm.reset_memory = 1;
   865	
   866		/* defaultly turn g_hwcursor on for both view */
   867		g_hwcursor = 3;
   868	
   869		if (!src || !*src) {
   870			dev_warn(&sm750_dev->pdev->dev, "no specific g_option.\n");
   871			goto NO_PARAM;
   872		}
   873	
   874		while ((opt = strsep(&src, ":")) != NULL && *opt != 0) {
   875			dev_info(&sm750_dev->pdev->dev, "opt=%s\n", opt);
   876			dev_info(&sm750_dev->pdev->dev, "src=%s\n", src);
   877	
   878			if (!strncmp(opt, "swap", strlen("swap"))) {
   879				swap = 1;
   880			} else if (!strncmp(opt, "nocrt", strlen("nocrt"))) {
   881				sm750_dev->nocrt = 1;
   882			} else if (!strncmp(opt, "36bit", strlen("36bit"))) {
 > 883				sm750_dev->pnltype = SM750_DOUBLE_TFT;
   884			} else if (!strncmp(opt, "18bit", strlen("18bit"))) {
 > 885				sm750_dev->pnltype = SM750_DUAL_TFT;
   886			} else if (!strncmp(opt, "24bit", strlen("24bit"))) {
   887				sm750_dev->pnltype = sm750_24TFT;
   888			} else if (!strncmp(opt, "nohwc0", strlen("nohwc0"))) {
   889				g_hwcursor &= ~0x1;
   890			} else if (!strncmp(opt, "nohwc1", strlen("nohwc1"))) {
   891				g_hwcursor &= ~0x2;
   892			} else if (!strncmp(opt, "nohwc", strlen("nohwc"))) {
   893				g_hwcursor = 0;
   894			} else {
   895				if (!g_fbmode[0]) {
   896					g_fbmode[0] = opt;
   897					dev_info(&sm750_dev->pdev->dev,
   898						 "find fbmode0 : %s\n", g_fbmode[0]);
   899				} else if (!g_fbmode[1]) {
   900					g_fbmode[1] = opt;
   901					dev_info(&sm750_dev->pdev->dev,
   902						 "find fbmode1 : %s\n", g_fbmode[1]);
   903				} else {
   904					dev_warn(&sm750_dev->pdev->dev, "How many view you wann set?\n");
   905				}
   906			}
   907		}
   908	
   909	NO_PARAM:
   910		if (sm750_dev->revid != SM750LE_REVISION_ID) {
   911			if (sm750_dev->fb_count > 1) {
   912				if (swap)
   913					sm750_dev->dataflow = sm750_dual_swap;
   914				else
   915					sm750_dev->dataflow = sm750_dual_normal;
   916			} else {
   917				if (swap)
   918					sm750_dev->dataflow = sm750_simul_sec;
   919				else
   920					sm750_dev->dataflow = sm750_simul_pri;
   921			}
   922		} else {
   923			/* SM750LE only have one crt channel */
   924			sm750_dev->dataflow = sm750_simul_sec;
   925			/* sm750le do not have complex attributes */
   926			sm750_dev->nocrt = 0;
   927		}
   928	}
   929	

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH v2] staging: sm750fb: fix remaining CamelCase issues
  2026-06-21  4:53 [staging] staging: sm750fb: fix remaining CamelCase issues Arnav Kapoor
  2026-06-24  1:51 ` kernel test robot
  2026-06-24  3:26 ` kernel test robot
@ 2026-06-24  4:25 ` Arnav Kapoor
  2 siblings, 0 replies; 4+ messages in thread
From: Arnav Kapoor @ 2026-06-24  4:25 UTC (permalink / raw)
  To: Sudip Mukherjee, Teddy Wang, Greg Kroah-Hartman
  Cc: linux-fbdev, linux-staging, linux-kernel, Arnav Kapoor

Rename the remaining CamelCase variables and constants
to follow kernel coding style.

Rename:

* powerMode -> power_mode
* setAllEngOff -> set_all_eng_off
* resetMemory -> reset_memory
* sm750_doubleTFT -> SM750_DOUBLE_TFT
* sm750_dualTFT -> SM750_DUAL_TFT

Fix build errors by renaming the corresponding
declarations and enum values as well.

Reported-by: kernel test robot [lkp@intel.com](mailto:lkp@intel.com)
Closes: https://lore.kernel.org/oe-kbuild-all/202606240916.wIIrdOzC-lkp@intel.com/
Signed-off-by: Arnav Kapoor <kapoorarnav43@gmail.com>
---
 drivers/staging/sm750fb/sm750.c    | 10 +++++-----
 drivers/staging/sm750fb/sm750.h    | 10 +++++-----
 drivers/staging/sm750fb/sm750_hw.c |  4 ++--
 3 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/drivers/staging/sm750fb/sm750.c b/drivers/staging/sm750fb/sm750.c
index 9f3e3d37e..858eda551 100644
--- a/drivers/staging/sm750fb/sm750.c
+++ b/drivers/staging/sm750fb/sm750.c
@@ -859,9 +859,9 @@ static void sm750fb_setup(struct sm750_dev *sm750_dev, char *src)
 	sm750_dev->init_parm.chip_clk = 0;
 	sm750_dev->init_parm.mem_clk = 0;
 	sm750_dev->init_parm.master_clk = 0;
-	sm750_dev->init_parm.powerMode = 0;
-	sm750_dev->init_parm.setAllEngOff = 0;
-	sm750_dev->init_parm.resetMemory = 1;
+	sm750_dev->init_parm.power_mode = 0;
+	sm750_dev->init_parm.set_all_eng_off = 0;
+	sm750_dev->init_parm.reset_memory = 1;
 
 	/* defaultly turn g_hwcursor on for both view */
 	g_hwcursor = 3;
@@ -880,9 +880,9 @@ static void sm750fb_setup(struct sm750_dev *sm750_dev, char *src)
 		} else if (!strncmp(opt, "nocrt", strlen("nocrt"))) {
 			sm750_dev->nocrt = 1;
 		} else if (!strncmp(opt, "36bit", strlen("36bit"))) {
-			sm750_dev->pnltype = sm750_doubleTFT;
+			sm750_dev->pnltype = SM750_DOUBLE_TFT;
 		} else if (!strncmp(opt, "18bit", strlen("18bit"))) {
-			sm750_dev->pnltype = sm750_dualTFT;
+			sm750_dev->pnltype = SM750_DUAL_TFT;
 		} else if (!strncmp(opt, "24bit", strlen("24bit"))) {
 			sm750_dev->pnltype = sm750_24TFT;
 		} else if (!strncmp(opt, "nohwc0", strlen("nohwc0"))) {
diff --git a/drivers/staging/sm750fb/sm750.h b/drivers/staging/sm750fb/sm750.h
index 67b9bfa23..9da154f1a 100644
--- a/drivers/staging/sm750fb/sm750.h
+++ b/drivers/staging/sm750fb/sm750.h
@@ -14,8 +14,8 @@
 
 enum sm750_pnltype {
 	sm750_24TFT = 0,	/* 24bit tft */
-	sm750_dualTFT = 2,	/* dual 18 bit tft */
-	sm750_doubleTFT = 1,	/* 36 bit double pixel tft */
+	SM750_DUAL_TFT = 2,	/* dual 18 bit tft */
+	SM750_DOUBLE_TFT = 1,	/* 36 bit double pixel tft */
 };
 
 /* vga channel is not concerned  */
@@ -39,13 +39,13 @@ enum sm750_path {
 };
 
 struct init_status {
-	ushort powerMode;
+	ushort power_mode;
 	/* below three clocks are in unit of MHZ*/
 	ushort chip_clk;
 	ushort mem_clk;
 	ushort master_clk;
-	ushort setAllEngOff;
-	ushort resetMemory;
+	ushort set_all_eng_off;
+	ushort reset_memory;
 };
 
 struct lynx_accel {
diff --git a/drivers/staging/sm750fb/sm750_hw.c b/drivers/staging/sm750fb/sm750_hw.c
index a2798d428..59fb3a207 100644
--- a/drivers/staging/sm750fb/sm750_hw.c
+++ b/drivers/staging/sm750fb/sm750_hw.c
@@ -130,10 +130,10 @@ int hw_sm750_inithw(struct sm750_dev *sm750_dev, struct pci_dev *pdev)
 		switch (sm750_dev->pnltype) {
 		case sm750_24TFT:
 			break;
-		case sm750_doubleTFT:
+		case SM750_DOUBLE_TFT:
 			val |= PANEL_DISPLAY_CTRL_DOUBLE_PIXEL;
 			break;
-		case sm750_dualTFT:
+		case SM750_DUAL_TFT:
 			val |= PANEL_DISPLAY_CTRL_DUAL_DISPLAY;
 			break;
 		}
-- 
2.53.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-06-24  4:25 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-21  4:53 [staging] staging: sm750fb: fix remaining CamelCase issues Arnav Kapoor
2026-06-24  1:51 ` kernel test robot
2026-06-24  3:26 ` kernel test robot
2026-06-24  4:25 ` [PATCH v2] " Arnav Kapoor

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox