Il 08/01/2013 13:43, Hans Verkuil ha scritto: > On Tue 8 January 2013 12:01:51 Gianluca Gennari wrote: >> Il 08/01/2013 10:58, Hans Verkuil ha scritto: >>> On Mon 7 January 2013 22:38:23 Hans Verkuil wrote: >>>> This message is generated daily by a cron job that builds media_tree for >>>> the kernels and architectures in the list below. >>>> >>>> Results of the daily build of media_tree: >>>> >>>> date: Mon Jan 7 19:00:18 CET 2013 >>>> git hash: 73ec66c000e9816806c7380ca3420f4e0638c40e >>>> gcc version: i686-linux-gcc (GCC) 4.7.1 >>>> host hardware: x86_64 >>>> host os: 3.4.07-marune >>>> >>>> linux-git-arm-eabi-davinci: WARNINGS >>>> linux-git-arm-eabi-exynos: WARNINGS >>>> linux-git-arm-eabi-omap: ERRORS >>>> linux-git-i686: OK >>>> linux-git-m32r: OK >>>> linux-git-mips: WARNINGS >>>> linux-git-powerpc64: OK >>>> linux-git-sh: OK >>>> linux-git-x86_64: OK >>>> linux-2.6.31.12-i686: WARNINGS >>>> linux-2.6.32.6-i686: WARNINGS >>>> linux-2.6.33-i686: WARNINGS >>>> linux-2.6.34-i686: WARNINGS >>>> linux-2.6.35.3-i686: WARNINGS >>>> linux-2.6.36-i686: WARNINGS >>>> linux-2.6.37-i686: WARNINGS >>>> linux-2.6.38.2-i686: WARNINGS >>>> linux-2.6.39.1-i686: WARNINGS >>>> linux-3.0-i686: WARNINGS >>>> linux-3.1-i686: WARNINGS >>>> linux-3.2.1-i686: WARNINGS >>>> linux-3.3-i686: WARNINGS >>>> linux-3.4-i686: WARNINGS >>>> linux-3.5-i686: WARNINGS >>>> linux-3.6-i686: WARNINGS >>>> linux-3.7-i686: WARNINGS >>>> linux-3.8-rc1-i686: WARNINGS >>>> linux-2.6.31.12-x86_64: WARNINGS >>>> linux-2.6.32.6-x86_64: WARNINGS >>>> linux-2.6.33-x86_64: WARNINGS >>>> linux-2.6.34-x86_64: WARNINGS >>>> linux-2.6.35.3-x86_64: WARNINGS >>>> linux-2.6.36-x86_64: WARNINGS >>>> linux-2.6.37-x86_64: WARNINGS >>>> linux-2.6.38.2-x86_64: WARNINGS >>>> linux-2.6.39.1-x86_64: WARNINGS >>>> linux-3.0-x86_64: WARNINGS >>>> linux-3.1-x86_64: WARNINGS >>>> linux-3.2.1-x86_64: WARNINGS >>>> linux-3.3-x86_64: WARNINGS >>>> linux-3.4-x86_64: WARNINGS >>>> linux-3.5-x86_64: WARNINGS >>>> linux-3.6-x86_64: WARNINGS >>>> linux-3.7-x86_64: WARNINGS >>>> linux-3.8-rc1-x86_64: WARNINGS >>>> apps: WARNINGS >>>> spec-git: OK >>>> sparse: ERRORS >>>> >>>> Detailed results are available here: >>>> >>>> http://www.xs4all.nl/~hverkuil/logs/Monday.log >>> >>> There were a lot of new 'redefined' warnings that I have fixed. >>> >>> In addition, it turned out that any driver using vb2 wasn't compiled for >>> kernels <3.2 due to the fact that DMA_SHARED_BUFFER wasn't set. That's fixed >>> as well, so drivers like em28xx and vivi will now compile on those older >>> kernels. This also was the reason I never saw that the usb_translate_error >>> function needed to be added to compat.h: it's used in em28xx but that driver >>> was never compiled on kernels without usb_translate_error. >>> >>> Hopefully everything works now. >>> >>> Regards, >>> >>> Hans >> >> Hi Hans, >> on kernel 2.6.32 (Ubuntu 10.04) the media_build tree compiles fine, with >> just a few remaining warnings. >> >> In particular, there are several new warnings related to DMA_SHARED_BUFFER: >> >> WARNING: "dma_buf_vunmap" [media_build/v4l/videobuf2-vmalloc.ko] undefined! >> WARNING: "dma_buf_vmap" [media_build/v4l/videobuf2-vmalloc.ko] undefined! >> WARNING: "dma_buf_fd" [media_build/v4l/videobuf2-core.ko] undefined! >> WARNING: "dma_buf_put" [media_build/v4l/videobuf2-core.ko] undefined! >> WARNING: "dma_buf_get" [media_build/v4l/videobuf2-core.ko] undefined! > > Gianluca, > > Can you patch media_build with the patch below and try again? If it doesn't > work, then replace '#ifdef CONFIG_DMA_SHARED_BUFFER' by '#if 0' in the patch > below and try that instead. > > Let me know what works. > > Thanks, > > Hans > Hi Hans, your patch works perfectly fine in both ways. BTW, those are the few extra warnings remaining: 2 random warnings: media_build/v4l/anysee.c: In function 'anysee_frontend_attach': media_build/v4l/anysee.c:641: warning: 'ret' may be used uninitialized in this function media_build/v4l/ngene-cards.c:813: warning: initialization discards qualifiers from pointer target type and a redefinition of the "err" macro: media_build/v4l/mxl111sf.c:58:1: warning: "err" redefined In file included from include/linux/usb/input.h:12, from media_build/v4l/dvb_usb.h:25, from media_build/v4l/mxl111sf.h:18, from media_build/v4l/mxl111sf.c:14: include/linux/usb.h:1593:1: warning: this is the location of the previous definition media_build/v4l/mxl111sf-tuner.c:34:1: warning: "err" redefined In file included from include/linux/usb/input.h:12, from media_build/v4l/dvb_usb.h:25, from media_build/v4l/mxl111sf.h:18, from media_build/v4l/mxl111sf-tuner.h:26, from media_build/v4l/mxl111sf-tuner.c:21: include/linux/usb.h:1593:1: warning: this is the location of the previous definition Thanks and regards, Gianluca > > diff --git a/backports/backports.txt b/backports/backports.txt > index f2d08b9..73ecbf6 100644 > --- a/backports/backports.txt > +++ b/backports/backports.txt > @@ -26,6 +26,7 @@ add pr_fmt.patch > > [3.1.255] > add v3.1_no_export_h.patch > +add v3.1_no_dma_buf_h.patch > add v3.1_no_pm_qos.patch > > [3.0.255] > diff --git a/backports/v3.1_no_dma_buf_h.patch b/backports/v3.1_no_dma_buf_h.patch > new file mode 100644 > index 0000000..5a7a7fb > --- /dev/null > +++ b/backports/v3.1_no_dma_buf_h.patch > @@ -0,0 +1,116 @@ > +diff --git a/include/linux/dma-buf.h b/include/linux/dma-buf.h > +index bd2e52c..eb48f38 100644 > +--- a/include/linux/dma-buf.h > ++++ b/include/linux/dma-buf.h > +@@ -156,6 +156,7 @@ static inline void get_dma_buf(struct dma_buf *dmabuf) > + get_file(dmabuf->file); > + } > + > ++#ifdef CONFIG_DMA_SHARED_BUFFER > + struct dma_buf_attachment *dma_buf_attach(struct dma_buf *dmabuf, > + struct device *dev); > + void dma_buf_detach(struct dma_buf *dmabuf, > +@@ -183,5 +184,103 @@ int dma_buf_mmap(struct dma_buf *, struct vm_area_struct *, > + unsigned long); > + void *dma_buf_vmap(struct dma_buf *); > + void dma_buf_vunmap(struct dma_buf *, void *vaddr); > ++#else > ++ > ++static inline struct dma_buf_attachment *dma_buf_attach(struct dma_buf *dmabuf, > ++ struct device *dev) > ++{ > ++ return ERR_PTR(-ENODEV); > ++} > ++ > ++static inline void dma_buf_detach(struct dma_buf *dmabuf, > ++ struct dma_buf_attachment *dmabuf_attach) > ++{ > ++ return; > ++} > ++ > ++static inline struct dma_buf *dma_buf_export(void *priv, > ++ const struct dma_buf_ops *ops, > ++ size_t size, int flags) > ++{ > ++ return ERR_PTR(-ENODEV); > ++} > ++ > ++static inline int dma_buf_fd(struct dma_buf *dmabuf, int flags) > ++{ > ++ return -ENODEV; > ++} > ++ > ++static inline struct dma_buf *dma_buf_get(int fd) > ++{ > ++ return ERR_PTR(-ENODEV); > ++} > ++ > ++static inline void dma_buf_put(struct dma_buf *dmabuf) > ++{ > ++ return; > ++} > ++ > ++static inline struct sg_table *dma_buf_map_attachment( > ++ struct dma_buf_attachment *attach, enum dma_data_direction write) > ++{ > ++ return ERR_PTR(-ENODEV); > ++} > ++ > ++static inline void dma_buf_unmap_attachment(struct dma_buf_attachment *attach, > ++ struct sg_table *sg, enum dma_data_direction dir) > ++{ > ++ return; > ++} > ++ > ++static inline int dma_buf_begin_cpu_access(struct dma_buf *dmabuf, > ++ size_t start, size_t len, > ++ enum dma_data_direction dir) > ++{ > ++ return -ENODEV; > ++} > ++ > ++static inline void dma_buf_end_cpu_access(struct dma_buf *dmabuf, > ++ size_t start, size_t len, > ++ enum dma_data_direction dir) > ++{ > ++} > ++ > ++static inline void *dma_buf_kmap_atomic(struct dma_buf *dmabuf, > ++ unsigned long pnum) > ++{ > ++ return NULL; > ++} > ++ > ++static inline void dma_buf_kunmap_atomic(struct dma_buf *dmabuf, > ++ unsigned long pnum, void *vaddr) > ++{ > ++} > ++ > ++static inline void *dma_buf_kmap(struct dma_buf *dmabuf, unsigned long pnum) > ++{ > ++ return NULL; > ++} > ++ > ++static inline void dma_buf_kunmap(struct dma_buf *dmabuf, > ++ unsigned long pnum, void *vaddr) > ++{ > ++} > ++ > ++static inline int dma_buf_mmap(struct dma_buf *dmabuf, > ++ struct vm_area_struct *vma, > ++ unsigned long pgoff) > ++{ > ++ return -ENODEV; > ++} > ++ > ++static inline void *dma_buf_vmap(struct dma_buf *dmabuf) > ++{ > ++ return NULL; > ++} > ++ > ++static inline void dma_buf_vunmap(struct dma_buf *dmabuf, void *vaddr) > ++{ > ++} > ++#endif /* CONFIG_DMA_SHARED_BUFFER */ > + > + #endif /* __DMA_BUF_H__ */ > -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html