From: Basavaraj Natikar <[email protected]>

[Backport]: to fix amd_sfh init fail issue in ASDN

Current amd_sfh driver has float_to_int() to convert units from
float to int. This is fine until this function gets called outside of
the current scope of file.

Add a prefix "amd_sfh" to float_to_int() so that function represents
the driver name. This function will be called by multiple callers in the
next patch.

Link: 
https://lore.kernel.org/all/[email protected]/
Reviewed-by: Ilpo Järvinen <[email protected]>
Co-developed-by: Shyam Sundar S K <[email protected]>
Signed-off-by: Shyam Sundar S K <[email protected]>
Signed-off-by: Basavaraj Natikar <[email protected]>
Signed-off-by: Jiri Kosina <[email protected]>
(cherry picked from commit 4e71d262899d7bab1f0c65936a2e639afeb83e4d)
---
 drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_desc.c | 28 ++++++++++---------
 .../amd-sfh-hid/sfh1_1/amd_sfh_interface.h    |  1 +
 2 files changed, 16 insertions(+), 13 deletions(-)

diff --git a/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_desc.c 
b/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_desc.c
index 8a037de08e92..33fbdde8aff0 100644
--- a/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_desc.c
+++ b/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_desc.c
@@ -132,7 +132,7 @@ static void get_common_inputs(struct common_input_property 
*common, int report_i
        common->event_type = HID_USAGE_SENSOR_EVENT_DATA_UPDATED_ENUM;
 }
 
-static int float_to_int(u32 flt32_val)
+int amd_sfh_float_to_int(u32 flt32_val)
 {
        int fraction, shift, mantissa, sign, exp, zeropre;
 
@@ -201,9 +201,9 @@ static u8 get_input_rep(u8 current_index, int sensor_idx, 
int report_id,
                             OFFSET_SENSOR_DATA_DEFAULT;
                memcpy_fromio(&accel_data, sensoraddr, sizeof(struct 
sfh_accel_data));
                get_common_inputs(&acc_input.common_property, report_id);
-               acc_input.in_accel_x_value = 
float_to_int(accel_data.acceldata.x) / 100;
-               acc_input.in_accel_y_value = 
float_to_int(accel_data.acceldata.y) / 100;
-               acc_input.in_accel_z_value = 
float_to_int(accel_data.acceldata.z) / 100;
+               acc_input.in_accel_x_value = 
amd_sfh_float_to_int(accel_data.acceldata.x) / 100;
+               acc_input.in_accel_y_value = 
amd_sfh_float_to_int(accel_data.acceldata.y) / 100;
+               acc_input.in_accel_z_value = 
amd_sfh_float_to_int(accel_data.acceldata.z) / 100;
                memcpy(input_report, &acc_input, sizeof(acc_input));
                report_size = sizeof(acc_input);
                break;
@@ -212,9 +212,9 @@ static u8 get_input_rep(u8 current_index, int sensor_idx, 
int report_id,
                             OFFSET_SENSOR_DATA_DEFAULT;
                memcpy_fromio(&gyro_data, sensoraddr, sizeof(struct 
sfh_gyro_data));
                get_common_inputs(&gyro_input.common_property, report_id);
-               gyro_input.in_angel_x_value = 
float_to_int(gyro_data.gyrodata.x) / 1000;
-               gyro_input.in_angel_y_value = 
float_to_int(gyro_data.gyrodata.y) / 1000;
-               gyro_input.in_angel_z_value = 
float_to_int(gyro_data.gyrodata.z) / 1000;
+               gyro_input.in_angel_x_value = 
amd_sfh_float_to_int(gyro_data.gyrodata.x) / 1000;
+               gyro_input.in_angel_y_value = 
amd_sfh_float_to_int(gyro_data.gyrodata.y) / 1000;
+               gyro_input.in_angel_z_value = 
amd_sfh_float_to_int(gyro_data.gyrodata.z) / 1000;
                memcpy(input_report, &gyro_input, sizeof(gyro_input));
                report_size = sizeof(gyro_input);
                break;
@@ -223,9 +223,9 @@ static u8 get_input_rep(u8 current_index, int sensor_idx, 
int report_id,
                             OFFSET_SENSOR_DATA_DEFAULT;
                memcpy_fromio(&mag_data, sensoraddr, sizeof(struct 
sfh_mag_data));
                get_common_inputs(&magno_input.common_property, report_id);
-               magno_input.in_magno_x = float_to_int(mag_data.magdata.x) / 100;
-               magno_input.in_magno_y = float_to_int(mag_data.magdata.y) / 100;
-               magno_input.in_magno_z = float_to_int(mag_data.magdata.z) / 100;
+               magno_input.in_magno_x = 
amd_sfh_float_to_int(mag_data.magdata.x) / 100;
+               magno_input.in_magno_y = 
amd_sfh_float_to_int(mag_data.magdata.y) / 100;
+               magno_input.in_magno_z = 
amd_sfh_float_to_int(mag_data.magdata.z) / 100;
                magno_input.in_magno_accuracy = mag_data.accuracy / 100;
                memcpy(input_report, &magno_input, sizeof(magno_input));
                report_size = sizeof(magno_input);
@@ -235,13 +235,15 @@ static u8 get_input_rep(u8 current_index, int sensor_idx, 
int report_id,
                             OFFSET_SENSOR_DATA_DEFAULT;
                memcpy_fromio(&als_data, sensoraddr, sizeof(struct 
sfh_als_data));
                get_common_inputs(&als_input.common_property, report_id);
-               als_input.illuminance_value = float_to_int(als_data.lux);
+               als_input.illuminance_value = 
amd_sfh_float_to_int(als_data.lux);
 
                memcpy_fromio(&binfo, mp2->vsbase, sizeof(struct 
sfh_base_info));
                if (binfo.sbase.s_prop[ALS_IDX].sf.feat & 0x2) {
                        als_input.light_color_temp = als_data.light_color_temp;
-                       als_input.chromaticity_x_value = 
float_to_int(als_data.chromaticity_x);
-                       als_input.chromaticity_y_value = 
float_to_int(als_data.chromaticity_y);
+                       als_input.chromaticity_x_value =
+                               amd_sfh_float_to_int(als_data.chromaticity_x);
+                       als_input.chromaticity_y_value =
+                               amd_sfh_float_to_int(als_data.chromaticity_y);
                }
 
                report_size = sizeof(als_input);
diff --git a/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_interface.h 
b/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_interface.h
index 656c3e95ef8c..75267b0fec70 100644
--- a/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_interface.h
+++ b/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_interface.h
@@ -166,4 +166,5 @@ struct hpd_status {
 
 void sfh_interface_init(struct amd_mp2_dev *mp2);
 void amd_sfh1_1_set_desc_ops(struct amd_mp2_ops *mp2_ops);
+int amd_sfh_float_to_int(u32 flt32_val);
 #endif
-- 
2.25.1

Reply via email to