Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp1906875pxv; Fri, 16 Jul 2021 22:03:00 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxceS6Rf82XQNNq3Linb8K1OmqRnJXm+Cov6Z1wOHkDIXDfHrnJqdAq7GcFA7CP6leH6pcB X-Received: by 2002:a17:907:381:: with SMTP id ss1mr15471990ejb.404.1626498180481; Fri, 16 Jul 2021 22:03:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626498180; cv=none; d=google.com; s=arc-20160816; b=s5BXIxs6P9C8dHTf3mJTr1KnerVF4dp0cTkLsBBGDwpFMboDzapWzdmhCLdAb0tihP /X04LaaSrn2KMEGq5fLMIbhIFxRbq6GoUaVVrp+r5oaQGOM3qOSK/WAcBaIDNWCuaDAA 2P924May6pOrI6rYifYwOI4CXLgESL0Y4vGUddR9wsRPWiJi2QqRYIch+vr6oCS94ApW srYuleV+qlaWh90VZcgcDBW6T1tN+B42PxGrixUuEsPqSDbe325bZejmS5YR72ykU/CK bk2Fg26hgrYgWxpNT21atmME7zoFk/JaRl9iyuMoJmTXMiPRFJ4WR3Z7PuEY6FQb2HR/ 7FQw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=tO7v/jiDZA9pK4soZtcjDfack9qaYbeOrYeQ+83PgxA=; b=RktLpwxRw+EOEz8zfwvy+JBF4qnUGagd0xq80GegmZh8pVXtD60cbLbJOA6PvhIphH R4E5zSQffO1n06yM3LDBE53w/lgcyCoeDjuO2CytGWJo3vMOaEWoVnhcF/u17iX0O4X0 drURd9tW+5kJYNATqcK0DjF11H5kcsMrOGC4Vnr+X7uqZlmXY1AYGdVEH1aGb/pR6QAq LyiBdG7cZYCobA5WpU4joIuaPrWKUqwvQGOTvoPjIo3kPXktffyvmYkKdDAdQwaH7qQa kmaVzBsihRIZbORcX4i7BULmy87UI/7zSdlz+d/rtH8/QQO27ehEUucVtt3QKM/DMtIx jxFQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=oM7cTlTG; 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=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id x3si14855113edq.87.2021.07.16.22.02.37; Fri, 16 Jul 2021 22:03:00 -0700 (PDT) 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=@linaro.org header.s=google header.b=oM7cTlTG; 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=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229778AbhGQFEM (ORCPT + 99 others); Sat, 17 Jul 2021 01:04:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38912 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229379AbhGQFEM (ORCPT ); Sat, 17 Jul 2021 01:04:12 -0400 Received: from mail-oi1-x231.google.com (mail-oi1-x231.google.com [IPv6:2607:f8b0:4864:20::231]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5C6AAC061760 for ; Fri, 16 Jul 2021 22:01:15 -0700 (PDT) Received: by mail-oi1-x231.google.com with SMTP id w188so13527418oif.10 for ; Fri, 16 Jul 2021 22:01:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=tO7v/jiDZA9pK4soZtcjDfack9qaYbeOrYeQ+83PgxA=; b=oM7cTlTGTfCnTxR3IIxviM8SUDiKRxATrVQXYlVMXangvFPozYcwG8YfkQy2saViPI Si7McqcD/vJkVCcD/PnnsjHSNZTTGsYb31R7/+Rs+J1i847qF99Ku978nol0AwInhmWo xwrYSnywp2OUORrjgxUkaMJ74gL0X0ArkqEA/Cpx3dGNQrN66CFs1/yB7MCiF9CU/cCv njdZJ6EtmJUCrf5fXyOKuGEHs67mhtESvA5//D0wpCEhlIndRyNtGfYjDeA+Q4x8aaMn VWKUcuEyXQcQy9HbI3kjW6lxlTNB1V8Itl/0CQ+nkVV/4OefU07nzBsoGV0qS0f6QDQM NOYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=tO7v/jiDZA9pK4soZtcjDfack9qaYbeOrYeQ+83PgxA=; b=k6nqaXYKsOdSgDbBednCKOL2oSvDDR7XieVu70lKMUicLnMMw3b15d1ZojHg7/RgGb HVCwnb9DVCnQ/UqZk3NBuH2UTCFuQVfjfo0zq9K7ggIUW1KEM5Io1mpRt7xrBYCAdqun VuQMIez4SCr6pP1xm/hVW02z+F7IfADhNVA2HLTeTMUQdDqkPH5oIdhEgn1CIeC6XPNT useJJTTAhSj85n+aP+335bNtkCETbAaZhGH2hD9ITEfXfIf+lU9evREEhWdG8LwlFufp hrppiNvSuqDTYHaQS76ZlI6E8TF8cZsPmZndbmNN0Zc9TVJiteQLisDhJ2sDwTihpCMR XnIQ== X-Gm-Message-State: AOAM5310EFK54foJ57YswxDdYsa2gkfKhwddhWwqTRTPtpN81hKQWu4L 4T9e+siV6OXkGFE+Q8MR0/upSw== X-Received: by 2002:a05:6808:14c8:: with SMTP id f8mr10427694oiw.7.1626498074588; Fri, 16 Jul 2021 22:01:14 -0700 (PDT) Received: from yoga (104-57-184-186.lightspeed.austtx.sbcglobal.net. [104.57.184.186]) by smtp.gmail.com with ESMTPSA id s16sm2404675otg.51.2021.07.16.22.01.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 16 Jul 2021 22:01:14 -0700 (PDT) Date: Sat, 17 Jul 2021 00:01:11 -0500 From: Bjorn Andersson To: John Stultz Cc: lkml , Catalin Marinas , Will Deacon , Andy Gross , Joerg Roedel , Thomas Gleixner , Marc Zyngier , Linus Walleij , Vinod Koul , Kalle Valo , Maulik Shah , Saravana Kannan , Todd Kjos , Greg Kroah-Hartman , linux-arm-msm@vger.kernel.org, iommu@lists.linux-foundation.org, linux-gpio@vger.kernel.org Subject: Re: [PATCH] firmware: QCOM_SCM: Allow qcom_scm driver to be loadable as a permenent module Message-ID: References: <20210707045320.529186-1-john.stultz@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20210707045320.529186-1-john.stultz@linaro.org> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue 06 Jul 23:53 CDT 2021, John Stultz wrote: > Allow the qcom_scm driver to be loadable as a permenent module. > > This still uses the "depends on QCOM_SCM || !QCOM_SCM" bit to > ensure that drivers that call into the qcom_scm driver are > also built as modules. While not ideal in some cases its the > only safe way I can find to avoid build errors without having > those drivers select QCOM_SCM and have to force it on (as > QCOM_SCM=n can be valid for those drivers). > > Reviving this now that Saravana's fw_devlink defaults to on, > which should avoid loading troubles seen before. > Are you (in this last paragraph) saying that all those who have been burnt by fw_devlink during the last months and therefor run with it disabled will have a less fun experience once this is merged? (I'm picking this up, but I don't fancy the idea that some people are turning the boot process into a lottery) Regards, Bjorn > Cc: Catalin Marinas > Cc: Will Deacon > Cc: Andy Gross > Cc: Bjorn Andersson > Cc: Joerg Roedel > Cc: Thomas Gleixner > Cc: Marc Zyngier > Cc: Linus Walleij > Cc: Vinod Koul > Cc: Kalle Valo > Cc: Maulik Shah > Cc: Saravana Kannan > Cc: Todd Kjos > Cc: Greg Kroah-Hartman > Cc: linux-arm-msm@vger.kernel.org > Cc: iommu@lists.linux-foundation.org > Cc: linux-gpio@vger.kernel.org > Acked-by: Kalle Valo > Acked-by: Greg Kroah-Hartman > Acked-by: Will Deacon > Reviewed-by: Bjorn Andersson > Signed-off-by: John Stultz > --- > v3: > * Fix __arm_smccc_smc build issue reported by > kernel test robot > v4: > * Add "depends on QCOM_SCM || !QCOM_SCM" bit to ath10k > config that requires it. > v5: > * Fix QCOM_QCM typo in Kconfig, it should be QCOM_SCM > --- > drivers/firmware/Kconfig | 2 +- > drivers/firmware/Makefile | 3 ++- > drivers/firmware/qcom_scm.c | 4 ++++ > drivers/iommu/Kconfig | 2 ++ > drivers/net/wireless/ath/ath10k/Kconfig | 1 + > 5 files changed, 10 insertions(+), 2 deletions(-) > > diff --git a/drivers/firmware/Kconfig b/drivers/firmware/Kconfig > index db0ea2d2d75a..af53778edc7e 100644 > --- a/drivers/firmware/Kconfig > +++ b/drivers/firmware/Kconfig > @@ -235,7 +235,7 @@ config INTEL_STRATIX10_RSU > Say Y here if you want Intel RSU support. > > config QCOM_SCM > - bool > + tristate "Qcom SCM driver" > depends on ARM || ARM64 > depends on HAVE_ARM_SMCCC > select RESET_CONTROLLER > diff --git a/drivers/firmware/Makefile b/drivers/firmware/Makefile > index 5e013b6a3692..523173cbff33 100644 > --- a/drivers/firmware/Makefile > +++ b/drivers/firmware/Makefile > @@ -17,7 +17,8 @@ obj-$(CONFIG_ISCSI_IBFT) += iscsi_ibft.o > obj-$(CONFIG_FIRMWARE_MEMMAP) += memmap.o > obj-$(CONFIG_RASPBERRYPI_FIRMWARE) += raspberrypi.o > obj-$(CONFIG_FW_CFG_SYSFS) += qemu_fw_cfg.o > -obj-$(CONFIG_QCOM_SCM) += qcom_scm.o qcom_scm-smc.o qcom_scm-legacy.o > +obj-$(CONFIG_QCOM_SCM) += qcom-scm.o > +qcom-scm-objs += qcom_scm.o qcom_scm-smc.o qcom_scm-legacy.o > obj-$(CONFIG_TI_SCI_PROTOCOL) += ti_sci.o > obj-$(CONFIG_TRUSTED_FOUNDATIONS) += trusted_foundations.o > obj-$(CONFIG_TURRIS_MOX_RWTM) += turris-mox-rwtm.o > diff --git a/drivers/firmware/qcom_scm.c b/drivers/firmware/qcom_scm.c > index ee9cb545e73b..bb9ce3f92931 100644 > --- a/drivers/firmware/qcom_scm.c > +++ b/drivers/firmware/qcom_scm.c > @@ -1296,6 +1296,7 @@ static const struct of_device_id qcom_scm_dt_match[] = { > { .compatible = "qcom,scm" }, > {} > }; > +MODULE_DEVICE_TABLE(of, qcom_scm_dt_match); > > static struct platform_driver qcom_scm_driver = { > .driver = { > @@ -1312,3 +1313,6 @@ static int __init qcom_scm_init(void) > return platform_driver_register(&qcom_scm_driver); > } > subsys_initcall(qcom_scm_init); > + > +MODULE_DESCRIPTION("Qualcomm Technologies, Inc. SCM driver"); > +MODULE_LICENSE("GPL v2"); > diff --git a/drivers/iommu/Kconfig b/drivers/iommu/Kconfig > index 07b7c25cbed8..f61516c17589 100644 > --- a/drivers/iommu/Kconfig > +++ b/drivers/iommu/Kconfig > @@ -253,6 +253,7 @@ config SPAPR_TCE_IOMMU > config ARM_SMMU > tristate "ARM Ltd. System MMU (SMMU) Support" > depends on ARM64 || ARM || (COMPILE_TEST && !GENERIC_ATOMIC64) > + depends on QCOM_SCM || !QCOM_SCM #if QCOM_SCM=m this can't be =y > select IOMMU_API > select IOMMU_IO_PGTABLE_LPAE > select ARM_DMA_USE_IOMMU if ARM > @@ -382,6 +383,7 @@ config QCOM_IOMMU > # Note: iommu drivers cannot (yet?) be built as modules > bool "Qualcomm IOMMU Support" > depends on ARCH_QCOM || (COMPILE_TEST && !GENERIC_ATOMIC64) > + depends on QCOM_SCM=y > select IOMMU_API > select IOMMU_IO_PGTABLE_LPAE > select ARM_DMA_USE_IOMMU > diff --git a/drivers/net/wireless/ath/ath10k/Kconfig b/drivers/net/wireless/ath/ath10k/Kconfig > index 40f91bc8514d..741289e385d5 100644 > --- a/drivers/net/wireless/ath/ath10k/Kconfig > +++ b/drivers/net/wireless/ath/ath10k/Kconfig > @@ -44,6 +44,7 @@ config ATH10K_SNOC > tristate "Qualcomm ath10k SNOC support" > depends on ATH10K > depends on ARCH_QCOM || COMPILE_TEST > + depends on QCOM_SCM || !QCOM_SCM #if QCOM_SCM=m this can't be =y > select QCOM_QMI_HELPERS > help > This module adds support for integrated WCN3990 chip connected > -- > 2.25.1 >