Gregoire Favre wrote:
> On Wed, Nov 01, 2006 at 02:06:17PM -0800, C.Y.M wrote:
>
> C.Y.M had more luck than I (with the patch to allow 2.6.19 compilation
> applied) :
>
> CC [M] /usr/src/CVS/v4l-dvb-av7110-refactoring/v4l/av7110_hw.o
> /usr/src/CVS/v4l-dvb-av7110-refactoring/v4l/av7110_hw.c: In function
> 'av7110_bootarm':
> /usr/src/CVS/v4l-dvb-av7110-refactoring/v4l/av7110_hw.c:238: error: size of
> array 'type name' is negative
> /usr/src/CVS/v4l-dvb-av7110-refactoring/v4l/av7110_hw.c:238: warning:
> comparison of distinct pointer types lacks a cast
> /usr/src/CVS/v4l-dvb-av7110-refactoring/v4l/av7110_hw.c:238: error: size of
> array 'type name' is negative
> /usr/src/CVS/v4l-dvb-av7110-refactoring/v4l/av7110_hw.c:238: warning:
> comparison of distinct pointer types lacks a cast
> /usr/src/CVS/v4l-dvb-av7110-refactoring/v4l/av7110_hw.c:238: error: size of
> array 'type name' is negative
> /usr/src/CVS/v4l-dvb-av7110-refactoring/v4l/av7110_hw.c:238: warning:
> comparison of distinct pointer types lacks a cast
> /usr/src/CVS/v4l-dvb-av7110-refactoring/v4l/av7110_hw.c:238: error: size of
> array 'type name' is negative
> /usr/src/CVS/v4l-dvb-av7110-refactoring/v4l/av7110_hw.c:238: warning:
> comparison of distinct pointer types lacks a cast
> /usr/src/CVS/v4l-dvb-av7110-refactoring/v4l/av7110_hw.c:302: error: size of
> array 'type name' is negative
> /usr/src/CVS/v4l-dvb-av7110-refactoring/v4l/av7110_hw.c:302: warning:
> comparison of distinct pointer types lacks a cast
> /usr/src/CVS/v4l-dvb-av7110-refactoring/v4l/av7110_hw.c:302: error: size of
> array 'type name' is negative
> /usr/src/CVS/v4l-dvb-av7110-refactoring/v4l/av7110_hw.c:302: warning:
> comparison of distinct pointer types lacks a cast
> /usr/src/CVS/v4l-dvb-av7110-refactoring/v4l/av7110_hw.c:302: error: size of
> array 'type name' is negative
> /usr/src/CVS/v4l-dvb-av7110-refactoring/v4l/av7110_hw.c:302: warning:
> comparison of distinct pointer types lacks a cast
> /usr/src/CVS/v4l-dvb-av7110-refactoring/v4l/av7110_hw.c:302: error: size of
> array 'type name' is negative
> /usr/src/CVS/v4l-dvb-av7110-refactoring/v4l/av7110_hw.c:302: warning:
> comparison of distinct pointer types lacks a cast
> make[2]: *** [/usr/src/CVS/v4l-dvb-av7110-refactoring/v4l/av7110_hw.o] Error 1
> make[1]: *** [_module_/usr/src/CVS/v4l-dvb-av7110-refactoring/v4l] Error 2
> make[1]: Leaving directory `/usr/src/linux-2.6.19-rc4-mm1'
> make: *** [default] Error 2
Hm - it compiles here without any warnings. ;-(
Maybe some problem with macro expansion.
The attached patch replaces the macros by inline functions.
Does it work now?
Oliver
--
--------------------------------------------------------
VDR Remote Plugin 0.3.8 available at
http://www.escape-edv.de/endriss/vdr/
--------------------------------------------------------
diff -r 4a40207ae301 linux/include/media/saa7146.h
--- a/linux/include/media/saa7146.h Thu Nov 2 13:51:06 2006 +0100
+++ b/linux/include/media/saa7146.h Thu Nov 2 14:16:08 2006 +0100
@@ -54,20 +54,6 @@ extern unsigned int saa7146_debug;
#define DEB_INT(x) if (0!=(DEBUG_VARIABLE&0x20)) { DEBUG_PROLOG; printk x; } /* interrupt debug messages */
#define DEB_CAP(x) if (0!=(DEBUG_VARIABLE&0x40)) { DEBUG_PROLOG; printk x; } /* capture debug messages */
-#define SAA7146_IER_DISABLE(x,y) \
- do { \
- unsigned int flags; \
- spin_lock_irqsave(&x->int_slock, flags); \
- saa7146_write(x, IER, saa7146_read(x, IER) & ~(y)); \
- spin_unlock_irqrestore(&x->int_slock, flags); \
- } while(0)
-#define SAA7146_IER_ENABLE(x,y) \
- do { \
- unsigned int flags; \
- spin_lock_irqsave(&x->int_slock, flags); \
- saa7146_write(x, IER, saa7146_read(x, IER) | (y)); \
- spin_unlock_irqrestore(&x->int_slock, flags); \
- } while(0)
#define SAA7146_ISR_CLEAR(x,y) \
saa7146_write(x, ISR, (y));
@@ -475,4 +461,20 @@ int saa7146_wait_for_debi_done(struct sa
#define SAA7146_I2C_BUS_BIT_RATE_80 (0x200)
#define SAA7146_I2C_BUS_BIT_RATE_60 (0x300)
-#endif
+static inline void SAA7146_IER_DISABLE(struct saa7146_dev *x, unsigned y)
+{
+ unsigned long flags;
+ spin_lock_irqsave(&x->int_slock, flags);
+ saa7146_write(x, IER, saa7146_read(x, IER) & ~(y));
+ spin_unlock_irqrestore(&x->int_slock, flags);
+}
+
+static inline void SAA7146_IER_ENABLE(struct saa7146_dev *x, unsigned y)
+{
+ unsigned long flags;
+ spin_lock_irqsave(&x->int_slock, flags);
+ saa7146_write(x, IER, saa7146_read(x, IER) | (y));
+ spin_unlock_irqrestore(&x->int_slock, flags);
+}
+
+#endif
_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb