Message ID | 20230313182918.1312597-4-gregkh@linuxfoundation.org (mailing list archive) |
---|---|
State | Deferred, archived |
Headers | show |
Series | None | expand |
Hi, On 3/13/23 19:28, Greg Kroah-Hartman wrote: > Direct access to the struct bus_type dev_root pointer is going away soon > so replace that with a call to bus_get_dev_root() instead, which is what > it is there for. > > Cc: Hans de Goede <hdegoede@redhat.com> > Cc: Mark Gross <markgross@kernel.org> > Cc: platform-driver-x86@vger.kernel.org > Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > --- > Note, this is a patch that is a prepatory cleanup as part of a larger > series of patches that is working on resolving some old driver core > design mistakes. It will build and apply cleanly on top of 6.3-rc2 on > its own, but I'd prefer if I could take it through my driver-core tree > so that the driver core changes can be taken through there for 6.4-rc1. Taking this upstream through the driver-core tree is fine by me: Acked-by: Hans de Goede <hdegoede@redhat.com> Regards, Hans > drivers/platform/x86/ibm_rtl.c | 18 ++++++++++++++---- > 1 file changed, 14 insertions(+), 4 deletions(-) > > diff --git a/drivers/platform/x86/ibm_rtl.c b/drivers/platform/x86/ibm_rtl.c > index 5fc665f7d9b3..2ab7d9ac542d 100644 > --- a/drivers/platform/x86/ibm_rtl.c > +++ b/drivers/platform/x86/ibm_rtl.c > @@ -199,16 +199,26 @@ static int rtl_setup_sysfs(void) { > > ret = subsys_system_register(&rtl_subsys, NULL); > if (!ret) { > - for (i = 0; rtl_attributes[i]; i ++) > - device_create_file(rtl_subsys.dev_root, rtl_attributes[i]); > + struct device *dev_root = bus_get_dev_root(&rtl_subsys); > + > + if (dev_root) { > + for (i = 0; rtl_attributes[i]; i ++) > + device_create_file(dev_root, rtl_attributes[i]); > + put_device(dev_root); > + } > } > return ret; > } > > static void rtl_teardown_sysfs(void) { > + struct device *dev_root = bus_get_dev_root(&rtl_subsys); > int i; > - for (i = 0; rtl_attributes[i]; i ++) > - device_remove_file(rtl_subsys.dev_root, rtl_attributes[i]); > + > + if (dev_root) { > + for (i = 0; rtl_attributes[i]; i ++) > + device_remove_file(dev_root, rtl_attributes[i]); > + put_device(dev_root); > + } > bus_unregister(&rtl_subsys); > } >
diff --git a/drivers/platform/x86/ibm_rtl.c b/drivers/platform/x86/ibm_rtl.c index 5fc665f7d9b3..2ab7d9ac542d 100644 --- a/drivers/platform/x86/ibm_rtl.c +++ b/drivers/platform/x86/ibm_rtl.c @@ -199,16 +199,26 @@ static int rtl_setup_sysfs(void) { ret = subsys_system_register(&rtl_subsys, NULL); if (!ret) { - for (i = 0; rtl_attributes[i]; i ++) - device_create_file(rtl_subsys.dev_root, rtl_attributes[i]); + struct device *dev_root = bus_get_dev_root(&rtl_subsys); + + if (dev_root) { + for (i = 0; rtl_attributes[i]; i ++) + device_create_file(dev_root, rtl_attributes[i]); + put_device(dev_root); + } } return ret; } static void rtl_teardown_sysfs(void) { + struct device *dev_root = bus_get_dev_root(&rtl_subsys); int i; - for (i = 0; rtl_attributes[i]; i ++) - device_remove_file(rtl_subsys.dev_root, rtl_attributes[i]); + + if (dev_root) { + for (i = 0; rtl_attributes[i]; i ++) + device_remove_file(dev_root, rtl_attributes[i]); + put_device(dev_root); + } bus_unregister(&rtl_subsys); }
Direct access to the struct bus_type dev_root pointer is going away soon so replace that with a call to bus_get_dev_root() instead, which is what it is there for. Cc: Hans de Goede <hdegoede@redhat.com> Cc: Mark Gross <markgross@kernel.org> Cc: platform-driver-x86@vger.kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> --- Note, this is a patch that is a prepatory cleanup as part of a larger series of patches that is working on resolving some old driver core design mistakes. It will build and apply cleanly on top of 6.3-rc2 on its own, but I'd prefer if I could take it through my driver-core tree so that the driver core changes can be taken through there for 6.4-rc1. drivers/platform/x86/ibm_rtl.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-)