| From 18fb9bbc8cd16f86addce464172b451415e2fa2e Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 11 Feb 2025 15:35:10 +0100 |
| Subject: HID: pidff: Comment and code style update |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| From: Tomasz Pakuła <tomasz.pakula.oficjalny@gmail.com> |
| |
| [ Upstream commit e19675c2477491401b236ed939ad5a43ddc339af ] |
| |
| Update comments to fully conform to the Linux comment styling. |
| Define Linux infinite effect duration (0) as FF_INFINITE |
| |
| Chanage Oleg's name order |
| |
| Signed-off-by: Tomasz Pakuła <tomasz.pakula.oficjalny@gmail.com> |
| Signed-off-by: Jiri Kosina <jkosina@suse.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/hid/usbhid/hid-pidff.c | 57 +++++++++++++++------------------- |
| 1 file changed, 25 insertions(+), 32 deletions(-) |
| |
| diff --git a/drivers/hid/usbhid/hid-pidff.c b/drivers/hid/usbhid/hid-pidff.c |
| index 503f643b59cad..e2508a4d754d3 100644 |
| --- a/drivers/hid/usbhid/hid-pidff.c |
| +++ b/drivers/hid/usbhid/hid-pidff.c |
| @@ -3,13 +3,9 @@ |
| * Force feedback driver for USB HID PID compliant devices |
| * |
| * Copyright (c) 2005, 2006 Anssi Hannula <anssi.hannula@gmail.com> |
| + * Upgraded 2025 by Oleg Makarenko and Tomasz Pakuła |
| */ |
| |
| -/* |
| - */ |
| - |
| -/* #define DEBUG */ |
| - |
| #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt |
| |
| #include "hid-pidff.h" |
| @@ -25,9 +21,9 @@ |
| |
| /* Linux Force Feedback API uses miliseconds as time unit */ |
| #define FF_TIME_EXPONENT -3 |
| +#define FF_INFINITE 0 |
| |
| /* Report usage table used to put reports into an array */ |
| - |
| #define PID_SET_EFFECT 0 |
| #define PID_EFFECT_OPERATION 1 |
| #define PID_DEVICE_GAIN 2 |
| @@ -48,12 +44,12 @@ static const u8 pidff_reports[] = { |
| 0x21, 0x77, 0x7d, 0x7f, 0x89, 0x90, 0x96, 0xab, |
| 0x5a, 0x5f, 0x6e, 0x73, 0x74 |
| }; |
| - |
| -/* device_control is really 0x95, but 0x96 specified as it is the usage of |
| -the only field in that report */ |
| +/* |
| + * device_control is really 0x95, but 0x96 specified |
| + * as it is the usage of the only field in that report. |
| + */ |
| |
| /* PID special fields */ |
| - |
| #define PID_EFFECT_TYPE 0x25 |
| #define PID_DIRECTION 0x57 |
| #define PID_EFFECT_OPERATION_ARRAY 0x78 |
| @@ -61,7 +57,6 @@ the only field in that report */ |
| #define PID_DEVICE_CONTROL_ARRAY 0x96 |
| |
| /* Value usage tables used to put fields and values into arrays */ |
| - |
| #define PID_EFFECT_BLOCK_INDEX 0 |
| |
| #define PID_DURATION 1 |
| @@ -119,7 +114,6 @@ static const u8 pidff_device_gain[] = { 0x7e }; |
| static const u8 pidff_pool[] = { 0x80, 0x83, 0xa9 }; |
| |
| /* Special field key tables used to put special field keys into arrays */ |
| - |
| #define PID_ENABLE_ACTUATORS 0 |
| #define PID_DISABLE_ACTUATORS 1 |
| #define PID_STOP_ALL_EFFECTS 2 |
| @@ -176,8 +170,10 @@ struct pidff_device { |
| struct pidff_usage effect_operation[sizeof(pidff_effect_operation)]; |
| struct pidff_usage block_free[sizeof(pidff_block_free)]; |
| |
| - /* Special field is a field that is not composed of |
| - usage<->value pairs that pidff_usage values are */ |
| + /* |
| + * Special field is a field that is not composed of |
| + * usage<->value pairs that pidff_usage values are |
| + */ |
| |
| /* Special field in create_new_effect */ |
| struct hid_field *create_new_effect_type; |
| @@ -222,7 +218,7 @@ static s32 pidff_clamp(s32 i, struct hid_field *field) |
| static int pidff_rescale(int i, int max, struct hid_field *field) |
| { |
| return i * (field->logical_maximum - field->logical_minimum) / max + |
| - field->logical_minimum; |
| + field->logical_minimum; |
| } |
| |
| /* |
| @@ -282,9 +278,8 @@ static void pidff_set_time(struct pidff_usage *usage, u16 time) |
| |
| static void pidff_set_duration(struct pidff_usage *usage, u16 duration) |
| { |
| - /* Convert infinite length from Linux API (0) |
| - to PID standard (NULL) if needed */ |
| - if (duration == 0) |
| + /* Infinite value conversion from Linux API -> PID */ |
| + if (duration == FF_INFINITE) |
| duration = PID_INFINITE; |
| |
| if (duration == PID_INFINITE) { |
| @@ -302,16 +297,16 @@ static void pidff_set_envelope_report(struct pidff_device *pidff, |
| struct ff_envelope *envelope) |
| { |
| pidff->set_envelope[PID_EFFECT_BLOCK_INDEX].value[0] = |
| - pidff->block_load[PID_EFFECT_BLOCK_INDEX].value[0]; |
| + pidff->block_load[PID_EFFECT_BLOCK_INDEX].value[0]; |
| |
| pidff->set_envelope[PID_ATTACK_LEVEL].value[0] = |
| - pidff_rescale(envelope->attack_level > |
| - S16_MAX ? S16_MAX : envelope->attack_level, S16_MAX, |
| - pidff->set_envelope[PID_ATTACK_LEVEL].field); |
| + pidff_rescale(envelope->attack_level > |
| + S16_MAX ? S16_MAX : envelope->attack_level, S16_MAX, |
| + pidff->set_envelope[PID_ATTACK_LEVEL].field); |
| pidff->set_envelope[PID_FADE_LEVEL].value[0] = |
| - pidff_rescale(envelope->fade_level > |
| - S16_MAX ? S16_MAX : envelope->fade_level, S16_MAX, |
| - pidff->set_envelope[PID_FADE_LEVEL].field); |
| + pidff_rescale(envelope->fade_level > |
| + S16_MAX ? S16_MAX : envelope->fade_level, S16_MAX, |
| + pidff->set_envelope[PID_FADE_LEVEL].field); |
| |
| pidff_set_time(&pidff->set_envelope[PID_ATTACK_TIME], |
| envelope->attack_length); |
| @@ -702,9 +697,7 @@ static void pidff_playback_pid(struct pidff_device *pidff, int pid_id, int n) |
| static int pidff_playback(struct input_dev *dev, int effect_id, int value) |
| { |
| struct pidff_device *pidff = dev->ff->private; |
| - |
| pidff_playback_pid(pidff, pidff->pid_id[effect_id], value); |
| - |
| return 0; |
| } |
| |
| @@ -732,8 +725,11 @@ static int pidff_erase_effect(struct input_dev *dev, int effect_id) |
| |
| hid_dbg(pidff->hid, "starting to erase %d/%d\n", |
| effect_id, pidff->pid_id[effect_id]); |
| - /* Wait for the queue to clear. We do not want a full fifo to |
| - prevent the effect removal. */ |
| + |
| + /* |
| + * Wait for the queue to clear. We do not want |
| + * a full fifo to prevent the effect removal. |
| + */ |
| hid_hw_wait(pidff->hid); |
| pidff_playback_pid(pidff, pid_id, 0); |
| pidff_erase_pid(pidff, pid_id); |
| @@ -1239,7 +1235,6 @@ static int pidff_find_effects(struct pidff_device *pidff, |
| set_bit(FF_FRICTION, dev->ffbit); |
| |
| return 0; |
| - |
| } |
| |
| #define PIDFF_FIND_FIELDS(name, report, strict) \ |
| @@ -1370,12 +1365,10 @@ static int pidff_check_autocenter(struct pidff_device *pidff, |
| hid_notice(pidff->hid, |
| "device has unknown autocenter control method\n"); |
| } |
| - |
| pidff_erase_pid(pidff, |
| pidff->block_load[PID_EFFECT_BLOCK_INDEX].value[0]); |
| |
| return 0; |
| - |
| } |
| |
| /* |
| -- |
| 2.39.5 |
| |