Message ID | 5672C713.6090101@free.fr (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Em Thu, 17 Dec 2015 15:30:43 +0100 Mason <slash.tmp@free.fr> escreveu: > On 17/12/2015 15:08, Mauro Carvalho Chehab wrote: > > > Then I guess you're not using vanilla 3.4 Kernel, but some heavily > > modified version. You're on your own here. > > #ifdef NEED_KVFREE > #include <linux/mm.h> > static inline void kvfree(const void *addr) > { > if (is_vmalloc_addr(addr)) > vfree(addr); > else > kfree(addr); > } > #endif > > /tmp/sandbox/media_build/v4l/compat.h: In function 'kvfree': > /tmp/sandbox/media_build/v4l/compat.h:1631:3: error: implicit declaration of function 'vfree' [-Werror=implicit-function-declaration] > vfree(addr); > ^ > > vfree is declared in linux/vmalloc.h > > The fix is trivial: > > diff --git a/v4l/compat.h b/v4l/compat.h > index c225c07d6caa..7f3f1d5f9d11 100644 > --- a/v4l/compat.h > +++ b/v4l/compat.h > @@ -1625,6 +1625,7 @@ static inline void eth_zero_addr(u8 *addr) > > #ifdef NEED_KVFREE > #include <linux/mm.h> > +#include <linux/vmalloc.h> > static inline void kvfree(const void *addr) > { > if (is_vmalloc_addr(addr)) > > Well, it doesn't hurt to add it to the media_build tree, since vmalloc.h exists at least since 2.6.11. Added upstream. Did the driver compile fine? Regards, Mauro -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 17/12/2015 15:55, Mauro Carvalho Chehab wrote:
> Did the driver compile fine?
Once all the modules finish building, I have many *.ko files in v4l.
I copy them to my target's /lib/modules/3.4.39.13/kernel
and run depmod -a
It seems modprobe rc-dvbsky doesn't bring in all the stuff needed
to actually use the device.
I added a few more modules at random:
Module Size Used by
dvb_core 73479 0
v4l2_common 1628 0
videodev 111886 1 v4l2_common
media 9838 1 videodev
rc_dvbsky 815 0
rc_core 15521 1 rc_dvbsky
Probably needs dvb_usb but I don't see it built...
$ grep -rn '\<CONFIG_DVB_USB\>'
linux/drivers/media/usb/dvb-usb/Makefile:3:obj-$(CONFIG_DVB_USB) += dvb-usb.o
v4l/.myconfig:245:CONFIG_DVB_USB := n
v4l/Makefile.media:1010:obj-$(CONFIG_DVB_USB) += dvb-usb.o
v4l/config-compat.h:548:#undef CONFIG_DVB_USB
v4l/.config:183:# CONFIG_DVB_USB is not set
(All these files are generated by the build process.)
Am I doing something wrong?
Regards.
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
On 18/12/2015 18:10, Mason wrote:
> Am I doing something wrong?
Yes, I didn't have I2C enabled.
By running 'make menuconfig' in a recent kernel, I could see which
Kconfig options are required to build the dvbsky driver.
Mauro, I hope you'll find time to address my remaining bug reports.
Issue #1
check_files_for_func("writel_relaxed", "NEED_WRITEL_RELAXED", "include/asm-generic/io.h");
is definitely incorrect for older kernels.
Issue #2
WARNING: "nsecs_to_jiffies" [/tmp/sandbox/media_build/v4l/gpio-ir-recv.ko] undefined!
Regards.
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/v4l/compat.h b/v4l/compat.h index c225c07d6caa..7f3f1d5f9d11 100644 --- a/v4l/compat.h +++ b/v4l/compat.h @@ -1625,6 +1625,7 @@ static inline void eth_zero_addr(u8 *addr) #ifdef NEED_KVFREE #include <linux/mm.h> +#include <linux/vmalloc.h> static inline void kvfree(const void *addr) { if (is_vmalloc_addr(addr))