Received: by 2002:a05:7412:8521:b0:e2:908c:2ebd with SMTP id t33csp1942905rdf; Sun, 5 Nov 2023 22:44:49 -0800 (PST) X-Google-Smtp-Source: AGHT+IEERSpeTaUr0FUhnngXtxg4pcUIRdvi3d+vMEjUsxp0lhRCl0FpSbm1P37TCJ5Qvl+GasA+ X-Received: by 2002:a17:903:18a:b0:1cc:76c4:5144 with SMTP id z10-20020a170903018a00b001cc76c45144mr15386435plg.12.1699253089407; Sun, 05 Nov 2023 22:44:49 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699253089; cv=none; d=google.com; s=arc-20160816; b=wD6fEV7U5MCGts3+WU7NVqNmrzJOJkfwjnoV7rPE8MLS7FfArzi6XiMXFESf/nsrBY R6FnkHmbFo2bfhiOnpMpf6DYFQoNgKXJGLIg8JXcutNDBOzWqJpM4e+QyH/G3r55iQoW OPKMaHYxXgcMpUsjy/Eq61moSB2wqGv9cnmnsW6odFRIiD9EnxwzEsq8SKPBTSe9BXA/ movgRsBulQ2LLYhit2iyfOZ9ZElmG9S1babO3F/CWmeCSrNGyRTna7pBqPVEmpkOrn8k EPuQ3/dZkl4+tPtpKb42BX8PbtqoALt/XQeCrHmJUXcL0QQPtgOyCbJf82gVsFJwYjfM gZEQ== 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=pNZnQV+xcHf17nHrfoY0P65+E0izO6TlPoRZ0Y6qgug=; fh=buwpexWLa+2gggLmS1mOcXkxdcj65c6VU7kzSXCjW4U=; b=OVf3kqYXYr2QF+lg/2FlsiQRGjKminp1DkNhkGIJsKm5bp3iDAQmoGYYxoieN3xbpM VQ+/qa0a53N1qSnhxjSnMviQOBfP7IczaLPOf/lCzrx4UVycQySa+1tUf7Jsjg/81UW/ 62ngeIIQ1sWgB4n8bCHHd2x8CVBFGcT/060GsyN6LLfZ0uprMiPa5I/5JWHGMxfCsVJu /PV8cA6kb7YcQEpgRm8bIHSF9Kfuj5J1sWfNmqAZjQb56VTasvsZjtkXgQMWh0lmR95x AWqVlJi1q4o1fZfH+y/okKe8wucJ3AuzPilt36hRjxAtx4L4xU/TmY9h4pM2Er63sMEh NL6Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmx.de header.s=s31663417 header.b=C3QyV9LR; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 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 snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id t10-20020a170902dcca00b001b89551a392si7091387pll.113.2023.11.05.22.44.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 05 Nov 2023 22:44:49 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=pass header.i=@gmx.de header.s=s31663417 header.b=C3QyV9LR; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 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 snail.vger.email (Postfix) with ESMTP id 0227A802DD08; Sun, 5 Nov 2023 22:44:48 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230503AbjKFGom (ORCPT + 99 others); Mon, 6 Nov 2023 01:44:42 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45096 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230488AbjKFGoc (ORCPT ); Mon, 6 Nov 2023 01:44:32 -0500 Received: from mout.gmx.net (mout.gmx.net [212.227.17.22]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2442010B; Sun, 5 Nov 2023 22:44:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417; t=1699253045; x=1699857845; i=w_armin@gmx.de; bh=crjd0fdGfmTMPgr2YiAk3gnA49LR1woP6H9fXrLQ3lk=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To: References; b=C3QyV9LR2+TN+Yh5YS663M0UkJrol0QELhV3KJHqq7++2VR7lCZgdmO9/71vU2Yc 4yiJu/AYX0pap+pQn9MISK1JHGHmeTYVgC+4nn4GlTvFma/sWCxRJ3hw3bO/ZbYpJ pI2iT9a9/NA2qFR4EIdhR8TjKBbPJDncN3GKvj+Y77vg7q9PLa1UnNI8da6TeEh/U xeCbSUV+qpztA+LjCxzNP1x26Wk51dgMsvb+cSDvzTlJRd4E+8tJ1Q+NmWBcRRO58 PYTiwR8lfGjSVxD1hmeFs5/UvD/sloXGjwV5TLsFMyIwbmPX3aXQq6sRp8JxPr8OD eAmxBn68GH5W/u5Z4Q== 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 (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1Mq2jC-1rmkbe3NII-00n6Jj; Mon, 06 Nov 2023 07:44:04 +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 v3 6/9] hwmon: (dell-smm) Introduce helper function for data init Date: Mon, 6 Nov 2023 07:43:48 +0100 Message-Id: <20231106064351.42347-7-W_Armin@gmx.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20231106064351.42347-1-W_Armin@gmx.de> References: <20231106064351.42347-1-W_Armin@gmx.de> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:9mZDn1dlHOY5sSAXE9D5qdhLG4MSZeT3dhclNx/FqQKzIMGq60u EY5y/u6Rp/TWztKcvXw22dX5jPZafysCRR94Ksv5m7vJ257v0x6c18ysO3FBeYf3rVlP/EH nHGkqeqE53swkIRJCcI9/i8Q6b7TNYCMSUYvEJapTi9wm7NMii5lMmj8CDBp3VZMVh0QnZU U+7cOvMXjyRIS3H6rPJrw== UI-OutboundReport: notjunk:1;M01:P0:39oMOm+oYYU=;skS4UWkxI61rJgx8kwLO1RABumR rtq4pCH0UeXl8MwHg9lI3yOCifa/HSBXtmOI4E1fkPf52eQVRIp2HOk7t78F6/p6Aa13w4EUo 3IKWVc3dW5Vo/tV3Pa01UXTZziaev3k7QEJaq+Wq46t9htx+yNcI8B8aZHk1wUyboDv18Y8rZ kbAtXJRsxSE1pbPE0O4S8xvd+Hdi7SInv4JTkcLqu7pN/C92xJ9zpgzmscPPX3oEYz1v4MCyy rrx1IAoGZ54T8+6z+GobueR+wLx9vwdasRsrbtME1JXNE/mep9ZqAvS/e+X3iAEZFSSc6MB0x nOsDDARoxWpUC1VYf6pYvC8yScXYno4CvDv5u9mOCwSwFQopJWJwA0eOknVOjIEiHrstnTcL4 i2kDIXij+gBeYYoQkIaNLOWEabwRxCgaYKmaVBgolwRtVGp5R1G+WDG/4O0k86cTIHIvpado+ knoEBS+30IUo6eYgqD8lc2Zr4iytwUNEcBa8WK5WhZLZcpq33lZGpoiI3m3ygedH1Xq4rVXaU LxVF4aQv7zA59CHOVlQ16gPBm45xZlTQD5erRWOYcV2ylTNLD5RH/G15cDqlzjnGJ6/e0sNyb eI4ye/HTZFXZk3wdde+Kf0EyoDuFlR9/00743qjGXdLTuUrJjwzXOLKYZI2d6gLSnf5r0v8uJ VMwTmGXtli9fHXFno4u+3Njj0UovVBRv7QJBpZoCKvDvPQdCKGovH6m5sfuVynWlInqzm7PyM QqofJPAm+Hl+h5cy28fBAY6ogZYoJHUVeb+6JxxooeQCgHub3CMTk6LO0OfRBWyk09CfNp7hB o5bqcmMlccWU0RpRIFY4uXF1I1Yb5gPyd6bk+alTjZYgKf7uvwadqT3lFYO7npHLDWBHeJW6G q+BkNh5aj/LiLtYhMNo+SaYbTRl1JjyQPgxOpILPbmvSvtoWhtBuNDdhqBweJnWzHdzG3S/t5 BUd1g9j+eJVjLXLFG5c4iwhKGZQ= X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net 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 (snail.vger.email [0.0.0.0]); Sun, 05 Nov 2023 22:44:48 -0800 (PST) In the future, multiple SMM calling backends will exist, with each backend being required to initialize its data. Introduce a helper function for this so the code necessary to initialize dell_smm_data is not duplicated between different backends. Tested-by: Signed-off-by: Armin Wolf =2D-- drivers/hwmon/dell-smm-hwmon.c | 46 +++++++++++++++++++++------------- 1 file changed, 28 insertions(+), 18 deletions(-) diff --git a/drivers/hwmon/dell-smm-hwmon.c b/drivers/hwmon/dell-smm-hwmon= .c index 4a2c0d1ffa5b..2547b09929e6 100644 =2D-- a/drivers/hwmon/dell-smm-hwmon.c +++ b/drivers/hwmon/dell-smm-hwmon.c @@ -623,6 +623,11 @@ static void __init i8k_init_procfs(struct device *dev= ) { struct dell_smm_data *data =3D dev_get_drvdata(dev); + strscpy(data->bios_version, i8k_get_dmi_data(DMI_BIOS_VERSION), + sizeof(data->bios_version)); + strscpy(data->bios_machineid, i8k_get_dmi_data(DMI_PRODUCT_SERIAL), + sizeof(data->bios_machineid)); + /* Only register exit function if creation was successful */ if (proc_create_data("i8k", 0, NULL, &i8k_proc_ops, data)) devm_add_action_or_reset(dev, i8k_exit_procfs, NULL); @@ -1078,6 +1083,26 @@ static int __init dell_smm_init_hwmon(struct device= *dev) return PTR_ERR_OR_ZERO(dell_smm_hwmon_dev); } +static int __init dell_smm_init_data(struct device *dev, const struct del= l_smm_ops *ops) +{ + struct dell_smm_data *data; + + data =3D devm_kzalloc(dev, sizeof(*data), GFP_KERNEL); + if (!data) + return -ENOMEM; + + mutex_init(&data->i8k_mutex); + dev_set_drvdata(dev, data); + + data->ops =3D ops; + /* 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; + data->i8k_pwm_mult =3D DIV_ROUND_UP(255, data->i8k_fan_max); + + return 0; +} + static const struct dmi_system_id i8k_dmi_table[] __initconst =3D { { .ident =3D "Dell G5 5590", @@ -1386,26 +1411,11 @@ static const struct dmi_system_id i8k_whitelist_fa= n_control[] __initconst =3D { static int __init dell_smm_probe(struct platform_device *pdev) { - struct dell_smm_data *data; int ret; - data =3D devm_kzalloc(&pdev->dev, sizeof(struct dell_smm_data), GFP_KERN= EL); - if (!data) - return -ENOMEM; - - mutex_init(&data->i8k_mutex); - platform_set_drvdata(pdev, data); - data->ops =3D &i8k_smm_ops; - - strscpy(data->bios_version, i8k_get_dmi_data(DMI_BIOS_VERSION), - sizeof(data->bios_version)); - strscpy(data->bios_machineid, i8k_get_dmi_data(DMI_PRODUCT_SERIAL), - sizeof(data->bios_machineid)); - - /* 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; - data->i8k_pwm_mult =3D DIV_ROUND_UP(255, data->i8k_fan_max); + ret =3D dell_smm_init_data(&pdev->dev, &i8k_smm_ops); + if (ret < 0) + return ret; ret =3D dell_smm_init_hwmon(&pdev->dev); if (ret) =2D- 2.39.2