summaryrefslogtreecommitdiff
path: root/drivers/staging/easycap/easycap_low.c
diff options
context:
space:
mode:
authorTomas Winkler <tomas.winkler@intel.com>2011-02-09 01:12:49 +0200
committerGreg Kroah-Hartman <gregkh@suse.de>2011-02-09 11:59:07 -0800
commit73132ce45a011ef76340e3d6393e79d8377e4312 (patch)
tree644a05d42fda43f6ada307cab5e9f15979e638f5 /drivers/staging/easycap/easycap_low.c
parent4d59fde3d18a8adc8d35ff595daf1253783d3847 (diff)
stagine/easycap: make functions regset and regget static
regget and regset functions are used only from within easycap_low.c so they can be static Move the functions to avoid forward declarations Move GET and SET macro definitions into the c-file Cc: Mike Thomas <rmthomas@sciolus.org> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/easycap/easycap_low.c')
-rw-r--r--drivers/staging/easycap/easycap_low.c182
1 files changed, 100 insertions, 82 deletions
diff --git a/drivers/staging/easycap/easycap_low.c b/drivers/staging/easycap/easycap_low.c
index 1ed90f94171d..39e22d51910b 100644
--- a/drivers/staging/easycap/easycap_low.c
+++ b/drivers/staging/easycap/easycap_low.c
@@ -40,6 +40,23 @@
#include "easycap.h"
+#define GET(X, Y, Z) do { \
+ int __rc; \
+ *(Z) = (u16)0; \
+ __rc = regget(X, Y, Z); \
+ if (0 > __rc) { \
+ JOT(8, ":-(%i\n", __LINE__); return __rc; \
+ } \
+} while (0)
+
+#define SET(X, Y, Z) do { \
+ int __rc; \
+ __rc = regset(X, Y, Z); \
+ if (0 > __rc) { \
+ JOT(8, ":-(%i\n", __LINE__); return __rc; \
+ } \
+} while (0)
+
/*--------------------------------------------------------------------------*/
static const struct stk1160config {
int reg;
@@ -238,7 +255,89 @@ static const struct saa7113config saa7113configNTSC[256] = {
{0xFF, 0xFF}
};
-/*--------------------------------------------------------------------------*/
+
+static int regget(struct usb_device *pusb_device, u16 index, void *pvoid)
+{
+ int rc;
+
+ if (!pusb_device)
+ return -ENODEV;
+
+ rc = usb_control_msg(pusb_device, usb_rcvctrlpipe(pusb_device, 0),
+ (u8)0x00,
+ (u8)(USB_DIR_IN | USB_TYPE_VENDOR | USB_RECIP_DEVICE),
+ (u16)0x00,
+ (u16)index,
+ (void *)pvoid,
+ sizeof(u8),
+ (int)50000);
+
+ return 0xFF & rc;
+}
+
+static int regset(struct usb_device *pusb_device, u16 index, u16 value)
+{
+ u16 igot;
+ int rc0, rc1;
+
+ if (!pusb_device)
+ return -ENODEV;
+
+ rc1 = 0; igot = 0;
+ rc0 = usb_control_msg(pusb_device, usb_sndctrlpipe(pusb_device, 0),
+ (u8)0x01,
+ (u8)(USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_DEVICE),
+ (u16)value,
+ (u16)index,
+ NULL,
+ (u16)0,
+ (int)500);
+
+#ifdef NOREADBACK
+#
+#else
+ rc1 = usb_control_msg(pusb_device, usb_rcvctrlpipe(pusb_device, 0),
+ (u8)0x00,
+ (u8)(USB_DIR_IN | USB_TYPE_VENDOR | USB_RECIP_DEVICE),
+ (u16)0x00,
+ (u16)index,
+ (void *)&igot,
+ (u16)sizeof(u16),
+ (int)50000);
+ igot = 0xFF & igot;
+ switch (index) {
+ case 0x000:
+ case 0x500:
+ case 0x502:
+ case 0x503:
+ case 0x504:
+ case 0x506:
+ case 0x507:
+ break;
+
+ case 0x204:
+ case 0x205:
+ case 0x350:
+ case 0x351:
+ if (0 != (0xFF & igot)) {
+ JOT(8, "unexpected 0x%02X for STK register 0x%03X\n",
+ igot, index);
+ }
+ break;
+
+ default:
+ if ((0xFF & value) != (0xFF & igot)) {
+ JOT(8, "unexpected 0x%02X != 0x%02X "
+ "for STK register 0x%03X\n",
+ igot, value, index);
+ }
+ break;
+ }
+#endif /* ! NOREADBACK*/
+
+ return (0 > rc0) ? rc0 : rc1;
+}
+/*****************************************************************************/
/****************************************************************************/
int
@@ -903,87 +1002,6 @@ for (k = 0; k < max; k++) {
return -1;
}
/****************************************************************************/
-int regset(struct usb_device *pusb_device, u16 index, u16 value)
-{
- u16 igot;
- int rc0, rc1;
-
- if (!pusb_device)
- return -ENODEV;
-
- rc1 = 0; igot = 0;
- rc0 = usb_control_msg(pusb_device, usb_sndctrlpipe(pusb_device, 0),
- (u8)0x01,
- (u8)(USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_DEVICE),
- (u16)value,
- (u16)index,
- NULL,
- (u16)0,
- (int)500);
-
-#ifdef NOREADBACK
-#
-#else
- rc1 = usb_control_msg(pusb_device, usb_rcvctrlpipe(pusb_device, 0),
- (u8)0x00,
- (u8)(USB_DIR_IN | USB_TYPE_VENDOR | USB_RECIP_DEVICE),
- (u16)0x00,
- (u16)index,
- (void *)&igot,
- (u16)sizeof(u16),
- (int)50000);
- igot = 0xFF & igot;
- switch (index) {
- case 0x000:
- case 0x500:
- case 0x502:
- case 0x503:
- case 0x504:
- case 0x506:
- case 0x507:
- break;
-
- case 0x204:
- case 0x205:
- case 0x350:
- case 0x351:
- if (0 != (0xFF & igot)) {
- JOT(8, "unexpected 0x%02X for STK register 0x%03X\n",
- igot, index);
- }
- break;
-
- default:
- if ((0xFF & value) != (0xFF & igot)) {
- JOT(8, "unexpected 0x%02X != 0x%02X "
- "for STK register 0x%03X\n",
- igot, value, index);
- }
- break;
- }
-#endif /* ! NOREADBACK*/
-
- return (0 > rc0) ? rc0 : rc1;
-}
-/*****************************************************************************/
-int regget(struct usb_device *pusb_device, u16 index, void *pvoid)
-{
- int rc;
-
- if (!pusb_device)
- return -ENODEV;
-
- rc = usb_control_msg(pusb_device, usb_rcvctrlpipe(pusb_device, 0),
- (u8)0x00,
- (u8)(USB_DIR_IN | USB_TYPE_VENDOR | USB_RECIP_DEVICE),
- (u16)0x00,
- (u16)index,
- (void *)pvoid,
- sizeof(u8),
- (int)50000);
-
- return 0xFF & rc;
-}
/*****************************************************************************/
int
wakeup_device(struct usb_device *pusb_device)