firewire: make fw_bus_type const
Commit Message
Now that the driver core can properly handle constant struct bus_type,
move the fw_bus_type variable to be a constant structure as well,
placing it into read-only memory which can not be modified at runtime.
Cc: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Cc: linux1394-devel@lists.sourceforge.net
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/firewire/core-device.c | 2 +-
include/linux/firewire.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
Comments
Hi Greg,
On Tue, Dec 19, 2023 at 03:59:32PM +0100, Greg Kroah-Hartman wrote:
> Now that the driver core can properly handle constant struct bus_type,
> move the fw_bus_type variable to be a constant structure as well,
> placing it into read-only memory which can not be modified at runtime.
>
> Cc: Takashi Sakamoto <o-takashi@sakamocchi.jp>
> Cc: linux1394-devel@lists.sourceforge.net
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> ---
> drivers/firewire/core-device.c | 2 +-
> include/linux/firewire.h | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
Thanks for the patch. I applied it to for-next[1], since the following
commits at v6.4 kernel have already allowed to keep it as constant (your
absolute work!).
* commit ad8685d0f61a ("driver core: bus: constify bus_unregister()")
* commit 00c4a3c47da7 ("driver core: bus: constantify bus_register()")
* commit d492cc2573a0 ("driver core: device.h: make struct bus_type a const *")
[1] https://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394.git/log/?h=for-next
Thanks
Takashi Sakamoto
@@ -219,7 +219,7 @@ static int fw_unit_uevent(const struct device *dev, struct kobj_uevent_env *env)
return 0;
}
-struct bus_type fw_bus_type = {
+const struct bus_type fw_bus_type = {
.name = "firewire",
.match = fw_unit_match,
.probe = fw_unit_probe,
@@ -75,7 +75,7 @@ void fw_csr_iterator_init(struct fw_csr_iterator *ci, const u32 *p);
int fw_csr_iterator_next(struct fw_csr_iterator *ci, int *key, int *value);
int fw_csr_string(const u32 *directory, int key, char *buf, size_t size);
-extern struct bus_type fw_bus_type;
+extern const struct bus_type fw_bus_type;
struct fw_card_driver;
struct fw_node;