freebsd-ports/multimedia/v4l_compat/files/patch-dvb-ca.h
Juergen Lock ef16d2e450 - Fix two linux/dvb ioctls in multimedia/v4l_compat , multimedia/webcamd ,
and multimedia/linux_dvbwrapper : CA_GET_SLOT_INFO and CA_GET_MSG
  need to be _IOWR not _IOR.
- Bump PORTREVISION for multimedia/vdr too since it uses one of the ioctls.
  (This fixes the CI slot of at last the TT CT-3650 DVB-C/T tuner.)

Approved by:	hselasky (maintainer of multimedia/webcamd)
2012-06-28 17:49:51 +00:00

20 lines
817 B
C

--- dvb/ca.h.orig
+++ dvb/ca.h
@@ -80,9 +80,17 @@ typedef struct ca_pid {
#define CA_RESET _IO('o', 128)
#define CA_GET_CAP _IOR('o', 129, ca_caps_t)
+
+/* At least CA_GET_SLOT_INFO and CA_GET_MSG need to be _IOWR not _IOR.
+ * This is wrong on Linux too but there the driver doesn't care.
+ *
#define CA_GET_SLOT_INFO _IOR('o', 130, ca_slot_info_t)
#define CA_GET_DESCR_INFO _IOR('o', 131, ca_descr_info_t)
#define CA_GET_MSG _IOR('o', 132, ca_msg_t)
+ */
+#define CA_GET_SLOT_INFO _IOWR('o', 130, ca_slot_info_t)
+#define CA_GET_DESCR_INFO _IOR('o', 131, ca_descr_info_t)
+#define CA_GET_MSG _IOWR('o', 132, ca_msg_t)
#define CA_SEND_MSG _IOW('o', 133, ca_msg_t)
#define CA_SET_DESCR _IOW('o', 134, ca_descr_t)
#define CA_SET_PID _IOW('o', 135, ca_pid_t)