From fa41bb01d277fb93a22e12827b7ec0fc931e953c Mon Sep 17 00:00:00 2001
From: Marc Bonnici <marc.bonnici@arm.com>
Date: Wed, 10 Oct 2018 10:25:17 +0100
Subject: [PATCH] modules: Update docs with 'setup' stage for module
 initialization

Update documentation to include the 'setup' stage for module
initialization.
---
 devlib/module/__init__.py | 3 +++
 doc/modules.rst           | 3 +++
 2 files changed, 6 insertions(+)

diff --git a/devlib/module/__init__.py b/devlib/module/__init__.py
index db7c31f..b4ab0d1 100644
--- a/devlib/module/__init__.py
+++ b/devlib/module/__init__.py
@@ -37,6 +37,9 @@ class Module(object):
     #             serial).
     #  'connected' -- installed when a connection to to the target has been
     #                 established. This is the default.
+    #   'setup' -- installed after initial setup of the device has been performed.
+    #              This allows the module to utilize assets deployed during the
+    #              setup stage for example 'Busybox'.
     stage = 'connected'
 
     @staticmethod
diff --git a/doc/modules.rst b/doc/modules.rst
index 9d6fe28..264edca 100644
--- a/doc/modules.rst
+++ b/doc/modules.rst
@@ -212,6 +212,9 @@ define the following class attributes:
         :early: The module will be installed when a :class:`Target` is first
                 created. This should be used for modules that do not rely on a
                 live connection to the target.
+        :setup: The module will be installed after initial setup of the device
+                has been performed. This allows the module to utilize assets
+                deployed during the setup stage for example 'Busybox'.
 
 Additionally, a module must implement a static (or class) method :func:`probe`: