Message ID | 20240218-device_cleanup-usb-v1-1-77423c4da262@marliere.net (mailing list archive) |
---|---|
State | Accepted |
Commit | 146bb64e49393317418630c85d0e1dbdf7e996e2 |
Headers | show |
Series | usb: constify struct device_type usage | expand |
On Sun, Feb 18, 2024 at 04:18:09PM -0300, Ricardo B. Marliere wrote: > Since commit aed65af1cc2f ("drivers: make device_type const"), the driver > core can properly handle constant struct device_type. Move all the > device_type variables in use by the driver to be constant structures as > well, placing it into read-only memory which can not be modified at > runtime. > > Signed-off-by: Ricardo B. Marliere <ricardo@marliere.net> Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> > --- > drivers/usb/typec/pd.c | 30 +++++++++++++++--------------- > 1 file changed, 15 insertions(+), 15 deletions(-) > > diff --git a/drivers/usb/typec/pd.c b/drivers/usb/typec/pd.c > index b9cca2be76fc..d78c04a421bc 100644 > --- a/drivers/usb/typec/pd.c > +++ b/drivers/usb/typec/pd.c > @@ -157,7 +157,7 @@ static const struct attribute_group source_fixed_supply_group = { > }; > __ATTRIBUTE_GROUPS(source_fixed_supply); > > -static struct device_type source_fixed_supply_type = { > +static const struct device_type source_fixed_supply_type = { > .name = "pdo", > .release = pdo_release, > .groups = source_fixed_supply_groups, > @@ -182,7 +182,7 @@ static const struct attribute_group sink_fixed_supply_group = { > }; > __ATTRIBUTE_GROUPS(sink_fixed_supply); > > -static struct device_type sink_fixed_supply_type = { > +static const struct device_type sink_fixed_supply_type = { > .name = "pdo", > .release = pdo_release, > .groups = sink_fixed_supply_groups, > @@ -213,7 +213,7 @@ static struct attribute *source_variable_supply_attrs[] = { > }; > ATTRIBUTE_GROUPS(source_variable_supply); > > -static struct device_type source_variable_supply_type = { > +static const struct device_type source_variable_supply_type = { > .name = "pdo", > .release = pdo_release, > .groups = source_variable_supply_groups, > @@ -227,7 +227,7 @@ static struct attribute *sink_variable_supply_attrs[] = { > }; > ATTRIBUTE_GROUPS(sink_variable_supply); > > -static struct device_type sink_variable_supply_type = { > +static const struct device_type sink_variable_supply_type = { > .name = "pdo", > .release = pdo_release, > .groups = sink_variable_supply_groups, > @@ -258,7 +258,7 @@ static struct attribute *source_battery_attrs[] = { > }; > ATTRIBUTE_GROUPS(source_battery); > > -static struct device_type source_battery_type = { > +static const struct device_type source_battery_type = { > .name = "pdo", > .release = pdo_release, > .groups = source_battery_groups, > @@ -272,7 +272,7 @@ static struct attribute *sink_battery_attrs[] = { > }; > ATTRIBUTE_GROUPS(sink_battery); > > -static struct device_type sink_battery_type = { > +static const struct device_type sink_battery_type = { > .name = "pdo", > .release = pdo_release, > .groups = sink_battery_groups, > @@ -339,7 +339,7 @@ static struct attribute *source_pps_attrs[] = { > }; > ATTRIBUTE_GROUPS(source_pps); > > -static struct device_type source_pps_type = { > +static const struct device_type source_pps_type = { > .name = "pdo", > .release = pdo_release, > .groups = source_pps_groups, > @@ -353,7 +353,7 @@ static struct attribute *sink_pps_attrs[] = { > }; > ATTRIBUTE_GROUPS(sink_pps); > > -static struct device_type sink_pps_type = { > +static const struct device_type sink_pps_type = { > .name = "pdo", > .release = pdo_release, > .groups = sink_pps_groups, > @@ -371,30 +371,30 @@ static const char * const apdo_supply_name[] = { > [APDO_TYPE_PPS] = "programmable_supply", > }; > > -static struct device_type *source_type[] = { > +static const struct device_type *source_type[] = { > [PDO_TYPE_FIXED] = &source_fixed_supply_type, > [PDO_TYPE_BATT] = &source_battery_type, > [PDO_TYPE_VAR] = &source_variable_supply_type, > }; > > -static struct device_type *source_apdo_type[] = { > +static const struct device_type *source_apdo_type[] = { > [APDO_TYPE_PPS] = &source_pps_type, > }; > > -static struct device_type *sink_type[] = { > +static const struct device_type *sink_type[] = { > [PDO_TYPE_FIXED] = &sink_fixed_supply_type, > [PDO_TYPE_BATT] = &sink_battery_type, > [PDO_TYPE_VAR] = &sink_variable_supply_type, > }; > > -static struct device_type *sink_apdo_type[] = { > +static const struct device_type *sink_apdo_type[] = { > [APDO_TYPE_PPS] = &sink_pps_type, > }; > > /* REVISIT: Export when EPR_*_Capabilities need to be supported. */ > static int add_pdo(struct usb_power_delivery_capabilities *cap, u32 pdo, int position) > { > - struct device_type *type; > + const struct device_type *type; > const char *name; > struct pdo *p; > int ret; > @@ -460,7 +460,7 @@ static void pd_capabilities_release(struct device *dev) > kfree(to_usb_power_delivery_capabilities(dev)); > } > > -static struct device_type pd_capabilities_type = { > +static const struct device_type pd_capabilities_type = { > .name = "capabilities", > .release = pd_capabilities_release, > }; > @@ -575,7 +575,7 @@ static void pd_release(struct device *dev) > kfree(pd); > } > > -static struct device_type pd_type = { > +static const struct device_type pd_type = { > .name = "usb_power_delivery", > .release = pd_release, > .groups = pd_groups, > > -- > 2.43.0
diff --git a/drivers/usb/typec/pd.c b/drivers/usb/typec/pd.c index b9cca2be76fc..d78c04a421bc 100644 --- a/drivers/usb/typec/pd.c +++ b/drivers/usb/typec/pd.c @@ -157,7 +157,7 @@ static const struct attribute_group source_fixed_supply_group = { }; __ATTRIBUTE_GROUPS(source_fixed_supply); -static struct device_type source_fixed_supply_type = { +static const struct device_type source_fixed_supply_type = { .name = "pdo", .release = pdo_release, .groups = source_fixed_supply_groups, @@ -182,7 +182,7 @@ static const struct attribute_group sink_fixed_supply_group = { }; __ATTRIBUTE_GROUPS(sink_fixed_supply); -static struct device_type sink_fixed_supply_type = { +static const struct device_type sink_fixed_supply_type = { .name = "pdo", .release = pdo_release, .groups = sink_fixed_supply_groups, @@ -213,7 +213,7 @@ static struct attribute *source_variable_supply_attrs[] = { }; ATTRIBUTE_GROUPS(source_variable_supply); -static struct device_type source_variable_supply_type = { +static const struct device_type source_variable_supply_type = { .name = "pdo", .release = pdo_release, .groups = source_variable_supply_groups, @@ -227,7 +227,7 @@ static struct attribute *sink_variable_supply_attrs[] = { }; ATTRIBUTE_GROUPS(sink_variable_supply); -static struct device_type sink_variable_supply_type = { +static const struct device_type sink_variable_supply_type = { .name = "pdo", .release = pdo_release, .groups = sink_variable_supply_groups, @@ -258,7 +258,7 @@ static struct attribute *source_battery_attrs[] = { }; ATTRIBUTE_GROUPS(source_battery); -static struct device_type source_battery_type = { +static const struct device_type source_battery_type = { .name = "pdo", .release = pdo_release, .groups = source_battery_groups, @@ -272,7 +272,7 @@ static struct attribute *sink_battery_attrs[] = { }; ATTRIBUTE_GROUPS(sink_battery); -static struct device_type sink_battery_type = { +static const struct device_type sink_battery_type = { .name = "pdo", .release = pdo_release, .groups = sink_battery_groups, @@ -339,7 +339,7 @@ static struct attribute *source_pps_attrs[] = { }; ATTRIBUTE_GROUPS(source_pps); -static struct device_type source_pps_type = { +static const struct device_type source_pps_type = { .name = "pdo", .release = pdo_release, .groups = source_pps_groups, @@ -353,7 +353,7 @@ static struct attribute *sink_pps_attrs[] = { }; ATTRIBUTE_GROUPS(sink_pps); -static struct device_type sink_pps_type = { +static const struct device_type sink_pps_type = { .name = "pdo", .release = pdo_release, .groups = sink_pps_groups, @@ -371,30 +371,30 @@ static const char * const apdo_supply_name[] = { [APDO_TYPE_PPS] = "programmable_supply", }; -static struct device_type *source_type[] = { +static const struct device_type *source_type[] = { [PDO_TYPE_FIXED] = &source_fixed_supply_type, [PDO_TYPE_BATT] = &source_battery_type, [PDO_TYPE_VAR] = &source_variable_supply_type, }; -static struct device_type *source_apdo_type[] = { +static const struct device_type *source_apdo_type[] = { [APDO_TYPE_PPS] = &source_pps_type, }; -static struct device_type *sink_type[] = { +static const struct device_type *sink_type[] = { [PDO_TYPE_FIXED] = &sink_fixed_supply_type, [PDO_TYPE_BATT] = &sink_battery_type, [PDO_TYPE_VAR] = &sink_variable_supply_type, }; -static struct device_type *sink_apdo_type[] = { +static const struct device_type *sink_apdo_type[] = { [APDO_TYPE_PPS] = &sink_pps_type, }; /* REVISIT: Export when EPR_*_Capabilities need to be supported. */ static int add_pdo(struct usb_power_delivery_capabilities *cap, u32 pdo, int position) { - struct device_type *type; + const struct device_type *type; const char *name; struct pdo *p; int ret; @@ -460,7 +460,7 @@ static void pd_capabilities_release(struct device *dev) kfree(to_usb_power_delivery_capabilities(dev)); } -static struct device_type pd_capabilities_type = { +static const struct device_type pd_capabilities_type = { .name = "capabilities", .release = pd_capabilities_release, }; @@ -575,7 +575,7 @@ static void pd_release(struct device *dev) kfree(pd); } -static struct device_type pd_type = { +static const struct device_type pd_type = { .name = "usb_power_delivery", .release = pd_release, .groups = pd_groups,
Since commit aed65af1cc2f ("drivers: make device_type const"), the driver core can properly handle constant struct device_type. Move all the device_type variables in use by the driver to be constant structures as well, placing it into read-only memory which can not be modified at runtime. Signed-off-by: Ricardo B. Marliere <ricardo@marliere.net> --- drivers/usb/typec/pd.c | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-)