On Fri, Mar 27, 2009 at 7:44 PM, Alexey Klimov <[email protected]> wrote:
> Hello,
>
> I went to /usr/src/linux and run "git pull" (so i get 2.6.29-git1),
> and make new kernel.
> Then i updated v4l-dvb repository(hg pull, hg update) and configured
> to compile, for example dsbr100 radio driver.
> I get such message:
>
> tux v4l-dvb # make
> make -C /w/new/v4l-dvb/v4l
> make[1]: Entering directory `/w/new/v4l-dvb/v4l'
> ./scripts/make_myconfig.pl
> make[1]: Leaving directory `/w/new/v4l-dvb/v4l'
> make[1]: Entering directory `/w/new/v4l-dvb/v4l'
> perl scripts/make_config_compat.pl /lib/modules/2.6.29/source
> ./.myconfig ./config-compat.h
> creating symbolic links...
> Kernel build directory is /lib/modules/2.6.29/build
> make -C /lib/modules/2.6.29/build SUBDIRS=/w/new/v4l-dvb/v4l modules
> make[2]: Entering directory `/usr/src/linux-2.6'
> CC [M] /w/new/v4l-dvb/v4l/tuner-xc2028.o
> CC [M] /w/new/v4l-dvb/v4l/tuner-simple.o
> CC [M] /w/new/v4l-dvb/v4l/tuner-types.o
> CC [M] /w/new/v4l-dvb/v4l/mt20xx.o
> CC [M] /w/new/v4l-dvb/v4l/tda8290.o
> CC [M] /w/new/v4l-dvb/v4l/tea5767.o
> CC [M] /w/new/v4l-dvb/v4l/tea5761.o
> CC [M] /w/new/v4l-dvb/v4l/tda9887.o
> CC [M] /w/new/v4l-dvb/v4l/xc5000.o
> CC [M] /w/new/v4l-dvb/v4l/mc44s803.o
> CC [M] /w/new/v4l-dvb/v4l/v4l2-dev.o
> CC [M] /w/new/v4l-dvb/v4l/v4l2-ioctl.o
> CC [M] /w/new/v4l-dvb/v4l/v4l2-device.o
> CC [M] /w/new/v4l-dvb/v4l/v4l2-subdev.o
> LD [M] /w/new/v4l-dvb/v4l/videodev.o
> CC [M] /w/new/v4l-dvb/v4l/v4l2-int-device.o
> CC [M] /w/new/v4l-dvb/v4l/v4l2-common.o
> /w/new/v4l-dvb/v4l/v4l2-common.c: In function 'v4l2_i2c_new_subdev':
> /w/new/v4l-dvb/v4l/v4l2-common.c:834: warning: format not a string
> literal and no format arguments
> /w/new/v4l-dvb/v4l/v4l2-common.c: In function 'v4l2_i2c_new_probed_subdev':
> /w/new/v4l-dvb/v4l/v4l2-common.c:902: warning: format not a string
> literal and no format arguments
> CC [M] /w/new/v4l-dvb/v4l/v4l1-compat.o
> CC [M] /w/new/v4l-dvb/v4l/dsbr100.o
> In file included from /w/new/v4l-dvb/v4l/dsbr100.c:94:
> /w/new/v4l-dvb/v4l/compat.h:396: error: redefinition of 'usb_endpoint_type'
> include/linux/usb/ch9.h:377: error: previous definition of
> 'usb_endpoint_type' was here
> make[3]: *** [/w/new/v4l-dvb/v4l/dsbr100.o] Error 1
> make[2]: *** [_module_/w/new/v4l-dvb/v4l] Error 2
> make[2]: Leaving directory `/usr/src/linux-2.6'
> make[1]: *** [default] Error 2
> make[1]: Leaving directory `/w/new/v4l-dvb/v4l'
> make: *** [all] Error 2
> tux v4l-dvb #
>
> Well, i have such messages for radio-si470x and radio-mr800 too.
> This drivers compile ok in kernel from kernel.org.
> As i understand this is compat.h trouble ?
In case if someone interesting i did such change that made it works:
diff -r 5567e82c34a0 v4l/compat.h
--- a/v4l/compat.h Tue Mar 31 07:24:14 2009 -0300
+++ b/v4l/compat.h Wed Apr 01 03:08:17 2009 +0400
@@ -393,10 +393,7 @@
#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;
-}
+#include <linux/usb/ch9.h>
#endif
#endif /* __LINUX_USB_H */
I understand that this is probably wrong approach.
It's very likely connected with patch
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4d6914b72966862f37de634299a80ca2a4b1829f
USB: Move definitions from usb.h to usb/ch9.h
The functions:
usb_endpoint_dir_in(epd)
usb_endpoint_dir_out(epd)
usb_endpoint_is_bulk_in(epd)
usb_endpoint_is_bulk_out(epd)
usb_endpoint_is_int_in(epd)
usb_endpoint_is_int_out(epd)
usb_endpoint_is_isoc_in(epd)
usb_endpoint_is_isoc_out(epd)
usb_endpoint_num(epd)
usb_endpoint_type(epd)
usb_endpoint_xfer_bulk(epd)
usb_endpoint_xfer_control(epd)
usb_endpoint_xfer_int(epd)
usb_endpoint_xfer_isoc(epd)
are moved from include/linux/usb.h to include/linux/usb/ch9.h.
include/linux/usb/ch9.h makes more sense for these functions because they
only depend on constants that are defined in this file.
--
Best regards, Klimov Alexey
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html