From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8895FC10DC3 for ; Mon, 11 Dec 2023 13:56:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344216AbjLKN4L (ORCPT ); Mon, 11 Dec 2023 08:56:11 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59918 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1343875AbjLKNzf (ORCPT ); Mon, 11 Dec 2023 08:55:35 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8D12930D0 for ; Mon, 11 Dec 2023 05:53:58 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2BD7FC43397; Mon, 11 Dec 2023 13:53:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1702302838; bh=LNKZe5oxRmmzhRFo7D0uuBgWzkAugDhWnM6qObpwv1M=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=uIFoBYX457j/0DUIE57Az4fRFDFNjArDjKV/wveUcujSXQIP+WdR6+rOoQw6J65Qo vRPIfdV6qyS0JXb6Jx+Af4bu24Uqadc/2AdEB96MhT+cfQvxQaO+IAKR+cCpEL3Hkz x8cjZb0X5nk95aYKC0R4rHGhIx8DpdrtABRbhMwamAbd48y2XEnYJo/Cz6kYIms06Z jJK6UZGxh9oNj82rb+XNwIGSmUHtbNVWhuV8zNZT5QQJ+yHA8okZQC7ha9S8oS3y8r k/EmZuaO+wOtyOGHPG8EI0LCLrz4FYMGY4uqrnryMjTziIVi4AM9FW63I/RPQDR17W PH2yvegunyD8Q== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Armin Wolf , Guenter Roeck , Sasha Levin , wilken.gottwalt@posteo.net, jdelvare@suse.com, linux-hwmon@vger.kernel.org Subject: [PATCH AUTOSEL 6.6 44/47] hwmon: (corsair-psu) Fix probe when built-in Date: Mon, 11 Dec 2023 08:50:45 -0500 Message-ID: <20231211135147.380223-44-sashal@kernel.org> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231211135147.380223-1-sashal@kernel.org> References: <20231211135147.380223-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore X-stable-base: Linux 6.6.5 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Armin Wolf [ Upstream commit 307004e8b254ad28e150b63f299ab9caa4bc7c3e ] It seems that when the driver is built-in, the HID bus is initialized after the driver is loaded, which whould cause module_hid_driver() to fail. Fix this by registering the driver after the HID bus using late_initcall() in accordance with other hwmon HID drivers. Signed-off-by: Armin Wolf Link: https://lore.kernel.org/r/20231207210723.222552-1-W_Armin@gmx.de [groeck: Dropped "compile tested" comment; the patch has been tested but the tester did not provide a Tested-by: tag] Signed-off-by: Guenter Roeck Signed-off-by: Sasha Levin --- drivers/hwmon/corsair-psu.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/drivers/hwmon/corsair-psu.c b/drivers/hwmon/corsair-psu.c index 904890598c116..2c7c92272fe39 100644 --- a/drivers/hwmon/corsair-psu.c +++ b/drivers/hwmon/corsair-psu.c @@ -899,7 +899,23 @@ static struct hid_driver corsairpsu_driver = { .reset_resume = corsairpsu_resume, #endif }; -module_hid_driver(corsairpsu_driver); + +static int __init corsair_init(void) +{ + return hid_register_driver(&corsairpsu_driver); +} + +static void __exit corsair_exit(void) +{ + hid_unregister_driver(&corsairpsu_driver); +} + +/* + * With module_init() the driver would load before the HID bus when + * built-in, so use late_initcall() instead. + */ +late_initcall(corsair_init); +module_exit(corsair_exit); MODULE_LICENSE("GPL"); MODULE_AUTHOR("Wilken Gottwalt "); -- 2.42.0