diff options
Diffstat (limited to 'net/bluetooth/hidp')
-rw-r--r-- | net/bluetooth/hidp/core.c | 9 | ||||
-rw-r--r-- | net/bluetooth/hidp/sock.c | 5 |
2 files changed, 12 insertions, 2 deletions
diff --git a/net/bluetooth/hidp/core.c b/net/bluetooth/hidp/core.c index 49d8495d69be..569750010fd3 100644 --- a/net/bluetooth/hidp/core.c +++ b/net/bluetooth/hidp/core.c | |||
@@ -280,6 +280,13 @@ static int hidp_send_report(struct hidp_session *session, struct hid_report *rep | |||
280 | return hidp_queue_report(session, buf, rsize); | 280 | return hidp_queue_report(session, buf, rsize); |
281 | } | 281 | } |
282 | 282 | ||
283 | static int hidp_output_raw_report(struct hid_device *hid, unsigned char *data, size_t count) | ||
284 | { | ||
285 | if (hidp_queue_report(hid->driver_data, data, count)) | ||
286 | return -ENOMEM; | ||
287 | return count; | ||
288 | } | ||
289 | |||
283 | static void hidp_idle_timeout(unsigned long arg) | 290 | static void hidp_idle_timeout(unsigned long arg) |
284 | { | 291 | { |
285 | struct hidp_session *session = (struct hidp_session *) arg; | 292 | struct hidp_session *session = (struct hidp_session *) arg; |
@@ -785,6 +792,8 @@ static int hidp_setup_hid(struct hidp_session *session, | |||
785 | hid->dev.parent = hidp_get_device(session); | 792 | hid->dev.parent = hidp_get_device(session); |
786 | hid->ll_driver = &hidp_hid_driver; | 793 | hid->ll_driver = &hidp_hid_driver; |
787 | 794 | ||
795 | hid->hid_output_raw_report = hidp_output_raw_report; | ||
796 | |||
788 | err = hid_add_device(hid); | 797 | err = hid_add_device(hid); |
789 | if (err < 0) | 798 | if (err < 0) |
790 | goto failed; | 799 | goto failed; |
diff --git a/net/bluetooth/hidp/sock.c b/net/bluetooth/hidp/sock.c index 37c9d7d2e688..9cfef68b9fec 100644 --- a/net/bluetooth/hidp/sock.c +++ b/net/bluetooth/hidp/sock.c | |||
@@ -241,7 +241,8 @@ static struct proto hidp_proto = { | |||
241 | .obj_size = sizeof(struct bt_sock) | 241 | .obj_size = sizeof(struct bt_sock) |
242 | }; | 242 | }; |
243 | 243 | ||
244 | static int hidp_sock_create(struct net *net, struct socket *sock, int protocol) | 244 | static int hidp_sock_create(struct net *net, struct socket *sock, int protocol, |
245 | int kern) | ||
245 | { | 246 | { |
246 | struct sock *sk; | 247 | struct sock *sk; |
247 | 248 | ||
@@ -268,7 +269,7 @@ static int hidp_sock_create(struct net *net, struct socket *sock, int protocol) | |||
268 | return 0; | 269 | return 0; |
269 | } | 270 | } |
270 | 271 | ||
271 | static struct net_proto_family hidp_sock_family_ops = { | 272 | static const struct net_proto_family hidp_sock_family_ops = { |
272 | .family = PF_BLUETOOTH, | 273 | .family = PF_BLUETOOTH, |
273 | .owner = THIS_MODULE, | 274 | .owner = THIS_MODULE, |
274 | .create = hidp_sock_create | 275 | .create = hidp_sock_create |