lkml.org 
[lkml]   [2014]   [Mar]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH 2/2] regulator: core: Add reg_ignore_unused to keep boot time regulators enabled
Date
Keep all regulators already enabled by bootloader on, even if no
driver has claimed them. This is useful for debug and development, but
should not be needed on a platform with proper driver support.

Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
CC: Mark Brown <broonie@kernel.org>
---
Documentation/kernel-parameters.txt | 8 ++++++++
drivers/regulator/core.c | 13 +++++++++++++
2 files changed, 21 insertions(+)

diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index 96bb532..20448e0 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -92,6 +92,7 @@ parameter is applicable:
PPT Parallel port support is enabled.
PS2 Appropriate PS/2 support is enabled.
RAM RAM disk support is enabled.
+ REG Regulator support is enabled.
S390 S390 architecture is enabled.
SCSI Appropriate SCSI support is enabled.
A lot of drivers have their options described inside
@@ -2886,6 +2887,13 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
reboot_cpu is s[mp]#### with #### being the processor
to be used for rebooting.

+ reg_ignore_unused
+ [REG]
+ Keep all regulators already enabled by bootloader on,
+ even if no driver has claimed them. This is useful
+ for debug and development, but should not be
+ needed on a platform with proper driver support.
+
relax_domain_level=
[KNL, SMP] Set scheduler's default relax_domain_level.
See Documentation/cgroups/cpusets.txt.
diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
index 9a09f3c..6e8305a 100644
--- a/drivers/regulator/core.c
+++ b/drivers/regulator/core.c
@@ -3800,6 +3800,14 @@ static int __init regulator_init(void)
/* init early to allow our consumers to complete system booting */
core_initcall(regulator_init);

+static bool reg_ignore_unused;
+static int __init reg_ignore_unused_setup(char *__unused)
+{
+ reg_ignore_unused = true;
+ return 1;
+}
+__setup("reg_ignore_unused", reg_ignore_unused_setup);
+
static int __init regulator_init_complete(void)
{
struct regulator_dev *rdev;
@@ -3807,6 +3815,11 @@ static int __init regulator_init_complete(void)
struct regulation_constraints *c;
int enabled, ret;

+ if (reg_ignore_unused) {
+ pr_warn("reg: Not disabling unused regulators\n");
+ return 0;
+ }
+
/*
* Since DT doesn't provide an idiomatic mechanism for
* enabling full constraints and since it's much more natural
--
1.7.9.5


\
 
 \ /
  Last update: 2014-03-28 07:22    [W:0.043 / U:0.124 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site