From nobody Wed Apr 1 09:43:49 2026 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.15]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7B68C4657C6 for ; Tue, 31 Mar 2026 21:46:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.15 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774993574; cv=none; b=k2U8e7mu0/d0RLF3uVSYQjQgnPwNQyiF18kD4Z45B9M+dlMHdEa7P6MBCWbjphoSu+sijDcpJukwxothkqb86JmKcDsagF1my9XFuC9hIOkVZWoWExbgNLHlBSD3yf1iP7DhLfP0esOR3SBS9WyLdPnvhRTO5P5S7YATfwtg+Iw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774993574; c=relaxed/simple; bh=16wmPREBQ84nmeeJc2vWUBbbYJnZeU+0lHRvac1Sjw8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=QM0xtiiKd/l/1Up+c0kp8SBRXF4NPdGGhLLnAPnGZHEj9aSKYJprLGweceEPSE/OHawF/h2RHu3jCjAybwzdQY6NDg/Kc8fhBdPJrG1b5UGzjaG+IukIxgtAudvck9PI+sSo86hVSCf73HCbPXwcbWzPya7BoENZRSDCmmpRliQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=Z3PS4M6G; arc=none smtp.client-ip=198.175.65.15 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="Z3PS4M6G" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1774993574; x=1806529574; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=16wmPREBQ84nmeeJc2vWUBbbYJnZeU+0lHRvac1Sjw8=; b=Z3PS4M6GtElIsOCg6eAgAT82Kfa8kS12zcSn+aZkrHAj/R9OzkA/7guu ukvkOhwDVIf2AmTHKu73aAwZ7iQ/fhHn0Ok3MlOkklv6b91d/wPitDgXK TheAxnllZaTjcp1qqhd0SP3RVETlaxaXbGQ5b+oF/pe75nOEiTRKBg07k 4kMX4PJfu43DA8Eh8dnLJGwU5cfihv7JAoN7k/gjgPvuPath58AQQ6fpG DQ1OdEDlIkXlsAOdNJXpIcB4lzRaKUK3fH0yJCWkGN3ZCW9CF9vWBGBJ6 r/wXBgXUffPBC5WtSvW53cS92qIsjHxOUxjdP/ekyrKE4346Zq3fFAW6+ w==; X-CSE-ConnectionGUID: 18CUsKk9TeedHUNYeII6Bg== X-CSE-MsgGUID: p4AeG12YTWG0uvEq29LH1g== X-IronPort-AV: E=McAfee;i="6800,10657,11745"; a="79627251" X-IronPort-AV: E=Sophos;i="6.23,152,1770624000"; d="scan'208";a="79627251" Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by orvoesa107.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 31 Mar 2026 14:46:11 -0700 X-CSE-ConnectionGUID: EsOMvd2XR5SAXJ2h4rcmNA== X-CSE-MsgGUID: IMxz5XZ5QU2dBmtOKPTULg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.23,152,1770624000"; d="scan'208";a="249701133" Received: from dwillia2-desk.jf.intel.com ([10.88.27.145]) by fmviesa001.fm.intel.com with ESMTP; 31 Mar 2026 14:46:10 -0700 From: Dan Williams To: mcgrof@kernel.org, russ.weight@linux.dev, dakr@kernel.org Cc: linux-kernel@vger.kernel.org, Chao Gao , Greg Kroah-Hartman , "Rafael J. Wysocki" Subject: [PATCH 3/3] treewide: firmware_loader: Drop the unused @module argument Date: Tue, 31 Mar 2026 14:47:26 -0700 Message-ID: <20260331214726.903274-4-dan.j.williams@intel.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260331214726.903274-1-dan.j.williams@intel.com> References: <20260331214726.903274-1-dan.j.williams@intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Now that the firmware loader properly ceases all operations at firmware_upload_unregister() and no longer takes module references, clean up the unused parameter. Cc: Chao Gao Cc: Luis Chamberlain Cc: Russ Weight Cc: Danilo Krummrich Cc: Greg Kroah-Hartman Cc: "Rafael J. Wysocki" Signed-off-by: Dan Williams --- Documentation/driver-api/firmware/fw_upload.rst | 2 +- include/linux/firmware.h | 15 +++++++-------- drivers/base/firmware_loader/sysfs_upload.c | 9 ++++----- drivers/cxl/core/memdev.c | 4 ++-- drivers/firmware/microchip/mpfs-auto-update.c | 2 +- drivers/fpga/intel-m10-bmc-sec-update.c | 4 ++-- drivers/greybus/gb-beagleplay.c | 2 +- drivers/media/i2c/thp7312.c | 2 +- drivers/net/pse-pd/pd692x0.c | 4 ++-- lib/test_firmware.c | 3 +-- 10 files changed, 22 insertions(+), 25 deletions(-) diff --git a/Documentation/driver-api/firmware/fw_upload.rst b/Documentatio= n/driver-api/firmware/fw_upload.rst index edf1d0c5e7c3..702b1ed77551 100644 --- a/Documentation/driver-api/firmware/fw_upload.rst +++ b/Documentation/driver-api/firmware/fw_upload.rst @@ -57,7 +57,7 @@ function calls firmware_upload_unregister() such as:: len =3D (truncate) ? truncate - fw_name : strlen(fw_name); sec->fw_name =3D kmemdup_nul(fw_name, len, GFP_KERNEL); =20 - fwl =3D firmware_upload_register(THIS_MODULE, sec->dev, sec->fw_name, + fwl =3D firmware_upload_register(sec->dev, sec->fw_name, &m10bmc_ops, sec); if (IS_ERR(fwl)) { dev_err(sec->dev, "Firmware Upload driver failed to start\n"); diff --git a/include/linux/firmware.h b/include/linux/firmware.h index aae1b85ffc10..1cda26ef2d8d 100644 --- a/include/linux/firmware.h +++ b/include/linux/firmware.h @@ -187,20 +187,19 @@ static inline int request_partial_firmware_into_buf =20 #ifdef CONFIG_FW_UPLOAD =20 -struct fw_upload * -firmware_upload_register(struct module *module, struct device *parent, - const char *name, const struct fw_upload_ops *ops, - void *dd_handle); +struct fw_upload *firmware_upload_register(struct device *parent, + const char *name, + const struct fw_upload_ops *ops, + void *dd_handle); void firmware_upload_unregister(struct fw_upload *fw_upload); =20 #else =20 static inline struct fw_upload * -firmware_upload_register(struct module *module, struct device *parent, - const char *name, const struct fw_upload_ops *ops, - void *dd_handle) +firmware_upload_register(struct device *parent, const char *name, + const struct fw_upload_ops *ops, void *dd_handle) { - return ERR_PTR(-EINVAL); + return ERR_PTR(-EINVAL); } =20 static inline void firmware_upload_unregister(struct fw_upload *fw_upload) diff --git a/drivers/base/firmware_loader/sysfs_upload.c b/drivers/base/fir= mware_loader/sysfs_upload.c index 23f6cdaf29c5..e0cf4c55b520 100644 --- a/drivers/base/firmware_loader/sysfs_upload.c +++ b/drivers/base/firmware_loader/sysfs_upload.c @@ -274,7 +274,6 @@ void fw_upload_free(struct fw_sysfs *fw_sysfs) =20 /** * firmware_upload_register() - register for the firmware upload sysfs API - * @module: kernel module of this device * @parent: parent device instantiating firmware upload * @name: firmware name to be associated with this device * @ops: pointer to structure of firmware upload ops @@ -286,10 +285,10 @@ void fw_upload_free(struct fw_sysfs *fw_sysfs) * Return: struct fw_upload pointer or ERR_PTR() * **/ -struct fw_upload * -firmware_upload_register(struct module *module, struct device *parent, - const char *name, const struct fw_upload_ops *ops, - void *dd_handle) +struct fw_upload *firmware_upload_register(struct device *parent, + const char *name, + const struct fw_upload_ops *ops, + void *dd_handle) { u32 opt_flags =3D FW_OPT_NOCACHE; struct fw_upload *fw_upload; diff --git a/drivers/cxl/core/memdev.c b/drivers/cxl/core/memdev.c index 273c22118d3d..79c2ca393cbc 100644 --- a/drivers/cxl/core/memdev.c +++ b/drivers/cxl/core/memdev.c @@ -1045,8 +1045,8 @@ int devm_cxl_setup_fw_upload(struct device *host, str= uct cxl_memdev_state *mds) if (!test_bit(CXL_MEM_COMMAND_ID_GET_FW_INFO, cxl_mbox->enabled_cmds)) return 0; =20 - fwl =3D firmware_upload_register(THIS_MODULE, dev, dev_name(dev), - &cxl_memdev_fw_ops, mds); + fwl =3D firmware_upload_register(dev, dev_name(dev), &cxl_memdev_fw_ops, + mds); if (IS_ERR(fwl)) return PTR_ERR(fwl); return devm_add_action_or_reset(host, cxl_remove_fw_upload, fwl); diff --git a/drivers/firmware/microchip/mpfs-auto-update.c b/drivers/firmwa= re/microchip/mpfs-auto-update.c index 46b19d803446..9b25787467f0 100644 --- a/drivers/firmware/microchip/mpfs-auto-update.c +++ b/drivers/firmware/microchip/mpfs-auto-update.c @@ -435,7 +435,7 @@ static int mpfs_auto_update_probe(struct platform_devic= e *pdev) return dev_err_probe(dev, ret, "The current bitstream does not support auto-update\n"); =20 - fw_uploader =3D firmware_upload_register(THIS_MODULE, dev, "mpfs-auto-upd= ate", + fw_uploader =3D firmware_upload_register(dev, "mpfs-auto-update", &mpfs_auto_update_ops, priv); if (IS_ERR(fw_uploader)) return dev_err_probe(dev, PTR_ERR(fw_uploader), diff --git a/drivers/fpga/intel-m10-bmc-sec-update.c b/drivers/fpga/intel-m= 10-bmc-sec-update.c index 10f678b9ed36..1dfa0b7019b0 100644 --- a/drivers/fpga/intel-m10-bmc-sec-update.c +++ b/drivers/fpga/intel-m10-bmc-sec-update.c @@ -713,8 +713,8 @@ static int m10bmc_sec_probe(struct platform_device *pde= v) goto fw_name_fail; } =20 - fwl =3D firmware_upload_register(THIS_MODULE, sec->dev, sec->fw_name, - &m10bmc_ops, sec); + fwl =3D firmware_upload_register(sec->dev, sec->fw_name, &m10bmc_ops, + sec); if (IS_ERR(fwl)) { dev_err(sec->dev, "Firmware Upload driver failed to start\n"); ret =3D PTR_ERR(fwl); diff --git a/drivers/greybus/gb-beagleplay.c b/drivers/greybus/gb-beaglepla= y.c index 87186f891a6a..eceffffea829 100644 --- a/drivers/greybus/gb-beagleplay.c +++ b/drivers/greybus/gb-beagleplay.c @@ -1067,7 +1067,7 @@ static int gb_fw_init(struct gb_beagleplay *bg) return PTR_ERR(desc); bg->rst_gpio =3D desc; =20 - fwl =3D firmware_upload_register(THIS_MODULE, &bg->sd->dev, "cc1352p7", + fwl =3D firmware_upload_register(&bg->sd->dev, "cc1352p7", &cc1352_bootloader_ops, bg); if (IS_ERR(fwl)) return PTR_ERR(fwl); diff --git a/drivers/media/i2c/thp7312.c b/drivers/media/i2c/thp7312.c index 775cfba188d8..ebbe14393c9f 100644 --- a/drivers/media/i2c/thp7312.c +++ b/drivers/media/i2c/thp7312.c @@ -1909,7 +1909,7 @@ static int thp7312_register_flash_mode(struct thp7312= _device *thp7312) goto error; } =20 - fwl =3D firmware_upload_register(THIS_MODULE, dev, "thp7312-firmware", + fwl =3D firmware_upload_register(dev, "thp7312-firmware", &thp7312_fw_upload_ops, thp7312); if (IS_ERR(fwl)) { ret =3D PTR_ERR(fwl); diff --git a/drivers/net/pse-pd/pd692x0.c b/drivers/net/pse-pd/pd692x0.c index 4a3c852780f5..7463f7d81201 100644 --- a/drivers/net/pse-pd/pd692x0.c +++ b/drivers/net/pse-pd/pd692x0.c @@ -1834,8 +1834,8 @@ static int pd692x0_i2c_probe(struct i2c_client *clien= t) return dev_err_probe(dev, ret, "failed to register PSE controller\n"); =20 - fwl =3D firmware_upload_register(THIS_MODULE, dev, dev_name(dev), - &pd692x0_fw_ops, priv); + fwl =3D firmware_upload_register(dev, dev_name(dev), &pd692x0_fw_ops, + priv); if (IS_ERR(fwl)) return dev_err_probe(dev, PTR_ERR(fwl), "failed to register to the Firmware Upload API\n"); diff --git a/lib/test_firmware.c b/lib/test_firmware.c index b471d720879a..cfe5475d9d18 100644 --- a/lib/test_firmware.c +++ b/lib/test_firmware.c @@ -1322,8 +1322,7 @@ static ssize_t upload_register_store(struct device *d= ev, goto free_tst; } =20 - fwl =3D firmware_upload_register(THIS_MODULE, dev, tst->name, - &upload_test_ops, tst); + fwl =3D firmware_upload_register(dev, tst->name, &upload_test_ops, tst); if (IS_ERR(fwl)) { ret =3D PTR_ERR(fwl); goto free_buf; --=20 2.53.0