1

thunderbolt: Constify the struct device_type usage

Since commit aed65af1cc ("drivers: make device_type const"), the driver
core can properly handle constant struct device_type. Move the
tb_domain_type, tb_retimer_type, tb_switch_type, usb4_port_device_type,
tb_service_type and tb_xdomain_type variables to be constant structures as
well, placing it into read-only memory which can not be modified at
runtime.

Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Ricardo B. Marliere <ricardo@marliere.net>
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
This commit is contained in:
Ricardo B. Marliere 2024-02-19 09:45:50 -03:00 committed by Mika Westerberg
parent a0c45b0b6c
commit b8a730836c
7 changed files with 12 additions and 12 deletions

View File

@ -326,7 +326,7 @@ static void tb_domain_release(struct device *dev)
kfree(tb); kfree(tb);
} }
struct device_type tb_domain_type = { const struct device_type tb_domain_type = {
.name = "thunderbolt_domain", .name = "thunderbolt_domain",
.release = tb_domain_release, .release = tb_domain_release,
}; };

View File

@ -356,7 +356,7 @@ static void tb_retimer_release(struct device *dev)
kfree(rt); kfree(rt);
} }
struct device_type tb_retimer_type = { const struct device_type tb_retimer_type = {
.name = "thunderbolt_retimer", .name = "thunderbolt_retimer",
.groups = retimer_groups, .groups = retimer_groups,
.release = tb_retimer_release, .release = tb_retimer_release,

View File

@ -2327,7 +2327,7 @@ static const struct dev_pm_ops tb_switch_pm_ops = {
NULL) NULL)
}; };
struct device_type tb_switch_type = { const struct device_type tb_switch_type = {
.name = "thunderbolt_device", .name = "thunderbolt_device",
.release = tb_switch_release, .release = tb_switch_release,
.uevent = tb_switch_uevent, .uevent = tb_switch_uevent,

View File

@ -749,10 +749,10 @@ static inline int tb_port_write(struct tb_port *port, const void *buffer,
struct tb *icm_probe(struct tb_nhi *nhi); struct tb *icm_probe(struct tb_nhi *nhi);
struct tb *tb_probe(struct tb_nhi *nhi); struct tb *tb_probe(struct tb_nhi *nhi);
extern struct device_type tb_domain_type; extern const struct device_type tb_domain_type;
extern struct device_type tb_retimer_type; extern const struct device_type tb_retimer_type;
extern struct device_type tb_switch_type; extern const struct device_type tb_switch_type;
extern struct device_type usb4_port_device_type; extern const struct device_type usb4_port_device_type;
int tb_domain_init(void); int tb_domain_init(void);
void tb_domain_exit(void); void tb_domain_exit(void);

View File

@ -243,7 +243,7 @@ static void usb4_port_device_release(struct device *dev)
kfree(usb4); kfree(usb4);
} }
struct device_type usb4_port_device_type = { const struct device_type usb4_port_device_type = {
.name = "usb4_port", .name = "usb4_port",
.groups = usb4_port_device_groups, .groups = usb4_port_device_groups,
.release = usb4_port_device_release, .release = usb4_port_device_release,

View File

@ -1002,7 +1002,7 @@ static void tb_service_release(struct device *dev)
kfree(svc); kfree(svc);
} }
struct device_type tb_service_type = { const struct device_type tb_service_type = {
.name = "thunderbolt_service", .name = "thunderbolt_service",
.groups = tb_service_attr_groups, .groups = tb_service_attr_groups,
.uevent = tb_service_uevent, .uevent = tb_service_uevent,
@ -1893,7 +1893,7 @@ static const struct dev_pm_ops tb_xdomain_pm_ops = {
SET_SYSTEM_SLEEP_PM_OPS(tb_xdomain_suspend, tb_xdomain_resume) SET_SYSTEM_SLEEP_PM_OPS(tb_xdomain_suspend, tb_xdomain_resume)
}; };
struct device_type tb_xdomain_type = { const struct device_type tb_xdomain_type = {
.name = "thunderbolt_xdomain", .name = "thunderbolt_xdomain",
.release = tb_xdomain_release, .release = tb_xdomain_release,
.pm = &tb_xdomain_pm_ops, .pm = &tb_xdomain_pm_ops,

View File

@ -87,8 +87,8 @@ struct tb {
}; };
extern const struct bus_type tb_bus_type; extern const struct bus_type tb_bus_type;
extern struct device_type tb_service_type; extern const struct device_type tb_service_type;
extern struct device_type tb_xdomain_type; extern const struct device_type tb_xdomain_type;
#define TB_LINKS_PER_PHY_PORT 2 #define TB_LINKS_PER_PHY_PORT 2