public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 0/2] dm: mmc: dwmmc: fix the minor things
@ 2016-06-28  6:52 Jaehoon Chung
  2016-06-28  6:52 ` [U-Boot] [PATCH 1/2] dm: mmc: dwmmc: fix the wrong explanation for clock values Jaehoon Chung
  2016-06-28  6:52 ` [U-Boot] [PATCH 2/2] dm: mmc: dwmmc: use the callback functions as static Jaehoon Chung
  0 siblings, 2 replies; 9+ messages in thread
From: Jaehoon Chung @ 2016-06-28  6:52 UTC (permalink / raw)
  To: u-boot

It's working on converting from legacy to DM.
It's also in progessing. There are some minor wrongs.
These patches are fixed wrong explanations and removing unnecessary defined.

These patchese are based on u-boot-dm. (blk-working branch)

Jaehoon Chung (2):
  dm: mmc: dwmmc: fix the wrong explanation for clock values
  dm: mmc: dwmmc: use the callback functions as static

 drivers/mmc/dw_mmc.c |  4 ++--
 include/dwmmc.h      | 11 ++++-------
 2 files changed, 6 insertions(+), 9 deletions(-)

-- 
1.9.1

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

* [U-Boot] [PATCH 1/2] dm: mmc: dwmmc: fix the wrong explanation for clock values
  2016-06-28  6:52 [U-Boot] [PATCH 0/2] dm: mmc: dwmmc: fix the minor things Jaehoon Chung
@ 2016-06-28  6:52 ` Jaehoon Chung
  2016-06-29  3:28   ` Simon Glass
  2016-06-28  6:52 ` [U-Boot] [PATCH 2/2] dm: mmc: dwmmc: use the callback functions as static Jaehoon Chung
  1 sibling, 1 reply; 9+ messages in thread
From: Jaehoon Chung @ 2016-06-28  6:52 UTC (permalink / raw)
  To: u-boot

This e,g is wrong. Maximum/minimum e.g values are swapped each other.

Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
---
 include/dwmmc.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/include/dwmmc.h b/include/dwmmc.h
index 6aebe96..164d1dc 100644
--- a/include/dwmmc.h
+++ b/include/dwmmc.h
@@ -256,8 +256,8 @@ static inline u8 dwmci_readb(struct dwmci_host *host, int reg)
  * @name:	Device name (normally dev->name)
  * @buswidth:	Bus width (in bits, such as 4 or 8)
  * @caps:	Host capabilities (MMC_MODE_...)
- * @max_clk:	Maximum supported clock speed in HZ (e.g. 400000)
- * @min_clk:	Minimum supported clock speed in HZ (e.g. 150000000)
+ * @max_clk:	Maximum supported clock speed in HZ (e.g. 150000000)
+ * @min_clk:	Minimum supported clock speed in HZ (e.g. 400000)
  */
 void dwmci_setup_cfg(struct mmc_config *cfg, const char *name, int buswidth,
 		     uint caps, u32 max_clk, u32 min_clk);
@@ -286,8 +286,8 @@ int dwmci_bind(struct udevice *dev, struct mmc *mmc, struct mmc_config *cfg);
  * This is used when you are not using CONFIG_BLK. Convert your driver over!
  *
  * @host:	DWMMC host structure
- * @max_clk:	Maximum supported clock speed in HZ (e.g. 400000)
- * @min_clk:	Minimum supported clock speed in HZ (e.g. 150000000)
+ * @max_clk:	Maximum supported clock speed in HZ (e.g. 150000000)
+ * @min_clk:	Minimum supported clock speed in HZ (e.g. 400000)
  * @return 0 if OK, -ve on error
  */
 int add_dwmci(struct dwmci_host *host, u32 max_clk, u32 min_clk);
-- 
1.9.1

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

* [U-Boot] [PATCH 2/2] dm: mmc: dwmmc: use the callback functions as static
  2016-06-28  6:52 [U-Boot] [PATCH 0/2] dm: mmc: dwmmc: fix the minor things Jaehoon Chung
  2016-06-28  6:52 ` [U-Boot] [PATCH 1/2] dm: mmc: dwmmc: fix the wrong explanation for clock values Jaehoon Chung
@ 2016-06-28  6:52 ` Jaehoon Chung
  2016-06-29  3:28   ` Simon Glass
  1 sibling, 1 reply; 9+ messages in thread
From: Jaehoon Chung @ 2016-06-28  6:52 UTC (permalink / raw)
  To: u-boot

There are no places to call these functions.
It should be used the callback function.
Then it can be used as static functions.

Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
---
 drivers/mmc/dw_mmc.c | 4 ++--
 include/dwmmc.h      | 3 ---
 2 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/mmc/dw_mmc.c b/drivers/mmc/dw_mmc.c
index 3411f95..f83a6bc 100644
--- a/drivers/mmc/dw_mmc.c
+++ b/drivers/mmc/dw_mmc.c
@@ -182,7 +182,7 @@ static int dwmci_set_transfer_mode(struct dwmci_host *host,
 }
 
 #ifdef CONFIG_DM_MMC_OPS
-int dwmci_send_cmd(struct udevice *dev, struct mmc_cmd *cmd,
+static int dwmci_send_cmd(struct udevice *dev, struct mmc_cmd *cmd,
 		   struct mmc_data *data)
 {
 	struct mmc *mmc = mmc_get_mmc_dev(dev);
@@ -381,7 +381,7 @@ static int dwmci_setup_bus(struct dwmci_host *host, u32 freq)
 }
 
 #ifdef CONFIG_DM_MMC_OPS
-int dwmci_set_ios(struct udevice *dev)
+static int dwmci_set_ios(struct udevice *dev)
 {
 	struct mmc *mmc = mmc_get_mmc_dev(dev);
 #else
diff --git a/include/dwmmc.h b/include/dwmmc.h
index 164d1dc..d18ec84 100644
--- a/include/dwmmc.h
+++ b/include/dwmmc.h
@@ -295,9 +295,6 @@ int add_dwmci(struct dwmci_host *host, u32 max_clk, u32 min_clk);
 
 #ifdef CONFIG_DM_MMC_OPS
 /* Export the operations to drivers */
-int dwmci_send_cmd(struct udevice *dev, struct mmc_cmd *cmd,
-		   struct mmc_data *data);
-int dwmci_set_ios(struct udevice *dev);
 int dwmci_probe(struct udevice *dev);
 extern const struct dm_mmc_ops dm_dwmci_ops;
 #endif
-- 
1.9.1

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

* [U-Boot] [PATCH 1/2] dm: mmc: dwmmc: fix the wrong explanation for clock values
  2016-06-28  6:52 ` [U-Boot] [PATCH 1/2] dm: mmc: dwmmc: fix the wrong explanation for clock values Jaehoon Chung
@ 2016-06-29  3:28   ` Simon Glass
  0 siblings, 0 replies; 9+ messages in thread
From: Simon Glass @ 2016-06-29  3:28 UTC (permalink / raw)
  To: u-boot

On 27 June 2016 at 23:52, Jaehoon Chung <jh80.chung@samsung.com> wrote:
> This e,g is wrong. Maximum/minimum e.g values are swapped each other.
>
> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
> ---
>  include/dwmmc.h | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)

Reviewed-by: Simon Glass <sjg@chromium.org>

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

* [U-Boot] [PATCH 2/2] dm: mmc: dwmmc: use the callback functions as static
  2016-06-28  6:52 ` [U-Boot] [PATCH 2/2] dm: mmc: dwmmc: use the callback functions as static Jaehoon Chung
@ 2016-06-29  3:28   ` Simon Glass
  2016-06-29  3:47     ` Jaehoon Chung
  0 siblings, 1 reply; 9+ messages in thread
From: Simon Glass @ 2016-06-29  3:28 UTC (permalink / raw)
  To: u-boot

Hi Jaehoon,

On 27 June 2016 at 23:52, Jaehoon Chung <jh80.chung@samsung.com> wrote:
> There are no places to call these functions.
> It should be used the callback function.
> Then it can be used as static functions.
>
> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
> ---
>  drivers/mmc/dw_mmc.c | 4 ++--
>  include/dwmmc.h      | 3 ---
>  2 files changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/mmc/dw_mmc.c b/drivers/mmc/dw_mmc.c
> index 3411f95..f83a6bc 100644
> --- a/drivers/mmc/dw_mmc.c
> +++ b/drivers/mmc/dw_mmc.c
> @@ -182,7 +182,7 @@ static int dwmci_set_transfer_mode(struct dwmci_host *host,
>  }
>
>  #ifdef CONFIG_DM_MMC_OPS
> -int dwmci_send_cmd(struct udevice *dev, struct mmc_cmd *cmd,

From what I can see this is already static. Which commit are you basing off?

> +static int dwmci_send_cmd(struct udevice *dev, struct mmc_cmd *cmd,
>                    struct mmc_data *data)
>  {
>         struct mmc *mmc = mmc_get_mmc_dev(dev);
> @@ -381,7 +381,7 @@ static int dwmci_setup_bus(struct dwmci_host *host, u32 freq)
>  }
>
>  #ifdef CONFIG_DM_MMC_OPS
> -int dwmci_set_ios(struct udevice *dev)
> +static int dwmci_set_ios(struct udevice *dev)
>  {
>         struct mmc *mmc = mmc_get_mmc_dev(dev);
>  #else
> diff --git a/include/dwmmc.h b/include/dwmmc.h
> index 164d1dc..d18ec84 100644
> --- a/include/dwmmc.h
> +++ b/include/dwmmc.h
> @@ -295,9 +295,6 @@ int add_dwmci(struct dwmci_host *host, u32 max_clk, u32 min_clk);
>
>  #ifdef CONFIG_DM_MMC_OPS
>  /* Export the operations to drivers */
> -int dwmci_send_cmd(struct udevice *dev, struct mmc_cmd *cmd,
> -                  struct mmc_data *data);
> -int dwmci_set_ios(struct udevice *dev);
>  int dwmci_probe(struct udevice *dev);
>  extern const struct dm_mmc_ops dm_dwmci_ops;
>  #endif
> --
> 1.9.1
>

Regards,
Simon

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

* [U-Boot] [PATCH 2/2] dm: mmc: dwmmc: use the callback functions as static
  2016-06-29  3:28   ` Simon Glass
@ 2016-06-29  3:47     ` Jaehoon Chung
  2016-06-30 19:53       ` Simon Glass
  0 siblings, 1 reply; 9+ messages in thread
From: Jaehoon Chung @ 2016-06-29  3:47 UTC (permalink / raw)
  To: u-boot

Hi Simon,

On 06/29/2016 12:28 PM, Simon Glass wrote:
> Hi Jaehoon,
> 
> On 27 June 2016 at 23:52, Jaehoon Chung <jh80.chung@samsung.com> wrote:
>> There are no places to call these functions.
>> It should be used the callback function.
>> Then it can be used as static functions.
>>
>> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
>> ---
>>  drivers/mmc/dw_mmc.c | 4 ++--
>>  include/dwmmc.h      | 3 ---
>>  2 files changed, 2 insertions(+), 5 deletions(-)
>>
>> diff --git a/drivers/mmc/dw_mmc.c b/drivers/mmc/dw_mmc.c
>> index 3411f95..f83a6bc 100644
>> --- a/drivers/mmc/dw_mmc.c
>> +++ b/drivers/mmc/dw_mmc.c
>> @@ -182,7 +182,7 @@ static int dwmci_set_transfer_mode(struct dwmci_host *host,
>>  }
>>
>>  #ifdef CONFIG_DM_MMC_OPS
>> -int dwmci_send_cmd(struct udevice *dev, struct mmc_cmd *cmd,
> 
>>From what I can see this is already static. Which commit are you basing off?

I'm checking with your 'blk-working' branch. I'm not sure what's correct.

commit dee390a1250c17a4e71e359d6e461319a7cdea54
Author: Simon Glass <sjg@chromium.org>
Date:   Sat Jun 11 19:01:49 2016 -0600

    dm: blk: Enable CONFIG_BLK if DM_MMC is enabled

If i need to work with other branch, let me know,plz.
I have tested the DM with dw_mmc_exynos.c. (It's working fine.)

I will send the patch-set for exynos dwmmc and sdhci controller.
So i need to know which repository and branch are correct. :)

Then it's helpful to me for working dm. I think that i can help you for checking on mmc side with DM.

Best Regards,
Jaehoon Chung

> 
>> +static int dwmci_send_cmd(struct udevice *dev, struct mmc_cmd *cmd,
>>                    struct mmc_data *data)
>>  {
>>         struct mmc *mmc = mmc_get_mmc_dev(dev);
>> @@ -381,7 +381,7 @@ static int dwmci_setup_bus(struct dwmci_host *host, u32 freq)
>>  }
>>
>>  #ifdef CONFIG_DM_MMC_OPS
>> -int dwmci_set_ios(struct udevice *dev)
>> +static int dwmci_set_ios(struct udevice *dev)
>>  {
>>         struct mmc *mmc = mmc_get_mmc_dev(dev);
>>  #else
>> diff --git a/include/dwmmc.h b/include/dwmmc.h
>> index 164d1dc..d18ec84 100644
>> --- a/include/dwmmc.h
>> +++ b/include/dwmmc.h
>> @@ -295,9 +295,6 @@ int add_dwmci(struct dwmci_host *host, u32 max_clk, u32 min_clk);
>>
>>  #ifdef CONFIG_DM_MMC_OPS
>>  /* Export the operations to drivers */
>> -int dwmci_send_cmd(struct udevice *dev, struct mmc_cmd *cmd,
>> -                  struct mmc_data *data);
>> -int dwmci_set_ios(struct udevice *dev);
>>  int dwmci_probe(struct udevice *dev);
>>  extern const struct dm_mmc_ops dm_dwmci_ops;
>>  #endif
>> --
>> 1.9.1
>>
> 
> Regards,
> Simon
> 
> 
> 

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

* [U-Boot] [PATCH 2/2] dm: mmc: dwmmc: use the callback functions as static
  2016-06-29  3:47     ` Jaehoon Chung
@ 2016-06-30 19:53       ` Simon Glass
  2016-07-07  2:14         ` Minkyu Kang
  0 siblings, 1 reply; 9+ messages in thread
From: Simon Glass @ 2016-06-30 19:53 UTC (permalink / raw)
  To: u-boot

Hi Jaehoon,

On 28 June 2016 at 20:47, Jaehoon Chung <jh80.chung@samsung.com> wrote:
> Hi Simon,
>
> On 06/29/2016 12:28 PM, Simon Glass wrote:
>> Hi Jaehoon,
>>
>> On 27 June 2016 at 23:52, Jaehoon Chung <jh80.chung@samsung.com> wrote:
>>> There are no places to call these functions.
>>> It should be used the callback function.
>>> Then it can be used as static functions.
>>>
>>> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
>>> ---
>>>  drivers/mmc/dw_mmc.c | 4 ++--
>>>  include/dwmmc.h      | 3 ---
>>>  2 files changed, 2 insertions(+), 5 deletions(-)
>>>
>>> diff --git a/drivers/mmc/dw_mmc.c b/drivers/mmc/dw_mmc.c
>>> index 3411f95..f83a6bc 100644
>>> --- a/drivers/mmc/dw_mmc.c
>>> +++ b/drivers/mmc/dw_mmc.c
>>> @@ -182,7 +182,7 @@ static int dwmci_set_transfer_mode(struct dwmci_host *host,
>>>  }
>>>
>>>  #ifdef CONFIG_DM_MMC_OPS
>>> -int dwmci_send_cmd(struct udevice *dev, struct mmc_cmd *cmd,
>>
>>>From what I can see this is already static. Which commit are you basing off?
>
> I'm checking with your 'blk-working' branch. I'm not sure what's correct.
>
> commit dee390a1250c17a4e71e359d6e461319a7cdea54
> Author: Simon Glass <sjg@chromium.org>
> Date:   Sat Jun 11 19:01:49 2016 -0600
>
>     dm: blk: Enable CONFIG_BLK if DM_MMC is enabled
>
> If i need to work with other branch, let me know,plz.
> I have tested the DM with dw_mmc_exynos.c. (It's working fine.)
>
> I will send the patch-set for exynos dwmmc and sdhci controller.
> So i need to know which repository and branch are correct. :)
>
> Then it's helpful to me for working dm. I think that i can help you for checking on mmc side with DM.

OK I see, thanks.

Reviewed-by: Simon Glass <sjg@chromium.org>

[snip

Regards,
Simon

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

* [U-Boot] [PATCH 2/2] dm: mmc: dwmmc: use the callback functions as static
  2016-06-30 19:53       ` Simon Glass
@ 2016-07-07  2:14         ` Minkyu Kang
  2016-07-07 16:11           ` Simon Glass
  0 siblings, 1 reply; 9+ messages in thread
From: Minkyu Kang @ 2016-07-07  2:14 UTC (permalink / raw)
  To: u-boot

Hi,

On 01/07/16 04:53, Simon Glass wrote:
> Hi Jaehoon,
> 
> On 28 June 2016 at 20:47, Jaehoon Chung <jh80.chung@samsung.com> wrote:
>> Hi Simon,
>>
>> On 06/29/2016 12:28 PM, Simon Glass wrote:
>>> Hi Jaehoon,
>>>
>>> On 27 June 2016 at 23:52, Jaehoon Chung <jh80.chung@samsung.com> wrote:
>>>> There are no places to call these functions.
>>>> It should be used the callback function.
>>>> Then it can be used as static functions.
>>>>
>>>> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
>>>> ---
>>>>  drivers/mmc/dw_mmc.c | 4 ++--
>>>>  include/dwmmc.h      | 3 ---
>>>>  2 files changed, 2 insertions(+), 5 deletions(-)
>>>>
>>>> diff --git a/drivers/mmc/dw_mmc.c b/drivers/mmc/dw_mmc.c
>>>> index 3411f95..f83a6bc 100644
>>>> --- a/drivers/mmc/dw_mmc.c
>>>> +++ b/drivers/mmc/dw_mmc.c
>>>> @@ -182,7 +182,7 @@ static int dwmci_set_transfer_mode(struct dwmci_host *host,
>>>>  }
>>>>
>>>>  #ifdef CONFIG_DM_MMC_OPS
>>>> -int dwmci_send_cmd(struct udevice *dev, struct mmc_cmd *cmd,
>>>
>>> >From what I can see this is already static. Which commit are you basing off?
>>
>> I'm checking with your 'blk-working' branch. I'm not sure what's correct.
>>
>> commit dee390a1250c17a4e71e359d6e461319a7cdea54
>> Author: Simon Glass <sjg@chromium.org>
>> Date:   Sat Jun 11 19:01:49 2016 -0600
>>
>>     dm: blk: Enable CONFIG_BLK if DM_MMC is enabled
>>
>> If i need to work with other branch, let me know,plz.
>> I have tested the DM with dw_mmc_exynos.c. (It's working fine.)
>>
>> I will send the patch-set for exynos dwmmc and sdhci controller.
>> So i need to know which repository and branch are correct. :)
>>
>> Then it's helpful to me for working dm. I think that i can help you for checking on mmc side with DM.
> 
> OK I see, thanks.
> 
> Reviewed-by: Simon Glass <sjg@chromium.org>
> 

This patch has been delegated to me, but cannot apply to u-boot-samsung.
should go to dm tree?

Thanks,
Minkyu Kang.

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

* [U-Boot] [PATCH 2/2] dm: mmc: dwmmc: use the callback functions as static
  2016-07-07  2:14         ` Minkyu Kang
@ 2016-07-07 16:11           ` Simon Glass
  0 siblings, 0 replies; 9+ messages in thread
From: Simon Glass @ 2016-07-07 16:11 UTC (permalink / raw)
  To: u-boot

Hi Minkyu,

On 6 July 2016 at 20:14, Minkyu Kang <mk7.kang@samsung.com> wrote:
> Hi,
>
> On 01/07/16 04:53, Simon Glass wrote:
>> Hi Jaehoon,
>>
>> On 28 June 2016 at 20:47, Jaehoon Chung <jh80.chung@samsung.com> wrote:
>>> Hi Simon,
>>>
>>> On 06/29/2016 12:28 PM, Simon Glass wrote:
>>>> Hi Jaehoon,
>>>>
>>>> On 27 June 2016 at 23:52, Jaehoon Chung <jh80.chung@samsung.com> wrote:
>>>>> There are no places to call these functions.
>>>>> It should be used the callback function.
>>>>> Then it can be used as static functions.
>>>>>
>>>>> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
>>>>> ---
>>>>>  drivers/mmc/dw_mmc.c | 4 ++--
>>>>>  include/dwmmc.h      | 3 ---
>>>>>  2 files changed, 2 insertions(+), 5 deletions(-)
>>>>>
>>>>> diff --git a/drivers/mmc/dw_mmc.c b/drivers/mmc/dw_mmc.c
>>>>> index 3411f95..f83a6bc 100644
>>>>> --- a/drivers/mmc/dw_mmc.c
>>>>> +++ b/drivers/mmc/dw_mmc.c
>>>>> @@ -182,7 +182,7 @@ static int dwmci_set_transfer_mode(struct dwmci_host *host,
>>>>>  }
>>>>>
>>>>>  #ifdef CONFIG_DM_MMC_OPS
>>>>> -int dwmci_send_cmd(struct udevice *dev, struct mmc_cmd *cmd,
>>>>
>>>> >From what I can see this is already static. Which commit are you basing off?
>>>
>>> I'm checking with your 'blk-working' branch. I'm not sure what's correct.
>>>
>>> commit dee390a1250c17a4e71e359d6e461319a7cdea54
>>> Author: Simon Glass <sjg@chromium.org>
>>> Date:   Sat Jun 11 19:01:49 2016 -0600
>>>
>>>     dm: blk: Enable CONFIG_BLK if DM_MMC is enabled
>>>
>>> If i need to work with other branch, let me know,plz.
>>> I have tested the DM with dw_mmc_exynos.c. (It's working fine.)
>>>
>>> I will send the patch-set for exynos dwmmc and sdhci controller.
>>> So i need to know which repository and branch are correct. :)
>>>
>>> Then it's helpful to me for working dm. I think that i can help you for checking on mmc side with DM.
>>
>> OK I see, thanks.
>>
>> Reviewed-by: Simon Glass <sjg@chromium.org>
>>
>
> This patch has been delegated to me, but cannot apply to u-boot-samsung.
> should go to dm tree?

Yes, it depends on dm/next. I'll assign those to patches to myself.

Regards,
Simon

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

end of thread, other threads:[~2016-07-07 16:11 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-06-28  6:52 [U-Boot] [PATCH 0/2] dm: mmc: dwmmc: fix the minor things Jaehoon Chung
2016-06-28  6:52 ` [U-Boot] [PATCH 1/2] dm: mmc: dwmmc: fix the wrong explanation for clock values Jaehoon Chung
2016-06-29  3:28   ` Simon Glass
2016-06-28  6:52 ` [U-Boot] [PATCH 2/2] dm: mmc: dwmmc: use the callback functions as static Jaehoon Chung
2016-06-29  3:28   ` Simon Glass
2016-06-29  3:47     ` Jaehoon Chung
2016-06-30 19:53       ` Simon Glass
2016-07-07  2:14         ` Minkyu Kang
2016-07-07 16:11           ` Simon Glass

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