On Mon, Feb 05, 2024 at 04:26:08PM +0100, Krzysztof Kozlowski wrote: > On 05/02/2024 16:20, Cosmo Chou wrote: > > This driver implements support for temperature monitoring of Astera Labs > > PT5161L series PCIe retimer chips. > > > > This driver implementation originates from the CSDK available at > > Link: https://github.com/facebook/openbmc/tree/helium/common/recipes-lib/retimer-v2.14 > > The communication protocol utilized is based on the I2C/SMBus standard. > > > > Signed-off-by: Cosmo Chou <chou.cosmo@xxxxxxxxx> > > --- [ ... ] > > + > > +static int __init pt5161l_init(void) > > +{ > > + pt5161l_debugfs_dir = debugfs_create_dir("pt5161l", NULL); > > Drivers don't need initcalls. For sure any debugfs should not be handled > here but in probe. > Lots of hwmon drivers have init functions, for basic chip detection of Super-I/O chips (example: drivers/hwmon/nct6775-platform.c) and to create a parent debugfs subdirectory for the driver. The probe function then adds subdirecties per chip instantiation. Example for pmbus, in drivers/hwmon/pmbus/pmbus_core.c: static int __init pmbus_core_init(void) { pmbus_debugfs_dir = debugfs_create_dir("pmbus", NULL); if (IS_ERR(pmbus_debugfs_dir)) pmbus_debugfs_dir = NULL; return 0; } static void __exit pmbus_core_exit(void) { debugfs_remove_recursive(pmbus_debugfs_dir); } Are you saying this is all wrong ? What alternative would you suggest ? Thanks, Guenter