diff options
Diffstat (limited to 'v4l/compat.h')
-rw-r--r-- | v4l/compat.h | 83 |
1 files changed, 81 insertions, 2 deletions
diff --git a/v4l/compat.h b/v4l/compat.h index 1d042d96c..3b04c91f6 100644 --- a/v4l/compat.h +++ b/v4l/compat.h @@ -27,9 +27,14 @@ #include <sound/driver.h> #endif +#ifdef NEED_ALGO_CONTROL +#include <linux/i2c.h> +#endif + #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,23) #define set_freezable() #define cancel_delayed_work_sync cancel_rearming_delayed_work +#define DEFAULT_POLLMASK (POLLIN | POLLOUT | POLLRDNORM | POLLWRNORM) #endif #ifndef __pure @@ -231,6 +236,14 @@ static inline int list_is_singular(const struct list_head *head) ( x ) ) ) #endif +#ifdef NEED_ALGO_CONTROL +static inline int dummy_algo_control(struct i2c_adapter *adapter, + unsigned int cmd, unsigned long arg) +{ + return 0; +} +#endif + #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 26) #define div64_u64(a,b) div64_64(a,b) @@ -267,8 +280,8 @@ static inline int list_is_singular(const struct list_head *head) #define PCI_DEVICE_ID_MARVELL_88ALP01_CCIC 0x4102 #endif -#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 19) #ifdef __LINUX_USB_H +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 19) /* * usb_endpoint_* functions * @@ -315,10 +328,71 @@ usb_endpoint_is_int_in(const struct usb_endpoint_descriptor *epd) { return usb_endpoint_xfer_int(epd) && usb_endpoint_dir_in(epd); } + +static inline int usb_endpoint_dir_out( + const struct usb_endpoint_descriptor *epd) +{ + return ((epd->bEndpointAddress & USB_ENDPOINT_DIR_MASK) == USB_DIR_OUT); +} + +static inline int usb_endpoint_is_bulk_in( + const struct usb_endpoint_descriptor *epd) +{ + return (usb_endpoint_xfer_bulk(epd) && usb_endpoint_dir_in(epd)); +} + +static inline int usb_endpoint_is_bulk_out( + const struct usb_endpoint_descriptor *epd) +{ + return (usb_endpoint_xfer_bulk(epd) && usb_endpoint_dir_out(epd)); +} + +static inline int usb_endpoint_is_int_out( + const struct usb_endpoint_descriptor *epd) +{ + return (usb_endpoint_xfer_int(epd) && usb_endpoint_dir_out(epd)); +} + +static inline int usb_endpoint_is_isoc_in( + const struct usb_endpoint_descriptor *epd) +{ + return (usb_endpoint_xfer_isoc(epd) && usb_endpoint_dir_in(epd)); +} + +static inline int usb_endpoint_is_isoc_out( + const struct usb_endpoint_descriptor *epd) +{ + return (usb_endpoint_xfer_isoc(epd) && usb_endpoint_dir_out(epd)); +} +#endif /* RHEL_HAS_USB_ENDPOINT */ +#endif + +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 21) +#ifndef RHEL_HAS_USB_ENDPOINT +static inline int usb_endpoint_xfer_control( + const struct usb_endpoint_descriptor *epd) +{ + return ((epd->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) == + USB_ENDPOINT_XFER_CONTROL); +} #endif /* RHEL_HAS_USB_ENDPOINT */ -#endif /* __LINUX_USB_H */ #endif +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 24) +static inline int usb_endpoint_num(const struct usb_endpoint_descriptor *epd) +{ + return epd->bEndpointAddress & USB_ENDPOINT_NUMBER_MASK; +} +#endif + +#ifdef NEED_USB_ENDPOINT_TYPE +static inline int usb_endpoint_type(const struct usb_endpoint_descriptor *epd) +{ + return epd->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK; +} +#endif +#endif /* __LINUX_USB_H */ + #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 22) /* * Linked list API @@ -332,4 +406,9 @@ usb_endpoint_is_int_in(const struct usb_endpoint_descriptor *epd) #define uninitialized_var(x) x = x #endif +#ifdef NEED_NETDEV_PRIV +#define netdev_priv(dev) ((dev)->priv) +#endif + + #endif |