Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1700791

[PATCH V3 2/8] drivers: boot_constraint: Add boot_constraints_disable kernel parameter

Path csiph.com!aioe.org!bofh.it!news.nic.it!robomod
From Viresh Kumar <viresh.kumar@linaro.org>
Newsgroups linux.kernel
Subject [PATCH V3 2/8] drivers: boot_constraint: Add boot_constraints_disable kernel parameter
Date Tue, 01 Aug 2017 11:40:02 +0200
Message-ID <u9BOG-1MA-9@gated-at.bofh.it> (permalink)
References <u9BEZ-1GX-3@gated-at.bofh.it>
X-Original-To Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Jonathan Corbet <corbet@lwn.net>
Dkim-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :in-reply-to:references; bh=aH8FdonCLl0m8Z3J7tViAvmmWIkQ8wHx84A/SUHjLg8=; b=XoWlccBufOT5MRayOPCO5bsLalMaVjorNtK88xC4l8vAMHcpGUUgB8xE05ZX9EU6NP esq9SmD/AFq7+lgncMcgswdkCfFgO+61IJKR2xyLNixJmD66yFr+oZSEUUeKhAJTOc5Q 3eVlpkKuRhm7RFWLPPGoqQTxqfYKBpXnh5gA8=
X-Google-Dkim-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:in-reply-to:references; bh=aH8FdonCLl0m8Z3J7tViAvmmWIkQ8wHx84A/SUHjLg8=; b=fmKnIEEluiFlgc3wTfyojoQpb8+ZYjx/rQUDWNcFoJUcfserofRN8fCm6sApB8p6BS vcEQXlQYm+myvWGQ6qw2XskyKLMFWyYzHBI1nvtsanB+Y5Xjb1+K08LrnG5OPUlino/C iLN7l8OPyUegfxGI2eocodKi0DPk/GR/5ikBpUBnTWCKirCFdYvhD2V6ll5J25V+hAj8 2nUjbCn6TyxwmbtUw28du5PtRE7gYiI5GWSPHFddZMeA18eSdvOLvVxFiXFbVmfCPm+a wyBsNf8/vpjogetS8LNjCzdg6YEZuFXV8FRFkLLUGy8tjuAXOnvKEP/0R9LJRnTf2oV4 Gu6Q==
X-Gm-Message-State AIVw111879eamNguDRRle3Isbvord++5E7gTXdKVhM7BLnh7Snt6V56g 7EJYhvICSdWetVRv
X-Received by 10.98.215.21 with SMTP id b21mr3205762pfh.120.1501579733947; Tue, 01 Aug 2017 02:28:53 -0700 (PDT)
X-Mailer git-send-email 2.13.0.71.gd7076ec9c9cb
Sender robomod@news.nic.it
List-ID <linux-kernel.vger.kernel.org>
X-Mailing-List linux-kernel@vger.kernel.org
Approved robomod@news.nic.it
Lines 74
Organization linux.* mail to news gateway
X-Original-Cc Viresh Kumar <viresh.kumar@linaro.org>, Vincent Guittot <vincent.guittot@linaro.org>, Mark Brown <broonie@kernel.org>, Stephen Boyd <sboyd@codeaurora.org>, Rajendra Nayak <rnayak@codeaurora.org>, Shiraz Hashim <shashim@codeaurora.org>, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, robdclark@gmail.com, linux-doc@vger.kernel.org
X-Original-Date Tue, 1 Aug 2017 14:53:43 +0530
X-Original-Message-ID <4bec0c3e58f76e06e5305c5ddbab859e2a87935e.1501578037.git.viresh.kumar@linaro.org>
X-Original-References <cover.1501578037.git.viresh.kumar@linaro.org>
X-Original-Sender linux-kernel-owner@vger.kernel.org
Xref csiph.com linux.kernel:1700791

Show key headers only | View raw


Users must be given an option to discard any constraints set by
bootloaders. For example, consider that a constraint is set for the LCD
controller's supply and the LCD driver isn't loaded by the kernel. If
the user doesn't need to use the LCD device, then he shouldn't be forced
to honour the constraint.

We can also think about finer control of such constraints with help of
some sysfs files, but a kernel parameter is fine to begin with.

Tested-by: Rajendra Nayak <rnayak@codeaurora.org>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 Documentation/admin-guide/kernel-parameters.txt |  3 +++
 drivers/base/boot_constraints/core.c            | 17 +++++++++++++++++
 2 files changed, 20 insertions(+)

diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
index d9c171ce4190..0706d1b6004d 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -426,6 +426,9 @@
 			embedded devices based on command line input.
 			See Documentation/block/cmdline-partition.txt
 
+	boot_constraints_disable
+			Do not set any boot constraints for devices.
+
 	boot_delay=	Milliseconds to delay each printk during boot.
 			Values larger than 10 seconds (10000) are changed to
 			no delay (0).
diff --git a/drivers/base/boot_constraints/core.c b/drivers/base/boot_constraints/core.c
index 366a05d6d9ba..e0c33b2b216f 100644
--- a/drivers/base/boot_constraints/core.c
+++ b/drivers/base/boot_constraints/core.c
@@ -24,6 +24,17 @@
 static LIST_HEAD(constraint_devices);
 static DEFINE_MUTEX(constraint_devices_mutex);
 
+static bool boot_constraints_disabled;
+
+static int __init constraints_disable(char *str)
+{
+	boot_constraints_disabled = true;
+	pr_debug("disabled\n");
+
+	return 0;
+}
+early_param("boot_constraints_disable", constraints_disable);
+
 /* Boot constraints core */
 
 static struct constraint_dev *constraint_device_find(struct device *dev)
@@ -126,6 +137,9 @@ int dev_boot_constraint_add(struct device *dev,
 	struct constraint *constraint;
 	int ret;
 
+	if (boot_constraints_disabled)
+		return -ENODEV;
+
 	mutex_lock(&constraint_devices_mutex);
 
 	/* Find or add the cdev type first */
@@ -184,6 +198,9 @@ void dev_boot_constraints_remove(struct device *dev)
 	struct constraint_dev *cdev;
 	struct constraint *constraint, *temp;
 
+	if (boot_constraints_disabled)
+		return;
+
 	mutex_lock(&constraint_devices_mutex);
 
 	cdev = constraint_device_find(dev);
-- 
2.13.0.71.gd7076ec9c9cb

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH V3 0/8] drivers: Boot Constraints core Viresh Kumar <viresh.kumar@linaro.org> - 2017-08-01 11:30 +0200
  [PATCH V3 2/8] drivers: boot_constraint: Add boot_constraints_disable kernel parameter Viresh Kumar <viresh.kumar@linaro.org> - 2017-08-01 11:40 +0200
  [PATCH V3 4/8] drivers: boot_constraint: Add support for clk constraints Viresh Kumar <viresh.kumar@linaro.org> - 2017-08-01 11:40 +0200

csiph-web