-
Notifications
You must be signed in to change notification settings - Fork 21
feat(t500rs): add USB interrupt-transfer driver; Proton/Steam working… #175
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 1 commit
be8c39d
dcb3704
9c8c1f0
768afca
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -64,6 +64,12 @@ struct tmff2_device_entry { | |
|
|
||
| spinlock_t lock; | ||
|
|
||
| /* Pending control changes to be applied from workqueue context */ | ||
|
Owner
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Do these really have to applied from within the workqueue? That's somewhat surprising to me. If they do, I would prefer that they were added as
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. While using usb interrupts, the workqueue deferral IS necessary because:
We cannot use just flags without storing values because:
Owner
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
In what context would that happen? I tried following the kernel call path that ends up at Regardless, you still don't use the |
||
| uint16_t pending_gain_value; | ||
| uint16_t pending_autocenter_value; | ||
| int gain_pending; | ||
| int autocenter_pending; | ||
|
|
||
| int allow_scheduling; | ||
|
|
||
| /* fields relevant to each actual device (T300, T248...) */ | ||
|
|
@@ -92,6 +98,10 @@ struct tmff2_device_entry { | |
| ssize_t (*alt_mode_show)(void *data, char *buf); | ||
| ssize_t (*alt_mode_store)(void *data, const char *buf, size_t count); | ||
| int (*set_autocenter)(void *data, uint16_t autocenter); | ||
| int (*set_spring_level)(void *data, u8 level); | ||
Kimplul marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| int (*set_damper_level)(void *data, u8 level); | ||
| int (*set_friction_level)(void *data, u8 level); | ||
|
|
||
| __u8 *(*wheel_fixup)(struct hid_device *hdev, __u8 *rdesc, unsigned int *rsize); | ||
|
|
||
| /* void pointers are dangerous, I know, but in this case likely the | ||
|
|
@@ -100,6 +110,7 @@ struct tmff2_device_entry { | |
|
|
||
| /* external */ | ||
| int t300rs_populate_api(struct tmff2_device_entry *tmff2); | ||
| int t500rs_populate_api(struct tmff2_device_entry *tmff2); | ||
| int t248_populate_api(struct tmff2_device_entry *tmff2); | ||
| int tx_populate_api(struct tmff2_device_entry *tmff2); | ||
| int tsxw_populate_api(struct tmff2_device_entry *tmff2); | ||
|
|
@@ -108,6 +119,9 @@ int tsxw_populate_api(struct tmff2_device_entry *tmff2); | |
| #define TMT300RS_PS3_ADV_ID 0xb66f | ||
| #define TMT300RS_PS4_NORM_ID 0xb66d | ||
|
|
||
| #define TMT500RS_INIT_ID 0xb65d | ||
Kimplul marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| #define TMT500RS_PC_ID 0xb65e | ||
|
|
||
| #define TMT248_PC_ID 0xb696 | ||
|
|
||
| #define TX_ACTIVE 0xb669 | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This makefile is for all wheels, either make this be generic or just remove as I don't fully see the point of a miles long version string.
Out of curiosity, why do think it would be unfortunate to remove? Does this version string have any benefit that the DKMS version doesn't?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was marked resolved without a comment as to why, and I don't see an answer to my question in the second paragraph: