mirror of
git://git.yoctoproject.org/linux-yocto.git
synced 2025-12-17 16:18:25 +01:00
HID: stop exporting hid_snto32()
The only user of hid_snto32() is Logitech HID++ driver, which always calls hid_snto32() with valid size (constant, either 12 or 8) and therefore can simply use sign_extend32(). Make the switch and remove hid_snto32(). Move snto32() and s32ton() to avoid introducing forward declaration. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Link: https://patch.msgid.link/20241003144656.3786064-2-dmitry.torokhov@gmail.com [bentiss: fix checkpatch warning] Signed-off-by: Benjamin Tissoires <bentiss@kernel.org>
This commit is contained in:
parent
ae9b956cb2
commit
c653ffc283
|
|
@ -45,6 +45,34 @@ static int hid_ignore_special_drivers = 0;
|
|||
module_param_named(ignore_special_drivers, hid_ignore_special_drivers, int, 0600);
|
||||
MODULE_PARM_DESC(ignore_special_drivers, "Ignore any special drivers and handle all devices by generic driver");
|
||||
|
||||
/*
|
||||
* Convert a signed n-bit integer to signed 32-bit integer.
|
||||
*/
|
||||
|
||||
static s32 snto32(__u32 value, unsigned int n)
|
||||
{
|
||||
if (!value || !n)
|
||||
return 0;
|
||||
|
||||
if (n > 32)
|
||||
n = 32;
|
||||
|
||||
return sign_extend32(value, n - 1);
|
||||
}
|
||||
|
||||
/*
|
||||
* Convert a signed 32-bit integer to a signed n-bit integer.
|
||||
*/
|
||||
|
||||
static u32 s32ton(__s32 value, unsigned int n)
|
||||
{
|
||||
s32 a = value >> (n - 1);
|
||||
|
||||
if (a && a != -1)
|
||||
return value < 0 ? 1 << (n - 1) : (1 << (n - 1)) - 1;
|
||||
return value & ((1 << n) - 1);
|
||||
}
|
||||
|
||||
/*
|
||||
* Register a new report for a device.
|
||||
*/
|
||||
|
|
@ -425,7 +453,7 @@ static int hid_parser_global(struct hid_parser *parser, struct hid_item *item)
|
|||
* both this and the standard encoding. */
|
||||
raw_value = item_sdata(item);
|
||||
if (!(raw_value & 0xfffffff0))
|
||||
parser->global.unit_exponent = hid_snto32(raw_value, 4);
|
||||
parser->global.unit_exponent = snto32(raw_value, 4);
|
||||
else
|
||||
parser->global.unit_exponent = raw_value;
|
||||
return 0;
|
||||
|
|
@ -1312,39 +1340,6 @@ alloc_err:
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(hid_open_report);
|
||||
|
||||
/*
|
||||
* Convert a signed n-bit integer to signed 32-bit integer.
|
||||
*/
|
||||
|
||||
static s32 snto32(__u32 value, unsigned n)
|
||||
{
|
||||
if (!value || !n)
|
||||
return 0;
|
||||
|
||||
if (n > 32)
|
||||
n = 32;
|
||||
|
||||
return sign_extend32(value, n - 1);
|
||||
}
|
||||
|
||||
s32 hid_snto32(__u32 value, unsigned n)
|
||||
{
|
||||
return snto32(value, n);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(hid_snto32);
|
||||
|
||||
/*
|
||||
* Convert a signed 32-bit integer to a signed n-bit integer.
|
||||
*/
|
||||
|
||||
static u32 s32ton(__s32 value, unsigned n)
|
||||
{
|
||||
s32 a = value >> (n - 1);
|
||||
if (a && a != -1)
|
||||
return value < 0 ? 1 << (n - 1) : (1 << (n - 1)) - 1;
|
||||
return value & ((1 << n) - 1);
|
||||
}
|
||||
|
||||
/*
|
||||
* Extract/implement a data field from/to a little endian report (bit array).
|
||||
*
|
||||
|
|
|
|||
|
|
@ -3296,13 +3296,13 @@ static int m560_raw_event(struct hid_device *hdev, u8 *data, int size)
|
|||
120);
|
||||
}
|
||||
|
||||
v = hid_snto32(hid_field_extract(hdev, data+3, 0, 12), 12);
|
||||
v = sign_extend32(hid_field_extract(hdev, data + 3, 0, 12), 11);
|
||||
input_report_rel(hidpp->input, REL_X, v);
|
||||
|
||||
v = hid_snto32(hid_field_extract(hdev, data+3, 12, 12), 12);
|
||||
v = sign_extend32(hid_field_extract(hdev, data + 3, 12, 12), 11);
|
||||
input_report_rel(hidpp->input, REL_Y, v);
|
||||
|
||||
v = hid_snto32(data[6], 8);
|
||||
v = sign_extend32(data[6], 7);
|
||||
if (v != 0)
|
||||
hidpp_scroll_counter_handle_scroll(hidpp->input,
|
||||
&hidpp->vertical_wheel_counter, v);
|
||||
|
|
|
|||
|
|
@ -974,7 +974,6 @@ const struct hid_device_id *hid_match_device(struct hid_device *hdev,
|
|||
struct hid_driver *hdrv);
|
||||
bool hid_compare_device_paths(struct hid_device *hdev_a,
|
||||
struct hid_device *hdev_b, char separator);
|
||||
s32 hid_snto32(__u32 value, unsigned n);
|
||||
__u32 hid_field_extract(const struct hid_device *hid, __u8 *report,
|
||||
unsigned offset, unsigned n);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user