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 DBB26C4167B for ; Mon, 11 Dec 2023 14:16:17 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344395AbjLKOQJ (ORCPT ); Mon, 11 Dec 2023 09:16:09 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33524 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1344498AbjLKOPm (ORCPT ); Mon, 11 Dec 2023 09:15:42 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CBAF84EE4 for ; Mon, 11 Dec 2023 06:00:34 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6AEEAC433C9; Mon, 11 Dec 2023 14:00:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1702303234; bh=V0LlhXdpNiG0pJ5YJinIlfbudaIGy8VzuK3rddu039Y=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=NL+KGM28eUDxSiO4IGCnl2sO5JA/cY4jq3qSgEIFHJwV4towevdpa/NUJWqKpdCDW Itwg3bMH12YvM3I2sdMDwc3aKCYx+4XVNk7HiyizH9EGr0g2pJeLUyJsjqRQ7nAs+r 35DkOg8PwuCjE9/w7moX3bHPQQdHE4ZukDw5syS2lodfw67JY8zRn6K74QiPz2R9hQ /CDUQqMKV2Pc0BjrG4aq6WLRsbOihN6pUOema4LWVJSj4RAr9ZSWwmMMVmSX5arlkz 4zX8AO9mM1+HOFBpOyHWJeRDso9l/xRUQrteZjzHqhfViY/hHbysgUR/AtgFC9xsnX 6qrk9Mq0b16hg== 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 5.15 19/19] hwmon: (corsair-psu) Fix probe when built-in Date: Mon, 11 Dec 2023 08:57:53 -0500 Message-ID: <20231211135908.385694-19-sashal@kernel.org> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231211135908.385694-1-sashal@kernel.org> References: <20231211135908.385694-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore X-stable-base: Linux 5.15.142 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 14389fd7afb89..ae983e715110e 100644 --- a/drivers/hwmon/corsair-psu.c +++ b/drivers/hwmon/corsair-psu.c @@ -808,7 +808,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