aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/usb
diff options
context:
space:
mode:
authorVladimir Kondratyev <wulf@FreeBSD.org>2023-08-03 16:10:50 +0000
committerVladimir Kondratyev <wulf@FreeBSD.org>2023-08-03 16:10:50 +0000
commit4b1712817e56840acc5e9fd59028ef79007ff579 (patch)
tree76debd7533a189da98c37a4486910d1f46481613 /sys/dev/usb
parentb109946d7564afde6f3d3b3a78f428c8da14e17c (diff)
hid: Add child device parameter to HID methods
Some devices like Apple HID-over-SPI may contain more than one report descriptors necessitating creation of multiple hidbus children. Add indentificator of child devices to distinct them. No functional changes intended. Differential Revision: https://reviews.freebsd.org/D41246
Diffstat (limited to 'sys/dev/usb')
-rw-r--r--sys/dev/usb/input/usbhid.c37
1 files changed, 21 insertions, 16 deletions
diff --git a/sys/dev/usb/input/usbhid.c b/sys/dev/usb/input/usbhid.c
index 95be0b647da9..a88d2cfac1c2 100644
--- a/sys/dev/usb/input/usbhid.c
+++ b/sys/dev/usb/input/usbhid.c
@@ -333,8 +333,8 @@ usbhid_xfer_check_len(struct usbhid_softc* sc, int xfer_idx, hid_size_t len)
}
static void
-usbhid_intr_setup(device_t dev, hid_intr_t intr, void *context,
- struct hid_rdesc_info *rdesc)
+usbhid_intr_setup(device_t dev, device_t child __unused, hid_intr_t intr,
+ void *context, struct hid_rdesc_info *rdesc)
{
struct usbhid_softc* sc = device_get_softc(dev);
uint16_t n;
@@ -406,7 +406,7 @@ usbhid_intr_setup(device_t dev, hid_intr_t intr, void *context,
}
static void
-usbhid_intr_unsetup(device_t dev)
+usbhid_intr_unsetup(device_t dev, device_t child __unused)
{
struct usbhid_softc* sc = device_get_softc(dev);
@@ -419,7 +419,7 @@ usbhid_intr_unsetup(device_t dev)
}
static int
-usbhid_intr_start(device_t dev)
+usbhid_intr_start(device_t dev, device_t child __unused)
{
struct usbhid_softc* sc = device_get_softc(dev);
@@ -450,7 +450,7 @@ usbhid_intr_start(device_t dev)
}
static int
-usbhid_intr_stop(device_t dev)
+usbhid_intr_stop(device_t dev, device_t child __unused)
{
struct usbhid_softc* sc = device_get_softc(dev);
@@ -463,7 +463,7 @@ usbhid_intr_stop(device_t dev)
}
static void
-usbhid_intr_poll(device_t dev)
+usbhid_intr_poll(device_t dev, device_t child __unused)
{
struct usbhid_softc* sc = device_get_softc(dev);
@@ -538,7 +538,8 @@ usbhid_sync_xfer(struct usbhid_softc* sc, int xfer_idx,
}
static int
-usbhid_get_rdesc(device_t dev, void *buf, hid_size_t len)
+usbhid_get_rdesc(device_t dev, device_t child __unused, void *buf,
+ hid_size_t len)
{
struct usbhid_softc* sc = device_get_softc(dev);
int error;
@@ -553,8 +554,8 @@ usbhid_get_rdesc(device_t dev, void *buf, hid_size_t len)
}
static int
-usbhid_get_report(device_t dev, void *buf, hid_size_t maxlen,
- hid_size_t *actlen, uint8_t type, uint8_t id)
+usbhid_get_report(device_t dev, device_t child __unused, void *buf,
+ hid_size_t maxlen, hid_size_t *actlen, uint8_t type, uint8_t id)
{
struct usbhid_softc* sc = device_get_softc(dev);
union usbhid_device_request req;
@@ -579,8 +580,8 @@ usbhid_get_report(device_t dev, void *buf, hid_size_t maxlen,
}
static int
-usbhid_set_report(device_t dev, const void *buf, hid_size_t len, uint8_t type,
- uint8_t id)
+usbhid_set_report(device_t dev, device_t child __unused, const void *buf,
+ hid_size_t len, uint8_t type, uint8_t id)
{
struct usbhid_softc* sc = device_get_softc(dev);
union usbhid_device_request req;
@@ -602,7 +603,8 @@ usbhid_set_report(device_t dev, const void *buf, hid_size_t len, uint8_t type,
}
static int
-usbhid_read(device_t dev, void *buf, hid_size_t maxlen, hid_size_t *actlen)
+usbhid_read(device_t dev, device_t child __unused, void *buf,
+ hid_size_t maxlen, hid_size_t *actlen)
{
struct usbhid_softc* sc = device_get_softc(dev);
union usbhid_device_request req;
@@ -621,7 +623,8 @@ usbhid_read(device_t dev, void *buf, hid_size_t maxlen, hid_size_t *actlen)
}
static int
-usbhid_write(device_t dev, const void *buf, hid_size_t len)
+usbhid_write(device_t dev, device_t child __unused, const void *buf,
+ hid_size_t len)
{
struct usbhid_softc* sc = device_get_softc(dev);
union usbhid_device_request req;
@@ -637,7 +640,8 @@ usbhid_write(device_t dev, const void *buf, hid_size_t len)
}
static int
-usbhid_set_idle(device_t dev, uint16_t duration, uint8_t id)
+usbhid_set_idle(device_t dev, device_t child __unused, uint16_t duration,
+ uint8_t id)
{
struct usbhid_softc* sc = device_get_softc(dev);
union usbhid_device_request req;
@@ -659,7 +663,7 @@ usbhid_set_idle(device_t dev, uint16_t duration, uint8_t id)
}
static int
-usbhid_set_protocol(device_t dev, uint16_t protocol)
+usbhid_set_protocol(device_t dev, device_t child __unused, uint16_t protocol)
{
struct usbhid_softc* sc = device_get_softc(dev);
union usbhid_device_request req;
@@ -680,7 +684,8 @@ usbhid_set_protocol(device_t dev, uint16_t protocol)
}
static int
-usbhid_ioctl(device_t dev, unsigned long cmd, uintptr_t data)
+usbhid_ioctl(device_t dev, device_t child __unused, unsigned long cmd,
+ uintptr_t data)
{
struct usbhid_softc* sc = device_get_softc(dev);
struct usb_ctl_request *ucr;