Received: by 2002:a05:7412:8521:b0:e2:908c:2ebd with SMTP id t33csp1169009rdf; Sat, 4 Nov 2023 08:58:31 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGUMRmwW8Gs6UrpE+gG87+YSZl0rvFKZ82Z5ziN8FmawS4dSM8sk+b2faU7n88hTxFYoh61 X-Received: by 2002:a05:6359:720e:b0:168:dc40:4ed2 with SMTP id uu14-20020a056359720e00b00168dc404ed2mr17761094rwb.15.1699113510778; Sat, 04 Nov 2023 08:58:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1699113510; cv=none; d=google.com; s=arc-20160816; b=QgZQMRuf0fOGUGWzGWn/mH4z5ce9RAlFoWEr+l4MqlsUp30ksZF/pFyfgIvek2IuKz 6gmBVKxxAcFWXC9O0utaSngWjbL96KmqJ2Ui+tYNOg+4PBGBVtjHPYDSKb46BYdlngw8 hnfRaujowfdEERONR4ylcLnaMp9AtZAZofBO706peOmPdFKoNoPD1laAcyN7d5aU3aC5 y586YUminFD19oq67f8hU7QPdQeSncuuKHArPpjbGxzgW8JIWV6ZrxgHN3In5/RWqkmk lyMu2iuoUalXQSvMTil1VUMJ08vViN12NCy7MR+6dCAAwLodrRe7ywE7ZVbEGDIwSlm4 RlbQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:ui-outboundreport:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=+AMBqEN0SGKnTxHlrBpsgQzGej8E/IqDrrKWiTLLLcg=; fh=buwpexWLa+2gggLmS1mOcXkxdcj65c6VU7kzSXCjW4U=; b=tWM/DmriCtZggVTS1kzCi38gFcj8Br4wUibZ/FAiXHfiD8a0hwJRxeGshyBKdmKLgN 3KIpw5iFaDHtfBfsxbVJpLsawuR69GmBS9R4wzC/y6RjpLLkR5wEBPoUUwgerextjtp6 1sPP3qtAmJGmUnb44p7av98HsK8Qau26/FjNeLkK4BUhxmrocS+opFZKg1TvQS/kCel9 AHjSMlS00so/xKtIUzHdn0QbYe3RT7+yfyAAPKOgCa7BePbhaubCe/d0JfGdh2R0PnWt EpNuPClD6oLmQ0aLKtfSZ7yXLow21SjkIMC1lW2qYIvZ/WirEKq3uaprwwJUlkD+4OsU 4ocg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmx.de header.s=s31663417 header.b=BdEh+QAh; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gmx.de Return-Path: Received: from agentk.vger.email (agentk.vger.email. [2620:137:e000::3:2]) by mx.google.com with ESMTPS id s66-20020a632c45000000b005b8f401a3a6si3854376pgs.41.2023.11.04.08.58.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 04 Nov 2023 08:58:30 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) client-ip=2620:137:e000::3:2; Authentication-Results: mx.google.com; dkim=pass header.i=@gmx.de header.s=s31663417 header.b=BdEh+QAh; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gmx.de Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id 0A4B1807F171; Sat, 4 Nov 2023 08:57:09 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232384AbjKDP4v (ORCPT + 99 others); Sat, 4 Nov 2023 11:56:51 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51962 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232265AbjKDP4n (ORCPT ); Sat, 4 Nov 2023 11:56:43 -0400 Received: from mout.gmx.net (mout.gmx.net [212.227.15.15]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4E63CD4C; Sat, 4 Nov 2023 08:56:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417; t=1699113372; x=1699718172; i=w_armin@gmx.de; bh=h1b+qI1DwuXjAP0XrrB6EkWVEvalXVcaQqX1+xZYP50=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To: References; b=BdEh+QAhm9CJdLAgX0bNBL1TtKOEOSX7X/KLaNARfjvj6/JQmr2Q2xkP39BN9upX so4xBhrjLzyIY3c2fy9VB8uq0+MhetdDIzubo7TDzzLXdHeMpgwgWLu5LjOv3Yo0Q trhNqV3vLQha7LTmoQhooCv2eiFb08jyYKFxOIH9pQvyOmQd1+8XtSdMXCh8aHsZP inmCXOTx5+gG1QagIRH/Eubap0zNdHiHen4vH1MG4s31siOfMvmHUaXxf0PVWdQ8k A38iqD2JrTVjZcm5+XYEXcrPvMzkygD+G5ZS+SFAfSvW1FjVQb+hjbNc/9pSuOaFb cHzpws0OcCIewf9mCg== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from mx-amd-b650.users.agdsn.de ([141.30.226.129]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MHGCo-1rCUI80wDY-00DIsy; Sat, 04 Nov 2023 16:56:12 +0100 From: Armin Wolf To: pali@kernel.org Cc: hdegoede@redhat.com, markgross@kernel.org, ilpo.jarvinen@linux.intel.com, jdelvare@suse.com, linux@roeck-us.net, platform-driver-x86@vger.kernel.org, linux-hwmon@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 4/9] hwmon: (dell-smm) Move DMI config handling to module init Date: Sat, 4 Nov 2023 16:55:54 +0100 Message-Id: <20231104155559.11842-5-W_Armin@gmx.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20231104155559.11842-1-W_Armin@gmx.de> References: <20231104155559.11842-1-W_Armin@gmx.de> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:bz7/ryikIYg2AiEcGrXV/jQkDU/cC7KLoivKsCXJ6hqnvRV/2w3 0NR3L3BklSJPu/8JVZOshTQqGd+Vza/kzYEfOnkajc9g075SEuI9tE42sEss61cQcHOKHlK cFZ7n4onJYnLiK7alWzeTqd819sTqMsH1u8WxYKnzYDfSSfgthx1tyIEkO9EUNrcdo/bVHJ /JF14U1UjwyVkl7FrZf3Q== UI-OutboundReport: notjunk:1;M01:P0:EsyBWgDtB+c=;RxGT5+Hul98rdC8JxPhAeSvizIJ vznHvf3ZUWj3lDgqOMEyqjCL7Ez1WIKOX+yJdFFdG7GGhEmV+np2WvYrpdtHDHphz1tTLqoyM CbS2pwQld2sC7yUd2hCRFXVH6j68dCLLMpV1rxEmtZ2U0d8y9Nw7ayU4hxNcWaxJgLTNzdOgD U3OHRpAaUGITjZ4iLJEu3NFWVezXqM9oR8khrYOaeTIuN1P8v8/tTzWWyjLB7oZx8pam+5+QZ Ncx6LsPkHAIcSp3DS0Swu6MAvuJs8Eh/Wybs8ShCPGhrZu1VxdNmFUoxWAqxE5DfMIABHPmFc dpQTncbWTwab7NnPTPmZKWR04Nr+eyncEUyUaTh1wKWo5LM8/cUFFBW0WzHm0QuwRxy2xsnYu mFM8WI1klfVNhNCTn9DI/+SR4/4B0FnvW+57ftYByD79Sgh8KJ/5QDYZILwTsiN2yGJEaxse1 Sw2jgtc9sJ/8VKfiwnc3+69Lful/n+6e4cLrt9+Jh4ZXz0e6YEqAT417O3fkJHJDgQ3GiyENV +Jl2rDETIFJVYj+qxSxUFW90q93AzTGTfJ/GQecX1s7ksglHfcxx3oQro9DtLXNjqhMx18xi9 UOt9WYkDfP1WFIyjoS0Kg23bG9xwtU0V7FcPkGBfc3prsDB0SD2YQ0ckUWtA9D35M84mwNtee FqogdWFxPXhkvYJYXFIc/Jjp39wYEQ5jOUFmuz6nOSEFb1/wBLM421nGsc7PbPbEFIX/1CPoc gtGmpEOhpFNyofDkd8gMz+gZjqRKRN3MnAvjTruG6p1bEqR2Tum6aXSl4rDVgZmY9PCh0/LhP fjtqFiRuPNjZI/hr58YMxj+F1wm6niKRJAY9uDZMJCnZpj/pKWtTwMqZ/AToJ5y7LLlo+SGQX 19FHNWNYa8VU8RhXanSuj+3f6D0oUQI5k1HSTHVESHbpmFxZXBSzP9ZHQTTefOZf0qAJ1MUm7 2/mdU6/Q/icqKwaC9yeAwqtI4/4= X-Spam-Status: No, score=-0.6 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on agentk.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (agentk.vger.email [0.0.0.0]); Sat, 04 Nov 2023 08:57:09 -0700 (PDT) Future SMM calling backends will not be able to probe during module init, meaning the DMI tables holding config data would have to drop their __initconst attribute. Prevent this by moving the config handling to module init. Signed-off-by: Armin Wolf =2D-- drivers/hwmon/dell-smm-hwmon.c | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/drivers/hwmon/dell-smm-hwmon.c b/drivers/hwmon/dell-smm-hwmon= .c index 3a792faf2369..3d14a3baf8e4 100644 =2D-- a/drivers/hwmon/dell-smm-hwmon.c +++ b/drivers/hwmon/dell-smm-hwmon.c @@ -1370,7 +1370,6 @@ static const struct dmi_system_id i8k_whitelist_fan_= control[] __initconst =3D { static int __init dell_smm_probe(struct platform_device *pdev) { struct dell_smm_data *data; - const struct dmi_system_id *id; int ret; data =3D devm_kzalloc(&pdev->dev, sizeof(struct dell_smm_data), GFP_KERN= EL); @@ -1386,21 +1385,6 @@ static int __init dell_smm_probe(struct platform_de= vice *pdev) strscpy(data->bios_machineid, i8k_get_dmi_data(DMI_PRODUCT_SERIAL), sizeof(data->bios_machineid)); - /* - * Set fan multiplier and maximal fan speed from dmi config - * Values specified in module parameters override values from dmi - */ - id =3D dmi_first_match(i8k_dmi_table); - if (id && id->driver_data) { - const struct i8k_config_data *conf =3D id->driver_data; - - if (!fan_mult && conf->fan_mult) - fan_mult =3D conf->fan_mult; - - if (!fan_max && conf->fan_max) - fan_max =3D conf->fan_max; - } - /* All options must not be 0 */ data->i8k_fan_mult =3D fan_mult ? : I8K_FAN_MULT; data->i8k_fan_max =3D fan_max ? : I8K_FAN_HIGH; @@ -1429,6 +1413,7 @@ static struct platform_device *dell_smm_device; static void __init dell_smm_init_dmi(void) { struct i8k_fan_control_data *control; + struct i8k_config_data *config; const struct dmi_system_id *id; if (dmi_check_system(i8k_blacklist_fan_support_dmi_table)) { @@ -1449,6 +1434,20 @@ static void __init dell_smm_init_dmi(void) } } + /* + * Set fan multiplier and maximal fan speed from DMI config. + * Values specified in module parameters override values from DMI. + */ + id =3D dmi_first_match(i8k_dmi_table); + if (id && id->driver_data) { + config =3D id->driver_data; + if (!fan_mult && config->fan_mult) + fan_mult =3D config->fan_mult; + + if (!fan_max && config->fan_max) + fan_max =3D config->fan_max; + } + id =3D dmi_first_match(i8k_whitelist_fan_control); if (id && id->driver_data) { control =3D id->driver_data; =2D- 2.39.2