Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp2452613pxb; Fri, 5 Feb 2021 19:47:13 -0800 (PST) X-Google-Smtp-Source: ABdhPJyD+ur2R045Lf2kUvok5h9csnZwD4g4wi6dyipNfKwN8meNNeXCacEKToWSYwDUB35K9qH1 X-Received: by 2002:a17:906:c78b:: with SMTP id cw11mr7072750ejb.448.1612583233574; Fri, 05 Feb 2021 19:47:13 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1612583233; cv=none; d=google.com; s=arc-20160816; b=YeK8tMN/5KS6I9mAyO6s6d7HPpzyXWkq3vJoV0160oAjzUYmXtI/w8s2Laan+6q98W b0YsqE01wiWEWIhgzuB+zMgqyEWnz6tHpTLzK46xQBcJhJLiZaVlhxF5M6G9MLOsab7o AGkk+xXuMTX3NbWJDmlXEoxL6+U0pu6uR+RuCxN0QhCepH77Yg7dDs4veVWObEvS3bjR FhWkUiq0bOYeouagK/40UePEjycNrlQAH17oAL86a9FWasYj0teYRUhJpoHBcrB9VepK gJaulqvS7rsiMpesQ+AnhTBSjjWmxbYRqsaELGKPMPMsU/B1/UIk0n5e4VbvSuFurzSp cUSw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:from:subject:references:mime-version :message-id:in-reply-to:date:sender:dkim-signature; bh=b4KyYLVrTLECRx+jmWSgUnKVrTsTSqPSowT6HXuVPvs=; b=jIHyZoJW4IcBO3Gq9+0E2JoLW6Pi6WnJC0JxiEqMbDF3K8OYhXPnT5RtiSBChvtRsx bO82gkbrQn4IgZe76S4Cov12y7sZOuuk+veVVIcnZlZx29zWdbv35HqyO4IYXgOyKOlk gur0YfI2Kk5zNlVg4T1OMdAnVOvb83NZQzrTOLDpwJhNEOVjUjzA7sKcrqLPePKskdGt ScFVMipK+J6FZtRL+gRjaQh4fCy0kaMXIzLnQADhP6eDYKCH6HcwXxbBtF9BB8IbtEKO csVrfYb7Stk4CMzUMD71t8kLES7IaL8GfPP6AAN+79GTFUnynPeCRfWHPaqTrQnNtONC SMnA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=OHW6wSTP; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id g17si7549533ejr.321.2021.02.05.19.46.49; Fri, 05 Feb 2021 19:47:13 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=OHW6wSTP; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232245AbhBFDpx (ORCPT + 99 others); Fri, 5 Feb 2021 22:45:53 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41094 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231922AbhBFCsz (ORCPT ); Fri, 5 Feb 2021 21:48:55 -0500 Received: from mail-yb1-xb49.google.com (mail-yb1-xb49.google.com [IPv6:2607:f8b0:4864:20::b49]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 569EEC03C046 for ; Fri, 5 Feb 2021 14:26:57 -0800 (PST) Received: by mail-yb1-xb49.google.com with SMTP id v17so8720853ybq.9 for ; Fri, 05 Feb 2021 14:26:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=sender:date:in-reply-to:message-id:mime-version:references:subject :from:to:cc; bh=b4KyYLVrTLECRx+jmWSgUnKVrTsTSqPSowT6HXuVPvs=; b=OHW6wSTP29Ue99rfiI7cWlnG+iIdDrF/RFLn7uoMGaydP+0SO7iq4Wq4d3/eqO21ya KLmXP2JX5TSvNzDYoK5EV6DL9JdJSYMFn/F1Hp7y6d44BhceOCszy5fv7mkcI/x3YxAh xifCY/lhRuqpYU9xhi89Nys/lnLzdiyzix5IWrtJ/UWGBQrClmZRfFVt91VbD8X7eoQI 2Png0NqhsXQZ7vz6M4N1fZn/vcqGhrLWGbEWE5mv2GRT3g9PI82H9hTXw4D2uizG5j9B ZxcCTRk1HSgG6v0SC8Wo+iqzvg2U5sjEO1EbK7JZfh6t3yDpITS6bKeEhMEzd8jVwfLv 0Egg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:in-reply-to:message-id:mime-version :references:subject:from:to:cc; bh=b4KyYLVrTLECRx+jmWSgUnKVrTsTSqPSowT6HXuVPvs=; b=p16o321JtN5y/JZQBVHsrPn5WNHheBBFhhf4TptD8ebJ0qhzd4kO7J2DxiztrFp623 1DM3ftpzSAWFJjrGwJ3agwRr8JGRPeNLLlG9Uv8lO2FkJ9R2ZD1CYEaPC5otxnMVb0Ia 3Ehl4cRnrnQI1uofO+vjrwLJ9UNe5hvJVEaQfMxEmoQf8XW2qKbh+eNVjDDX5h0avye1 Rx3hd3L1OKNEFFzgqPyKGahQ0HwJ2WqdB6foEcZtMxWUF1YOtrJShRFuUnx4ZvGdsOa1 LSEQYlvK1WdrXrDmUgyKMJ19mL+02REGPmTFQxX2X0EC/AE0uBtvoMXaN0Nft5/FqjUT H+Lw== X-Gm-Message-State: AOAM531NFXvILo2qOZEIe+EfgYXmIjGokjpCKnzxnQrujECYKkNm+pDq XRI11CfLmlM4Ab1IExvpKN11YE+sL9LaprE= Sender: "saravanak via sendgmr" X-Received: from saravanak.san.corp.google.com ([2620:15c:2d:3:6d36:b798:55d7:f5c5]) (user=saravanak job=sendgmr) by 2002:a25:1188:: with SMTP id 130mr9154088ybr.138.1612564016624; Fri, 05 Feb 2021 14:26:56 -0800 (PST) Date: Fri, 5 Feb 2021 14:26:39 -0800 In-Reply-To: <20210205222644.2357303-1-saravanak@google.com> Message-Id: <20210205222644.2357303-4-saravanak@google.com> Mime-Version: 1.0 References: <20210205222644.2357303-1-saravanak@google.com> X-Mailer: git-send-email 2.30.0.478.g8a0d178c01-goog Subject: [PATCH v4 3/8] driver core: Add fw_devlink.strict kernel param From: Saravana Kannan To: Jonathan Corbet , Greg Kroah-Hartman , "Rafael J. Wysocki" , Kevin Hilman , Ulf Hansson , Len Brown , Len Brown , Pavel Machek , Michael Turquette , Stephen Boyd , Rob Herring , Frank Rowand , Marc Zyngier , Thomas Gleixner Cc: Saravana Kannan , linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-acpi@vger.kernel.org, Marek Szyprowski , Geert Uytterhoeven , kernel-team@android.com Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This param allows forcing all dependencies to be treated as mandatory. This will be useful for boards in which all optional dependencies like IOMMUs and DMAs need to be treated as mandatory dependencies. Signed-off-by: Saravana Kannan --- Documentation/admin-guide/kernel-parameters.txt | 5 +++++ drivers/base/core.c | 12 ++++++++++++ include/linux/fwnode.h | 1 + 3 files changed, 18 insertions(+) diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt index a10b545c2070..692b63644133 100644 --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt @@ -1433,6 +1433,11 @@ to enforce probe and suspend/resume ordering. rpm -- Like "on", but also use to order runtime PM. + fw_devlink.strict= + [KNL] Treat all inferred dependencies as mandatory + dependencies. This only applies for fw_devlink=on|rpm. + Format: + gamecon.map[2|3]= [HW,JOY] Multisystem joystick and NES/SNES/PSX pad support via parallel port (up to 5 devices per port) diff --git a/drivers/base/core.c b/drivers/base/core.c index c95b1daabac7..f466ab4f1c35 100644 --- a/drivers/base/core.c +++ b/drivers/base/core.c @@ -1521,6 +1521,13 @@ static int __init fw_devlink_setup(char *arg) } early_param("fw_devlink", fw_devlink_setup); +static bool fw_devlink_strict; +static int __init fw_devlink_strict_setup(char *arg) +{ + return strtobool(arg, &fw_devlink_strict); +} +early_param("fw_devlink.strict", fw_devlink_strict_setup); + u32 fw_devlink_get_flags(void) { return fw_devlink_flags; @@ -1531,6 +1538,11 @@ static bool fw_devlink_is_permissive(void) return fw_devlink_flags == FW_DEVLINK_FLAGS_PERMISSIVE; } +bool fw_devlink_is_strict(void) +{ + return fw_devlink_strict && !fw_devlink_is_permissive(); +} + static void fw_devlink_parse_fwnode(struct fwnode_handle *fwnode) { if (fwnode->flags & FWNODE_FLAG_LINKS_ADDED) diff --git a/include/linux/fwnode.h b/include/linux/fwnode.h index 21082f11473f..d5caefe39d93 100644 --- a/include/linux/fwnode.h +++ b/include/linux/fwnode.h @@ -162,6 +162,7 @@ static inline void fwnode_init(struct fwnode_handle *fwnode, } extern u32 fw_devlink_get_flags(void); +extern bool fw_devlink_is_strict(void); int fwnode_link_add(struct fwnode_handle *con, struct fwnode_handle *sup); void fwnode_links_purge(struct fwnode_handle *fwnode); -- 2.30.0.478.g8a0d178c01-goog