From nobody Sat Jul 25 00:04:24 2026 Received: from jpms-ob02.noc.sony.co.jp (jpms-ob02.noc.sony.co.jp [211.125.140.165]) (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 B93F93DCD87; Wed, 22 Jul 2026 03:41:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=211.125.140.165 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784691715; cv=none; b=sViK+mX2Q+eH3Tg6vExoXNrZMbPKftrQJ8F2GJYy3OBCrz+QJ2lW9WspuWq7C3EJ/sl7/6pqtvZb7MDD/RzOKqnF/w/4cTVWVN+21vj3SYokiB2bZ6SXhvUVOvJcMv1DiVbsCsUMdlk0aS8AHfX6VKT/WVufnOyD4K/6jI/6Gbw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784691715; c=relaxed/simple; bh=RdBTFrOH0vp8eKFwl55fuF71e44kh2fum0j9F5xFEU4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=NkOHW5ZlQUNtCz2pff2VUv+uUasuFvsAnzSLx/A4YpBrngKDHCrbz+G4eb+PTHlqK5hh91kvqhCukKxIvgkS5uJ3jT9WC3GpoYhHuNAYFJGZ6Yfu636GPc0fTki+ofPm2r2ro8tdPy4rYSiuBg9/7tK8i/w9LH7FbT1T1MnJHto= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=sony.com; spf=pass smtp.mailfrom=sony.com; dkim=pass (2048-bit key) header.d=sony.com header.i=@sony.com header.b=ChUhbUDr; arc=none smtp.client-ip=211.125.140.165 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=sony.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=sony.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=sony.com header.i=@sony.com header.b="ChUhbUDr" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sony.com; s=s1jp; t=1784691710; x=1816227710; h=from:date:subject:mime-version:content-transfer-encoding: message-id:references:in-reply-to:to:cc; bh=dv7gwVDN99PBj+kQCoYiu8N5BZNozYb6eeEnTWHS4dU=; b=ChUhbUDr9BcH0Zv4gi1v19X79FUkYD8GSDQw+AofI/id6yiVfxVtEyQo j1uz/YGDtMmUSDbBWZZb+oQ01OMIVytQZxjCbGyBGLsTD289Eojc99Qlw MbnrgGizizW4gf7V2ONTEVtXr4QYyn7yXQPCQZKoBlqfb1d0XiktxOBst LjSmOUjYFQAZ07Ym/FKJOkARpqvkdjFSl8INzcBcP141JavKT342VDf7d BQ5yO1j8GuESdAaV34o1uScdl74nUwUbShMnccdqPqRpfRB5SkSGLeDp1 Ju+uCpVepixu69/54XB84YuLxJC2S+Scx2g8A0oMvU3L5wHFYt0IVrbw6 Q==; X-CSE-ConnectionGUID: MrIWxGAVSD+PZLFimksHLg== X-CSE-MsgGUID: 3eZZ1gKlSsajt6e9rMVAGQ== Received: from unknown (HELO jpmta-ob02.noc.sony.co.jp) ([IPv6:2001:cf8:0:6e7::7]) by jpms-ob02.noc.sony.co.jp with ESMTP/TLS/TLS_AES_256_GCM_SHA384; 22 Jul 2026 12:31:37 +0900 X-CSE-ConnectionGUID: UBWqGnFfTBuFKlVRnRxE7w== X-CSE-MsgGUID: bhXH2+q9Ty+g8fSNkOlTNw== X-IronPort-AV: E=Sophos;i="6.25,177,1779116400"; d="scan'208";a="627327271" Received: from unknown (HELO [127.0.1.1]) ([IPv6:2001:cf8:1:573:0:dddd:6b3e:119e]) by jpmta-ob02.noc.sony.co.jp with ESMTP; 22 Jul 2026 12:31:37 +0900 From: Shashank Balaji Date: Wed, 22 Jul 2026 12:31:21 +0900 Subject: [PATCH 1/4] usb: core: pass THIS_MODULE implicitly through a macro Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260722-mod_name_usb-v1-1-96d781530f3f@sony.com> References: <20260722-mod_name_usb-v1-0-96d781530f3f@sony.com> In-Reply-To: <20260722-mod_name_usb-v1-0-96d781530f3f@sony.com> To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Greg Kroah-Hartman , Bastien Nocera , Matthias Kaehlcke , Valentina Manea , Shuah Khan , Hongren Zheng , Heikki Krogerus Cc: linux-usb@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Daniel Palmer , Rahul Bukte , Tim Bird , linux-embedded@vger.kernel.org, Shashank Balaji X-Mailer: b4 0.16-dev-3bfbc X-Developer-Signature: v=1; a=openpgp-sha256; l=4978; i=shashank.mahadasyam@sony.com; h=from:subject:message-id; bh=RdBTFrOH0vp8eKFwl55fuF71e44kh2fum0j9F5xFEU4=; b=owGbwMvMwCU2bX1+URVTXyjjabUkhqwEy+lJErdVkl+W1psoOvAVhp74dL7RfGKypNaPt8sF/ mw5dl2po5SFQYyLQVZMkaVUqfrX3hVBS3rOvFaEmcPKBDKEgYtTACbydj8jw4f4oxt0PaJDGu/n FWkc/uFocmHKruD+JdYRgg9/P1nTsYmR4Xs9a377vRfybWE3Bct3h+Y4bJ2g9f/SLZbeWetf3T8 4lxkA X-Developer-Key: i=shashank.mahadasyam@sony.com; a=openpgp; fpr=75227BFABDA852A48CCCEB2196AF6F727A028E55 Rename usb_register_device_driver() to __usb_register_device_driver() and r= eplace it with a macro wrapper that passes THIS_MODULE implicitly. This is in line= with what other buses do. Co-developed-by: Rahul Bukte Signed-off-by: Rahul Bukte Signed-off-by: Shashank Balaji --- include/linux/usb.h | 4 +++- drivers/net/usb/r8152.c | 2 +- drivers/usb/core/driver.c | 6 +++--- drivers/usb/core/usb.c | 2 +- drivers/usb/misc/apple-mfi-fastcharge.c | 2 +- drivers/usb/misc/onboard_usb_dev.c | 2 +- drivers/usb/usbip/stub_main.c | 2 +- 7 files changed, 11 insertions(+), 9 deletions(-) diff --git a/include/linux/usb.h b/include/linux/usb.h index 1da4ad1610bc..2466183a45f0 100644 --- a/include/linux/usb.h +++ b/include/linux/usb.h @@ -1368,7 +1368,9 @@ extern void usb_deregister(struct usb_driver *); module_driver(__usb_driver, usb_register, \ usb_deregister) =20 -extern int usb_register_device_driver(struct usb_device_driver *, +#define usb_register_device_driver(new_udriver) \ + __usb_register_device_driver(new_udriver, THIS_MODULE) +extern int __usb_register_device_driver(struct usb_device_driver *, struct module *); extern void usb_deregister_device_driver(struct usb_device_driver *); =20 diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c index f61686433031..73b9b2af1ed2 100644 --- a/drivers/net/usb/r8152.c +++ b/drivers/net/usb/r8152.c @@ -10495,7 +10495,7 @@ static int __init rtl8152_driver_init(void) { int ret; =20 - ret =3D usb_register_device_driver(&rtl8152_cfgselector_driver, THIS_MODU= LE); + ret =3D usb_register_device_driver(&rtl8152_cfgselector_driver); if (ret) return ret; =20 diff --git a/drivers/usb/core/driver.c b/drivers/usb/core/driver.c index f63004417058..eac1ff468c08 100644 --- a/drivers/usb/core/driver.c +++ b/drivers/usb/core/driver.c @@ -980,7 +980,7 @@ bool is_usb_device_driver(const struct device_driver *d= rv) } =20 /** - * usb_register_device_driver - register a USB device (not interface) driv= er + * __usb_register_device_driver - register a USB device (not interface) dr= iver * @new_udriver: USB operations for the device driver * @owner: module owner of this driver. * @@ -990,7 +990,7 @@ bool is_usb_device_driver(const struct device_driver *d= rv) * * Return: A negative error code on failure and 0 on success. */ -int usb_register_device_driver(struct usb_device_driver *new_udriver, +int __usb_register_device_driver(struct usb_device_driver *new_udriver, struct module *owner) { int retval =3D 0; @@ -1023,7 +1023,7 @@ int usb_register_device_driver(struct usb_device_driv= er *new_udriver, =20 return retval; } -EXPORT_SYMBOL_GPL(usb_register_device_driver); +EXPORT_SYMBOL_GPL(__usb_register_device_driver); =20 /** * usb_deregister_device_driver - unregister a USB device (not interface) = driver diff --git a/drivers/usb/core/usb.c b/drivers/usb/core/usb.c index df166cafe106..2559a180fdee 100644 --- a/drivers/usb/core/usb.c +++ b/drivers/usb/core/usb.c @@ -1241,7 +1241,7 @@ static int __init usb_init(void) retval =3D usb_hub_init(); if (retval) goto hub_init_failed; - retval =3D usb_register_device_driver(&usb_generic_driver, THIS_MODULE); + retval =3D usb_register_device_driver(&usb_generic_driver); if (!retval) goto out; =20 diff --git a/drivers/usb/misc/apple-mfi-fastcharge.c b/drivers/usb/misc/app= le-mfi-fastcharge.c index af266e19f2fd..02adec28d9e6 100644 --- a/drivers/usb/misc/apple-mfi-fastcharge.c +++ b/drivers/usb/misc/apple-mfi-fastcharge.c @@ -245,7 +245,7 @@ static struct usb_device_driver mfi_fc_driver =3D { =20 static int __init mfi_fc_driver_init(void) { - return usb_register_device_driver(&mfi_fc_driver, THIS_MODULE); + return usb_register_device_driver(&mfi_fc_driver); } =20 static void __exit mfi_fc_driver_exit(void) diff --git a/drivers/usb/misc/onboard_usb_dev.c b/drivers/usb/misc/onboard_= usb_dev.c index 11508ed4df25..c60406240416 100644 --- a/drivers/usb/misc/onboard_usb_dev.c +++ b/drivers/usb/misc/onboard_usb_dev.c @@ -706,7 +706,7 @@ static int __init onboard_dev_init(void) { int ret; =20 - ret =3D usb_register_device_driver(&onboard_dev_usbdev_driver, THIS_MODUL= E); + ret =3D usb_register_device_driver(&onboard_dev_usbdev_driver); if (ret) return ret; =20 diff --git a/drivers/usb/usbip/stub_main.c b/drivers/usb/usbip/stub_main.c index 79110a69d697..01452f7bdabb 100644 --- a/drivers/usb/usbip/stub_main.c +++ b/drivers/usb/usbip/stub_main.c @@ -371,7 +371,7 @@ static int __init usbip_host_init(void) return -ENOMEM; } =20 - ret =3D usb_register_device_driver(&stub_driver, THIS_MODULE); + ret =3D usb_register_device_driver(&stub_driver); if (ret) { pr_err("usb_register failed %d\n", ret); goto err_usb_register; --=20 2.43.0 From nobody Sat Jul 25 00:04:24 2026 Received: from jpms-ob02.noc.sony.co.jp (jpms-ob02.noc.sony.co.jp [211.125.140.165]) (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 8FD5232FA30; Wed, 22 Jul 2026 03:41:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=211.125.140.165 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784691715; cv=none; b=hvYEaQYdNkJRlomUfvnUWGmG/+96BwaZMtbvNT4IReCNKrHiosYswe3MrtADrzpE0ufkaaDX/yS3BdaTpjpTqnSVGOUzDyeOIpfARGz6uA1QoXbNlnrkrMwtAMt/cVLawDms6rjpJCOTGhXLEGh+pOLGllhLsIaTDClN/qjJR6M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784691715; c=relaxed/simple; bh=hOS8XrwclxRNkO7pPFLDST+6/ZK1IJP08TljEpcZ0bM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=VicOoXmfWf1xwciLaxMNiUuqNkq9XYbh2zYvzBdAocUCHWYkukC+I5kPm5kXKiellpAZPxTrExn/oEwmaCBsUy8YaX7cWnA5o/idkd4MSq2DArS4xzCWTmR5W3cCwNiBiTOcV8jn+4hxqn0YZChrXMinE8/upTl/zOwD1kKAY+g= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=sony.com; spf=pass smtp.mailfrom=sony.com; dkim=pass (2048-bit key) header.d=sony.com header.i=@sony.com header.b=Vb6s5khh; arc=none smtp.client-ip=211.125.140.165 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=sony.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=sony.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=sony.com header.i=@sony.com header.b="Vb6s5khh" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sony.com; s=s1jp; t=1784691713; x=1816227713; h=from:date:subject:mime-version:content-transfer-encoding: message-id:references:in-reply-to:to:cc; bh=iqmt42izrnM/a72EVSBeh8/+uskpoymt+jEbjjfbepg=; b=Vb6s5khhhf7IdDnNGkucT/B9BYW90+W82M4fNyT2RhO34EE4+lgjbzGy GczcQUgf8QpSILE4Sj+gh1RAYJvru1N+p+f14554o1Tq6a+NyS32MA3x8 RW0VA0LfHas3L98jQxip82TSk6Flhy2LQMuO+zLeSYXyFu3tWJVx1RKI7 XysTvOcmsM8qNJm8OzAbJFFo1oitWOGiMEVMrcfXUS8C/MhY7GHmgDC9Z Qc4bTR/58mwNN74aaiX2Ts74vTxyxHJtGdaQ+6iciMC0Zf99Aeqm4/P7q cGRA8DxARVzfkyXJGPSIAfmn7BZO3sBtb4kTpqkjS93qd3hoX6d1EtPGr g==; X-CSE-ConnectionGUID: 8xD1GDHxR3i3TDmy3oGVFQ== X-CSE-MsgGUID: Gze+wwJNTx2RAVAzamQXPA== Received: from unknown (HELO jpmta-ob02.noc.sony.co.jp) ([IPv6:2001:cf8:0:6e7::7]) by jpms-ob02.noc.sony.co.jp with ESMTP/TLS/TLS_AES_256_GCM_SHA384; 22 Jul 2026 12:31:37 +0900 X-CSE-ConnectionGUID: hLuUGiCXR4SiNpeaAZLfzQ== X-CSE-MsgGUID: y4C7/ckmQIiW/XZeBRm+Dw== X-IronPort-AV: E=Sophos;i="6.25,177,1779116400"; d="scan'208";a="627327273" Received: from unknown (HELO [127.0.1.1]) ([IPv6:2001:cf8:1:573:0:dddd:6b3e:119e]) by jpmta-ob02.noc.sony.co.jp with ESMTP; 22 Jul 2026 12:31:37 +0900 From: Shashank Balaji Date: Wed, 22 Jul 2026 12:31:22 +0900 Subject: [PATCH 2/4] usb: core: set mod_name in driver registration Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260722-mod_name_usb-v1-2-96d781530f3f@sony.com> References: <20260722-mod_name_usb-v1-0-96d781530f3f@sony.com> In-Reply-To: <20260722-mod_name_usb-v1-0-96d781530f3f@sony.com> To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Greg Kroah-Hartman , Bastien Nocera , Matthias Kaehlcke , Valentina Manea , Shuah Khan , Hongren Zheng , Heikki Krogerus Cc: linux-usb@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Daniel Palmer , Rahul Bukte , Tim Bird , linux-embedded@vger.kernel.org, Shashank Balaji X-Mailer: b4 0.16-dev-3bfbc X-Developer-Signature: v=1; a=openpgp-sha256; l=2731; i=shashank.mahadasyam@sony.com; h=from:subject:message-id; bh=hOS8XrwclxRNkO7pPFLDST+6/ZK1IJP08TljEpcZ0bM=; b=owGbwMvMwCU2bX1+URVTXyjjabUkhqwEy+naHqLdBxi/ZDq7918ztNZ7ciVbIyDHa/5XMYtbr UfDPnl3lLIwiHExyIopspQqVf/auyJoSc+Z14owc1iZQIYwcHEKwEQmz2BkOFurfzXAcUbWUtvt 6Rtjetu2LX+lu6L2xL9bK2cXGcZkFzD8T7R77T31Rso1ObkPhx4Yb7HO8HwqUCY9eeKe/3tn/HR VYAYA X-Developer-Key: i=shashank.mahadasyam@sony.com; a=openpgp; fpr=75227BFABDA852A48CCCEB2196AF6F727A028E55 The driver core only creates the sysfs "module" symlink for a built-in driver when its struct device_driver has mod_name set (see module_add_driver()). This registration path left mod_name unset, so built-= in drivers using it had no such symlink. Set mod_name to KBUILD_MODNAME during driver registration. Built-in drivers now gain the symlink, while loadable modules are unaffected. Co-developed-by: Rahul Bukte Signed-off-by: Rahul Bukte Signed-off-by: Shashank Balaji --- include/linux/usb.h | 4 ++-- drivers/usb/core/driver.c | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/include/linux/usb.h b/include/linux/usb.h index 2466183a45f0..6507c217bca7 100644 --- a/include/linux/usb.h +++ b/include/linux/usb.h @@ -1369,9 +1369,9 @@ extern void usb_deregister(struct usb_driver *); usb_deregister) =20 #define usb_register_device_driver(new_udriver) \ - __usb_register_device_driver(new_udriver, THIS_MODULE) + __usb_register_device_driver(new_udriver, THIS_MODULE, KBUILD_MODNAME) extern int __usb_register_device_driver(struct usb_device_driver *, - struct module *); + struct module *, const char *); extern void usb_deregister_device_driver(struct usb_device_driver *); =20 extern int usb_register_dev(struct usb_interface *intf, diff --git a/drivers/usb/core/driver.c b/drivers/usb/core/driver.c index eac1ff468c08..ab809cb6da26 100644 --- a/drivers/usb/core/driver.c +++ b/drivers/usb/core/driver.c @@ -983,6 +983,7 @@ bool is_usb_device_driver(const struct device_driver *d= rv) * __usb_register_device_driver - register a USB device (not interface) dr= iver * @new_udriver: USB operations for the device driver * @owner: module owner of this driver. + * @mod_name: module name string * * Registers a USB device driver with the USB core. The list of * unattached devices will be rescanned whenever a new driver is @@ -991,7 +992,7 @@ bool is_usb_device_driver(const struct device_driver *d= rv) * Return: A negative error code on failure and 0 on success. */ int __usb_register_device_driver(struct usb_device_driver *new_udriver, - struct module *owner) + struct module *owner, const char *mod_name) { int retval =3D 0; =20 @@ -1003,6 +1004,7 @@ int __usb_register_device_driver(struct usb_device_dr= iver *new_udriver, new_udriver->driver.probe =3D usb_probe_device; new_udriver->driver.remove =3D usb_unbind_device; new_udriver->driver.owner =3D owner; + new_udriver->driver.mod_name =3D mod_name; new_udriver->driver.dev_groups =3D new_udriver->dev_groups; =20 retval =3D driver_register(&new_udriver->driver); --=20 2.43.0 From nobody Sat Jul 25 00:04:24 2026 Received: from jpms-ob02.noc.sony.co.jp (jpms-ob02.noc.sony.co.jp [211.125.140.165]) (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 4520533065D; Wed, 22 Jul 2026 03:31:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=211.125.140.165 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784691110; cv=none; b=FOE6FiffMZcWK1N4h7TDT+xE4nFnfItZN6v1IOsIVd71XRGl5Mx2kh1/WTRp5ReVvtb5vU0kJfAPLBgm8+Ma/zMZ5ZAbR7wZ9BbhqPilOlpIyXciQdaaUXcH5MlEmk+7U33v/h9qezyz8APTIs9oS/TYa+EJ1yKALYT0KGM7nK4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784691110; c=relaxed/simple; bh=ojbQadbeSqjTJ0jmN/K6CSt7HZAxMUg6r6Eq5hbUMRc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=EYIoPBJMjKpvU1vnqnSrxIcKoCwbPEVMbObN15K99gHrS1PeWSaqsAx1mTz4aERDsurBmjK9M8eXGGbRpqBB6nnElXo6FbbEFpNQ1ev8/t7PcvMNdKfkepjXQLjo+yEPclu2avk+6myGm+hChdygy+ICLmHrZ6z1TU3/zUXa9Ts= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=sony.com; spf=pass smtp.mailfrom=sony.com; dkim=pass (2048-bit key) header.d=sony.com header.i=@sony.com header.b=oa27+A7U; arc=none smtp.client-ip=211.125.140.165 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=sony.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=sony.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=sony.com header.i=@sony.com header.b="oa27+A7U" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sony.com; s=s1jp; t=1784691108; x=1816227108; h=from:date:subject:mime-version:content-transfer-encoding: message-id:references:in-reply-to:to:cc; bh=RWduDFciZbpwE+xzPcLgZdrOaRq58lmGj88C0MiHbXc=; b=oa27+A7UpQ0+Hk0312KI1DLR04aH8MUxvR9i4bEluIu4JcGBkk5kF8L5 FmVkPRi9w2ZWGlZoHM/uyyqqKVKUZSXjiL5fvJCirNVrtrdhF4/om6fPb eDY1dIIyaeiUHzpvTq2LYaIVDEv8+Cc2FAcD9AmTKUj5IwGsLgM8w/7y/ uZPiSUl/4FuHUTgsI//bN0fpwKTvlpJYBtVBIhwIQkmQR8V+pzIot7AWU QS3A61LDZ6oy1mewosv7zojuC47xoOpkQyfdoib/NDDCgyWNVdNELXCeX 3L0rtEKnBKc6TJI1Gjy2PitN0itx/WzhnNil7uwb7QvhtvaAGOPxMNu2l g==; X-CSE-ConnectionGUID: 9BoVPK9UTAOKNY25oOAw0w== X-CSE-MsgGUID: B7OvezifSUiM7/CA55YMzg== Received: from unknown (HELO jpmta-ob02.noc.sony.co.jp) ([IPv6:2001:cf8:0:6e7::7]) by jpms-ob02.noc.sony.co.jp with ESMTP/TLS/TLS_AES_256_GCM_SHA384; 22 Jul 2026 12:31:37 +0900 X-CSE-ConnectionGUID: PvdEH5T2Q6WRlnnZQ7dmew== X-CSE-MsgGUID: 3qTt16CYTNS6ocxsYwwDcw== X-IronPort-AV: E=Sophos;i="6.25,177,1779116400"; d="scan'208";a="627327274" Received: from unknown (HELO [127.0.1.1]) ([IPv6:2001:cf8:1:573:0:dddd:6b3e:119e]) by jpmta-ob02.noc.sony.co.jp with ESMTP; 22 Jul 2026 12:31:37 +0900 From: Shashank Balaji Date: Wed, 22 Jul 2026 12:31:23 +0900 Subject: [PATCH 3/4] usb: typec: set mod_name in driver registration Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260722-mod_name_usb-v1-3-96d781530f3f@sony.com> References: <20260722-mod_name_usb-v1-0-96d781530f3f@sony.com> In-Reply-To: <20260722-mod_name_usb-v1-0-96d781530f3f@sony.com> To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Greg Kroah-Hartman , Bastien Nocera , Matthias Kaehlcke , Valentina Manea , Shuah Khan , Hongren Zheng , Heikki Krogerus Cc: linux-usb@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Daniel Palmer , Rahul Bukte , Tim Bird , linux-embedded@vger.kernel.org, Shashank Balaji X-Mailer: b4 0.16-dev-3bfbc X-Developer-Signature: v=1; a=openpgp-sha256; l=2114; i=shashank.mahadasyam@sony.com; h=from:subject:message-id; bh=ojbQadbeSqjTJ0jmN/K6CSt7HZAxMUg6r6Eq5hbUMRc=; b=owGbwMvMwCU2bX1+URVTXyjjabUkhqwEy+nbDeaXpHy755MtMmVzKGdafEmLdtZRuyAOhvQdi 7gNPmp2lLAwiHExyIopspQqVf/auyJoSc+Z14owc1iZQIYwcHEKwERuXGH4zH7vPsdZcUbzvPT7 i6ZszdhlrO9YukGpl29V39/L8+MeMTKsn/vuMKfIfG57Uf7HksYHH2/eyvJxUeNyp0mill5nWXY yAQA= X-Developer-Key: i=shashank.mahadasyam@sony.com; a=openpgp; fpr=75227BFABDA852A48CCCEB2196AF6F727A028E55 The driver core only creates the sysfs "module" symlink for a built-in driver when its struct device_driver has mod_name set (see module_add_driver()). This driver left mod_name unset, so its built-in form had no such symlink. Set mod_name to KBUILD_MODNAME during driver registration. Built-in drivers now gain the symlink, while loadable modules are unaffected. Co-developed-by: Rahul Bukte Signed-off-by: Rahul Bukte Signed-off-by: Shashank Balaji --- include/linux/usb/typec_altmode.h | 4 ++-- drivers/usb/typec/bus.c | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/include/linux/usb/typec_altmode.h b/include/linux/usb/typec_al= tmode.h index ef21ead551be..92309b569c3a 100644 --- a/include/linux/usb/typec_altmode.h +++ b/include/linux/usb/typec_altmode.h @@ -227,9 +227,9 @@ struct typec_altmode_driver { * handle all SVID specific communication. */ #define typec_altmode_register_driver(drv) \ - __typec_altmode_register_driver(drv, THIS_MODULE) + __typec_altmode_register_driver(drv, THIS_MODULE, KBUILD_MODNAME) int __typec_altmode_register_driver(struct typec_altmode_driver *drv, - struct module *module); + struct module *module, const char *mod_name); /** * typec_altmode_unregister_driver - unregisters a USB Type-C alternate mo= de * device driver diff --git a/drivers/usb/typec/bus.c b/drivers/usb/typec/bus.c index e84b134a3381..587d3b06ee8d 100644 --- a/drivers/usb/typec/bus.c +++ b/drivers/usb/typec/bus.c @@ -383,12 +383,14 @@ void typec_altmode_put_plug(struct typec_altmode *plu= g) EXPORT_SYMBOL_GPL(typec_altmode_put_plug); =20 int __typec_altmode_register_driver(struct typec_altmode_driver *drv, - struct module *module) + struct module *module, + const char *mod_name) { if (!drv->probe) return -EINVAL; =20 drv->driver.owner =3D module; + drv->driver.mod_name =3D mod_name; drv->driver.bus =3D &typec_bus; =20 return driver_register(&drv->driver); --=20 2.43.0 From nobody Sat Jul 25 00:04:24 2026 Received: from jpms-ob02.noc.sony.co.jp (jpms-ob02.noc.sony.co.jp [211.125.140.165]) (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 44FE63DBD5B; Wed, 22 Jul 2026 03:31:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=211.125.140.165 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784691113; cv=none; b=PkpD/buPzpjsW+e+mJ804HZ9DwbyVgjUYP24lznLdYAeQurOGNHkeZxJ2jecbFw5QHVRyqjZaJ+GlqrAT3ME6984jL8lO53CyAUgrcrMwQj+eqo2/dN7QbEe5SZzeYnRYH5OemH6B5XCgVXz9WyeHwdJkXpuKRaGinrVevvz6Dw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784691113; c=relaxed/simple; bh=MfTcypu0xmgn6dV7pRLzNTXZ80KHazJgygRiUlYhcPo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Ag7xz8aTqFWGUWDJ+M9tdXO/yK16xKZ35dyfd1s5Npaoqy8nAaJHu2pyU7A8/uIVDIvI73cGLjyt8KUp+sr/xpDHd6PSlH27tues1U73cFd9lTpxEMjKkc4Y1JkHIc/IYESn6h9yh+QHoNsqFc+6KcXny4D0QocK+RpFE4Lv/xA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=sony.com; spf=pass smtp.mailfrom=sony.com; dkim=pass (2048-bit key) header.d=sony.com header.i=@sony.com header.b=uz+/oE7R; arc=none smtp.client-ip=211.125.140.165 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=sony.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=sony.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=sony.com header.i=@sony.com header.b="uz+/oE7R" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sony.com; s=s1jp; t=1784691111; x=1816227111; h=from:date:subject:mime-version:content-transfer-encoding: message-id:references:in-reply-to:to:cc; bh=caj1f0+EQ2UBY0cWiEaPgfnHr13PPMYZHTOfF6hNr3g=; b=uz+/oE7RrhRF4EN7y9Lk+5G1IMHFZ3u4qLfznoNLqDawpiFeut02caFm XnopeLI3ZgWK2h40UqtR+FBPfrMCZ1X79ipsh0UepKlh+z6FahcTjaTDQ EeX6jh/rctVJAJshCfBR1RXdHmFxMGaqywxystGHLCiuU2P/t5LctkpG4 t/ysmwwbvkr9n/DuND0jrlzPQlnbumzJbjiViMgVhO2I94C1PESJ68Lmo F87oEqOS+pXT9IYzqNFqSu9rCiSMCQQ41QKV9KvKjFZIaKuEEGTgb0iNq bceJFovjMiOQG/FtZpHeJ7AqcdN9bUWr3XgiBWq2wi+jRt0u6trtf9sjs g==; X-CSE-ConnectionGUID: Uqbz/TdySemtTC23GndMTg== X-CSE-MsgGUID: ww7wza9OS16tbuVEEpj5zQ== Received: from unknown (HELO jpmta-ob02.noc.sony.co.jp) ([IPv6:2001:cf8:0:6e7::7]) by jpms-ob02.noc.sony.co.jp with ESMTP/TLS/TLS_AES_256_GCM_SHA384; 22 Jul 2026 12:31:37 +0900 X-CSE-ConnectionGUID: AIyn8/KgS4u55ssiYoTicA== X-CSE-MsgGUID: c/wzc9eFTBKuNh3NpiIrUA== X-IronPort-AV: E=Sophos;i="6.25,177,1779116400"; d="scan'208";a="627327276" Received: from unknown (HELO [127.0.1.1]) ([IPv6:2001:cf8:1:573:0:dddd:6b3e:119e]) by jpmta-ob02.noc.sony.co.jp with ESMTP; 22 Jul 2026 12:31:38 +0900 From: Shashank Balaji Date: Wed, 22 Jul 2026 12:31:24 +0900 Subject: [PATCH 4/4] usb: ulpi: set mod_name in driver registration Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260722-mod_name_usb-v1-4-96d781530f3f@sony.com> References: <20260722-mod_name_usb-v1-0-96d781530f3f@sony.com> In-Reply-To: <20260722-mod_name_usb-v1-0-96d781530f3f@sony.com> To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Greg Kroah-Hartman , Bastien Nocera , Matthias Kaehlcke , Valentina Manea , Shuah Khan , Hongren Zheng , Heikki Krogerus Cc: linux-usb@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Daniel Palmer , Rahul Bukte , Tim Bird , linux-embedded@vger.kernel.org, Shashank Balaji X-Mailer: b4 0.16-dev-3bfbc X-Developer-Signature: v=1; a=openpgp-sha256; l=2295; i=shashank.mahadasyam@sony.com; h=from:subject:message-id; bh=MfTcypu0xmgn6dV7pRLzNTXZ80KHazJgygRiUlYhcPo=; b=owGbwMvMwCU2bX1+URVTXyjjabUkhqwEyxlyXvFC/kplQTx7+H9J5amv75otuOhuGuuZnbfWV GZGl7B3lLIwiHExyIopspQqVf/auyJoSc+Z14owc1iZQIYwcHEKwEQWVzEyrLg57+jdt0Ic3w2X 3lbz9m40nRL919pOJb1XyfHcW9fP1xj+J4ULzXnEfaioWequRa5px49ifds/mdaRaV223Yv+Ns/ iAQA= X-Developer-Key: i=shashank.mahadasyam@sony.com; a=openpgp; fpr=75227BFABDA852A48CCCEB2196AF6F727A028E55 The driver core only creates the sysfs "module" symlink for a built-in driver when its struct device_driver has mod_name set (see module_add_driver()). This driver left mod_name unset, so its built-in form had no such symlink. Set mod_name to KBUILD_MODNAME during driver registration. Built-in drivers now gain the symlink, while loadable modules are unaffected. Co-developed-by: Rahul Bukte Signed-off-by: Rahul Bukte Signed-off-by: Shashank Balaji --- include/linux/ulpi/driver.h | 4 ++-- drivers/usb/common/ulpi.c | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/include/linux/ulpi/driver.h b/include/linux/ulpi/driver.h index c668d9c8d876..c899197e0aa8 100644 --- a/include/linux/ulpi/driver.h +++ b/include/linux/ulpi/driver.h @@ -51,8 +51,8 @@ struct ulpi_driver { /* * use a macro to avoid include chaining to get THIS_MODULE */ -#define ulpi_register_driver(drv) __ulpi_register_driver(drv, THIS_MODULE) -int __ulpi_register_driver(struct ulpi_driver *drv, struct module *module); +#define ulpi_register_driver(drv) __ulpi_register_driver(drv, THIS_MODULE,= KBUILD_MODNAME) +int __ulpi_register_driver(struct ulpi_driver *drv, struct module *module,= const char *mod_name); void ulpi_unregister_driver(struct ulpi_driver *drv); =20 #define module_ulpi_driver(__ulpi_driver) \ diff --git a/drivers/usb/common/ulpi.c b/drivers/usb/common/ulpi.c index 7e43429e996e..dec4baca1c53 100644 --- a/drivers/usb/common/ulpi.c +++ b/drivers/usb/common/ulpi.c @@ -147,15 +147,17 @@ static const struct device_type ulpi_dev_type =3D { * __ulpi_register_driver - register a driver with the ULPI bus * @drv: driver being registered * @module: ends up being THIS_MODULE + * @mod_name: ends up being KBUILD_MODNAME * * Registers a driver with the ULPI bus. */ -int __ulpi_register_driver(struct ulpi_driver *drv, struct module *module) +int __ulpi_register_driver(struct ulpi_driver *drv, struct module *module,= const char *mod_name) { if (!drv->probe) return -EINVAL; =20 drv->driver.owner =3D module; + drv->driver.mod_name =3D mod_name; drv->driver.bus =3D &ulpi_bus; =20 return driver_register(&drv->driver); --=20 2.43.0