From 2a356736f74cf55f852da87e83978447d58a4c04 Mon Sep 17 00:00:00 2001 From: Yaroslav Chvanov Date: Sun, 5 Mar 2023 16:15:53 +0300 Subject: [PATCH] Fix drivers making profiles dirty while probing Fixes drivers calling public API functions which should only be called by the consumers of the library. The real problem here is that we don't have a clear separation between driver API and public API. This is just a simple search and replace, so there be more such things. --- src/driver-asus.c | 12 ++++++------ src/driver-etekcity.c | 2 +- src/driver-gskill.c | 2 +- src/driver-hidpp10.c | 2 +- src/driver-hidpp20.c | 2 +- src/driver-logitech-g300.c | 2 +- src/driver-logitech-g600.c | 2 +- src/driver-roccat-kone-emp.c | 2 +- src/driver-roccat-kone-pure.c | 2 +- src/driver-roccat.c | 2 +- src/driver-sinowealth.c | 2 +- src/driver-steelseries.c | 2 +- src/driver-test.c | 2 +- 13 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/driver-asus.c b/src/driver-asus.c index 4a062a1a..215b9171 100644 --- a/src/driver-asus.c +++ b/src/driver-asus.c @@ -147,9 +147,9 @@ asus_driver_load_profile(struct ratbag_device *device, struct ratbag_profile *pr switch (dpi_count) { case 2: /* 2 DPI presets */ - ratbag_profile_set_report_rate(profile, resolution_data.data2.rate); - ratbag_profile_set_angle_snapping(profile, resolution_data.data2.snapping); - ratbag_profile_set_debounce(profile, resolution_data.data2.response); + profile->hz = resolution_data.data2.rate; + profile->angle_snapping = resolution_data.data2.snapping; + profile->debounce = resolution_data.data2.response; ratbag_profile_for_each_resolution(profile, resolution) ratbag_resolution_set_resolution( resolution, @@ -158,9 +158,9 @@ asus_driver_load_profile(struct ratbag_device *device, struct ratbag_profile *pr break; case 4: /* 4 DPI presets */ - ratbag_profile_set_report_rate(profile, resolution_data.data4.rate); - ratbag_profile_set_angle_snapping(profile, resolution_data.data4.snapping); - ratbag_profile_set_debounce(profile, resolution_data.data4.response); + profile->hz = resolution_data.data4.rate; + profile->angle_snapping = resolution_data.data4.snapping; + profile->debounce = resolution_data.data4.response; ratbag_profile_for_each_resolution(profile, resolution) ratbag_resolution_set_resolution( resolution, diff --git a/src/driver-etekcity.c b/src/driver-etekcity.c index 907c6d15..30045edc 100644 --- a/src/driver-etekcity.c +++ b/src/driver-etekcity.c @@ -426,7 +426,7 @@ etekcity_read_profile(struct ratbag_profile *profile) ratbag_profile_set_report_rate_list(profile, report_rates, ARRAY_LENGTH(report_rates)); - ratbag_profile_set_report_rate(profile, report_rate); + profile->hz = report_rate; ratbag_profile_for_each_resolution(profile, resolution) { dpi_x = setting_report->xres[resolution->index] * 50; diff --git a/src/driver-gskill.c b/src/driver-gskill.c index 658c9b6e..e15bcb8b 100644 --- a/src/driver-gskill.c +++ b/src/driver-gskill.c @@ -974,7 +974,7 @@ gskill_read_resolutions(struct ratbag_profile *profile, hz = GSKILL_MAX_POLLING_RATE / (report->polling_rate + 1); ratbag_profile_set_report_rate_list(profile, rates, ARRAY_LENGTH(rates)); - ratbag_profile_set_report_rate(profile, hz); + profile->hz = hz; for (i = 0; i < report->dpi_num; i++) { _cleanup_resolution_ struct ratbag_resolution *resolution = NULL; diff --git a/src/driver-hidpp10.c b/src/driver-hidpp10.c index 2c0c5bde..94dd36ea 100644 --- a/src/driver-hidpp10.c +++ b/src/driver-hidpp10.c @@ -430,7 +430,7 @@ hidpp10drv_read_profile(struct ratbag_profile *profile) } ratbag_profile_set_report_rate_list(profile, rates, ARRAY_LENGTH(rates)); - ratbag_profile_set_report_rate(profile, p.refresh_rate); + profile->hz = p.refresh_rate; ratbag_profile_for_each_button(profile, button) hidpp10drv_read_button(button); diff --git a/src/driver-hidpp20.c b/src/driver-hidpp20.c index 449fd5bb..fa80cc92 100644 --- a/src/driver-hidpp20.c +++ b/src/driver-hidpp20.c @@ -1245,7 +1245,7 @@ hidpp20drv_read_profile_8100(struct ratbag_profile *profile) ratbag_profile_set_report_rate_list(profile, drv_data->report_rates, drv_data->num_report_rates); - ratbag_profile_set_report_rate(profile, p->report_rate); + profile->hz = p->report_rate; } static int diff --git a/src/driver-logitech-g300.c b/src/driver-logitech-g300.c index b87893f7..ceb121a2 100644 --- a/src/driver-logitech-g300.c +++ b/src/driver-logitech-g300.c @@ -415,7 +415,7 @@ logitech_g300_read_profile(struct ratbag_profile *profile) hz = logitech_g300_raw_to_frequency(report->frequency); ratbag_profile_set_report_rate_list(profile, &hz, 1); - ratbag_profile_set_report_rate(profile, hz); + profile->hz = hz; ratbag_profile_for_each_resolution(profile, resolution) { struct logitech_g300_resolution *res = diff --git a/src/driver-logitech-g600.c b/src/driver-logitech-g600.c index 256b10ac..9115d2f7 100644 --- a/src/driver-logitech-g600.c +++ b/src/driver-logitech-g600.c @@ -400,7 +400,7 @@ logitech_g600_read_profile(struct ratbag_profile *profile) ratbag_profile_set_report_rate_list(profile, report_rates, ARRAY_LENGTH(report_rates)); - ratbag_profile_set_report_rate(profile, 1000 / (report->frequency + 1)); + profile->hz = 1000 / (report->frequency + 1); ratbag_profile_for_each_resolution(profile, resolution) { resolution->dpi_x = report->dpi[resolution->index] * 50; diff --git a/src/driver-roccat-kone-emp.c b/src/driver-roccat-kone-emp.c index 3aeafc4a..c0461da5 100644 --- a/src/driver-roccat-kone-emp.c +++ b/src/driver-roccat-kone-emp.c @@ -871,7 +871,7 @@ roccat_read_dpi(struct roccat_settings_report* settings, struct ratbag_profile* ratbag_profile_set_report_rate_list(profile, report_rates, ARRAY_LENGTH(report_rates)); - ratbag_profile_set_report_rate(profile, report_rate); + profile->hz = report_rate; ratbag_profile_for_each_resolution(profile, resolution) { dpi_x = settings->xres[resolution->index] * 100 + 100; diff --git a/src/driver-roccat-kone-pure.c b/src/driver-roccat-kone-pure.c index 019e0134..9c629c66 100644 --- a/src/driver-roccat-kone-pure.c +++ b/src/driver-roccat-kone-pure.c @@ -684,7 +684,7 @@ roccat_read_profile(struct ratbag_profile *profile) ratbag_profile_set_report_rate_list(profile, report_rates, ARRAY_LENGTH(report_rates)); - ratbag_profile_set_report_rate(profile, report_rate); + profile->hz = report_rate; ratbag_profile_for_each_resolution(profile, resolution) { dpi_x = setting_report->xres[resolution->index] * 50; diff --git a/src/driver-roccat.c b/src/driver-roccat.c index 4586c0e7..48783c24 100644 --- a/src/driver-roccat.c +++ b/src/driver-roccat.c @@ -679,7 +679,7 @@ roccat_read_profile(struct ratbag_profile *profile) ratbag_profile_set_report_rate_list(profile, report_rates, ARRAY_LENGTH(report_rates)); - ratbag_profile_set_report_rate(profile, report_rate); + profile->hz = report_rate; ratbag_profile_for_each_resolution(profile, resolution) { dpi_x = setting_report->xres[resolution->index] * 50; diff --git a/src/driver-sinowealth.c b/src/driver-sinowealth.c index 189b1c5e..51141d34 100644 --- a/src/driver-sinowealth.c +++ b/src/driver-sinowealth.c @@ -1146,7 +1146,7 @@ sinowealth_update_profile_from_config(struct ratbag_profile *profile) /* Report rate */ const unsigned int hz = sinowealth_raw_to_report_rate(config->report_rate); - ratbag_profile_set_report_rate(profile, hz); + profile->hz = hz; unsigned int enabled_dpi_count = 0; ratbag_profile_for_each_resolution(profile, resolution) { diff --git a/src/driver-steelseries.c b/src/driver-steelseries.c index 8cf81061..487ab630 100644 --- a/src/driver-steelseries.c +++ b/src/driver-steelseries.c @@ -348,7 +348,7 @@ steelseries_probe(struct ratbag_device *device) ratbag_profile_set_cap(profile, RATBAG_PROFILE_CAP_WRITE_ONLY); ratbag_profile_set_report_rate_list(profile, report_rates, ARRAY_LENGTH(report_rates)); - ratbag_profile_set_report_rate(profile, 1000); + profile->hz = 1000; ratbag_profile_for_each_resolution(profile, resolution) { if (resolution->index == 0) { diff --git a/src/driver-test.c b/src/driver-test.c index 4d8d8e4d..9a37e1bd 100644 --- a/src/driver-test.c +++ b/src/driver-test.c @@ -162,7 +162,7 @@ test_read_profile(struct ratbag_profile *profile) ratbag_profile_set_report_rate_list(profile, p0->report_rates, nrates); - ratbag_profile_set_report_rate(profile, p->hz); + profile->hz = p->hz; for (i = 0; i < d->num_resolutions; i++) { _cleanup_resolution_ struct ratbag_resolution *res = NULL;