Skip to content

Commit 0b209ec

Browse files
tititiou36sre
authored andcommitted
power: supply: samsung-sdi-battery: Constify struct power_supply_maintenance_charge_table
'struct power_supply_maintenance_charge_table' is not modified in this driver. Constifying this structure moves some data to a read-only section, so increase overall security. In order to do it, some code also needs to be adjusted to this new const qualifier. On a x86_64, with allmodconfig: Before: ====== $ size drivers/power/supply/samsung-sdi-battery.o text data bss dec hex filename 4055 4584 0 8639 21bf drivers/power/supply/samsung-sdi-battery.o After: ===== $ size drivers/power/supply/samsung-sdi-battery.o text data bss dec hex filename 4087 4552 0 8639 21bf drivers/power/supply/samsung-sdi-battery.o Signed-off-by: Christophe JAILLET <[email protected]> Link: https://lore.kernel.org/r/6caafd0ac2556a40405273b1a4badc508ea8e9b0.1719125040.git.christophe.jaillet@wanadoo.fr Signed-off-by: Sebastian Reichel <[email protected]>
1 parent 5d55721 commit 0b209ec

File tree

4 files changed

+6
-6
lines changed

4 files changed

+6
-6
lines changed

drivers/power/supply/ab8500_chargalg.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1225,8 +1225,8 @@ static bool ab8500_chargalg_time_to_restart(struct ab8500_chargalg *di)
12251225
*/
12261226
static void ab8500_chargalg_algorithm(struct ab8500_chargalg *di)
12271227
{
1228+
const struct power_supply_maintenance_charge_table *mt;
12281229
struct power_supply_battery_info *bi = di->bm->bi;
1229-
struct power_supply_maintenance_charge_table *mt;
12301230
int charger_status;
12311231
int ret;
12321232

drivers/power/supply/power_supply_core.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1072,7 +1072,7 @@ int power_supply_vbat2ri(struct power_supply_battery_info *info,
10721072
}
10731073
EXPORT_SYMBOL_GPL(power_supply_vbat2ri);
10741074

1075-
struct power_supply_maintenance_charge_table *
1075+
const struct power_supply_maintenance_charge_table *
10761076
power_supply_get_maintenance_charging_setting(struct power_supply_battery_info *info,
10771077
int index)
10781078
{

drivers/power/supply/samsung-sdi-battery.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -613,7 +613,7 @@ static struct power_supply_battery_ocv_table samsung_ocv_cap_eb585157lu[] = {
613613
{ .ocv = 3300000, .capacity = 0},
614614
};
615615

616-
static struct power_supply_maintenance_charge_table samsung_maint_charge_table[] = {
616+
static const struct power_supply_maintenance_charge_table samsung_maint_charge_table[] = {
617617
{
618618
/* Maintenance charging phase A, 60 hours */
619619
.charge_current_max_ua = 600000,

include/linux/power_supply.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -736,7 +736,7 @@ struct power_supply_battery_info {
736736
int overvoltage_limit_uv;
737737
int constant_charge_current_max_ua;
738738
int constant_charge_voltage_max_uv;
739-
struct power_supply_maintenance_charge_table *maintenance_charge;
739+
const struct power_supply_maintenance_charge_table *maintenance_charge;
740740
int maintenance_charge_size;
741741
int alert_low_temp_charge_current_ua;
742742
int alert_low_temp_charge_voltage_uv;
@@ -810,7 +810,7 @@ power_supply_temp2resist_simple(struct power_supply_resistance_temp_table *table
810810
int table_len, int temp);
811811
extern int power_supply_vbat2ri(struct power_supply_battery_info *info,
812812
int vbat_uv, bool charging);
813-
extern struct power_supply_maintenance_charge_table *
813+
extern const struct power_supply_maintenance_charge_table *
814814
power_supply_get_maintenance_charging_setting(struct power_supply_battery_info *info, int index);
815815
extern bool power_supply_battery_bti_in_range(struct power_supply_battery_info *info,
816816
int resistance);
@@ -824,7 +824,7 @@ extern int power_supply_set_battery_charged(struct power_supply *psy);
824824
static inline bool
825825
power_supply_supports_maintenance_charging(struct power_supply_battery_info *info)
826826
{
827-
struct power_supply_maintenance_charge_table *mt;
827+
const struct power_supply_maintenance_charge_table *mt;
828828

829829
mt = power_supply_get_maintenance_charging_setting(info, 0);
830830

0 commit comments

Comments
 (0)