Re: [PATCH v7 0/5] TI WL1273 FM Radio driver.
Hello. It starts to look like the ALSA codec could be accepted on the ALSA list pretty soon. So I'd be very interested to hear from you if the rest of the driver still needs fixes... By the way, now the newest wl1273 firmware supports a special form of hardware seek, they call it the 'bulk search' mode. It can be used to search for all stations that are available and at first the number of found stations is returned. Then the frequencies can be fetched one by one. Should we add a 'seek mode' field to hardware seek? Or do you have a vision of how it should be handled? Thanks, Matti -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v7 0/5] TI WL1273 FM Radio driver.
> Hello. > > It starts to look like the ALSA codec could be > accepted on the ALSA list pretty soon. > So I'd be very interested to hear from you if > the rest of the driver still needs fixes... Thanks for reminding me. I'll do a final review this evening. > By the way, now the newest wl1273 firmware supports > a special form of hardware seek, they call it the > 'bulk search' mode. It can be used to search for all > stations that are available and at first the number of found > stations is returned. Then the frequencies can be fetched > one by one. Should we add a 'seek mode' field to hardware > seek? Or do you have a vision of how it should be handled? It sounds very hardware specific. We should postpone support for this until we have support for subdev device nodes. That will make it possible to create custom ioctls for hw specific features. This should be merged if all goes well for 2.6.37. Regards, Hans -- Hans Verkuil - video4linux developer - sponsored by TANDBERG, part of Cisco -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
RE: [PATCH 1/3 v2] media: Add a cached version of the contiguous video buffers
>Richard Röjfors wrote: >On 08/04/2010 12:34 PM, Pawel Osciak wrote: >>> Richard Röjfors wrote: >>> On 08/04/2010 11:50 AM, Pawel Osciak wrote: > > How do you propose to allocate the buffers? They need to be contiguous > and using uncached memory gave really bad performance. 829440 bytes is a quite a lot and one can't reliably depend on kmalloc to be able to allocate such big chunks of contiguous memory. Were you testing this on a freshly rebooted system? >>> >>> The systems have been running for a while, but not days. >>> I don't see why would dma_alloc_coherent work better than kmalloc? >>> >> >> In principle it wouldn't. It's just it's much less intensively used and >> allocates from a special area. Not really a bullet-proof solution either >> though, I agree. > >So how do we move forward? I would like to see this kind of patch go in, it >obviously makes our video driver useful. > >I could change and verify the patch using dma_alloc_noncoherent instead of >kmalloc. It would have the same "limitations" as todays' uncached buffers. By the way, I am only vaguely familiar with it, but isn't the memory always coherent on Atom? Best regards -- Pawel Osciak Linux Platform Group Samsung Poland R&D Center -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: OMAP3 Bridge Problems
Hi Lane, On Monday 09 August 2010 00:56:27 Lane Brooks wrote: > On 08/08/2010 04:29 PM, Laurent Pinchart wrote: > > Hi Lane, > > > > Thanks for the patch. > > > > On Thursday 05 August 2010 20:53:50 Lane Brooks wrote: > > > > [snip] > > > >> I was able to get YUV CCDC capture mode working with rather minimal > >> effort. Attached is a patch with the initial effort. Can you comment? > > > > Writing to the ISPCCDC_SYN_MODE register should be moved to > > ccdc_configure(). Just move the switch statement there right after the > > > > format =&ccdc->formats[CCDC_PAD_SINK]; > > > > line (without the ispctrl_val settings), it should be enough. > > > >> + isp_reg_writel(isp, ispctrl_val, OMAP3_ISP_IOMEM_MAIN, > >> + ISP_CTRL); > > > > The ISP_CTRL register should be written in isp_select_bridge_input() > > only. As you correctly mention, whether the data is in little endian or > > big endian format should come from platform data, so I think it's fine > > to force board files to set the isp->pdata->parallel.bridge field to the > > correct value. > > Putting the bridge settings in the platform data is tricky because they > need to change depending on the selected format. For example, for my > board, when in SGRBG mode, the bridge needs disabled. When in YUV16 > mode, however, I need need to select BIG/LITTLE endian depending on > whether it is YUYV or UYVY or ... Ah right... So your sensor can output both Bayer and YUV data ? What sensor is that BTW ? > I am not quite sure how to capture that in the platform data without > enumerating every supported format code in the platform data. The current > patch knows (based on the OMAP TRM) that YUV16 mode requires the bridge to > be enabled. So in the platform data I specify the bridge state for SGBRG > mode and force the bridge to BIG endian in YUV16 mode. This leaves the > sensor to switch the phasing based on YUYV, YVYU, etc. mode. I am not sure > who should be in charge of doing byte swapping in general, but if the input > and output modes are the same, then big endian should be used to avoid a > byte swap. In other words, the mode is completely determinable based on the > formats, so perhaps I should implement it that way. If the input and output > port require a byte swap, then go little endian, otherwise go big endian. OK I understand. The best solution (for now) would then be to modify isp_configure_bridge(). I wrote a few patches that modify how platform data is handled, but I can't commit them at the moment (they depend on other patches that I still need to clean up). > The reason why I put both writes to the ISPCTRL and SYN_MODE registers > where I did. Moving them to other places will require querying the > selected format code. Is that what you want as well? For SYN_MODE, definitely. For ISPCTRL, you can hack isp_configure_bridge() to retrieve the current CCDC input format, and we'll write a proper fix right after I commit my platform data restructuring patches. -- Regards, Laurent Pinchart -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 2/4] mx2_camera: return IRQ_NONE when doing nothing
Hi Guennadi, On Wed, Jul 28, 2010 at 01:25:27PM +0200, Guennadi Liakhovetski wrote: > A general comment to your patches: the actual driver is going to be merged > via the ARM tree, all other your incremental patches should rather go via > the v4l tree. So, we'll have to synchronise with ARM, let's hope ARM > patches go in early enough. Since the driver is now merged upstream this series can go via the v4l tree. > On Tue, 27 Jul 2010, Baruch Siach wrote: > > > Signed-off-by: Baruch Siach > > --- > > drivers/media/video/mx2_camera.c |8 +--- > > 1 files changed, 5 insertions(+), 3 deletions(-) > > > > diff --git a/drivers/media/video/mx2_camera.c > > b/drivers/media/video/mx2_camera.c > > index 1536bd4..b42ad8d 100644 > > --- a/drivers/media/video/mx2_camera.c > > +++ b/drivers/media/video/mx2_camera.c > > @@ -420,15 +420,17 @@ static irqreturn_t mx25_camera_irq(int irq_csi, void > > *data) > > struct mx2_camera_dev *pcdev = data; > > u32 status = readl(pcdev->base_csi + CSISR); > > > > - if (status & CSISR_DMA_TSF_FB1_INT) > > + writel(status, pcdev->base_csi + CSISR); > > + > > + if (!(status & (CSISR_DMA_TSF_FB1_INT | CSISR_DMA_TSF_FB2_INT))) > > + return IRQ_NONE; > > + else if (status & CSISR_DMA_TSF_FB1_INT) > > mx25_camera_frame_done(pcdev, 1, VIDEOBUF_DONE); > > else if (status & CSISR_DMA_TSF_FB2_INT) > > mx25_camera_frame_done(pcdev, 2, VIDEOBUF_DONE); > > > > /* FIXME: handle CSISR_RFF_OR_INT */ > > > > - writel(status, pcdev->base_csi + CSISR); > > - > > return IRQ_HANDLED; > > } > > I don't think this is correct. You should return IRQ_NONE if this is not > an interrupt from your device at all. In this case you don't have to ack > your interrupts, which, I presume, is what the write to CSISR is doing. > OTOH, if this is an interrupt from your device, but you're just not > interested in it, you should ack it and return IRQ_HANDLED. So, the > original behaviour was more correct, than what this your patch is doing. > The only improvement I can think of is, that you can return IRQ_NONE if > status is 0, but then you don't have to ack it. OK. Drop this one, then. Patches in this series are independent from each other, so the others can go in. baruch -- ~. .~ Tk Open Systems =}ooO--U--Ooo{= - bar...@tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il - -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [GIT PULL for 2.6.36] drivers/media updates
Mauro Carvalho Chehab writes: > Please pull from: > ssh://master.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git > v4l_for_linus Not a single patch touching the mantis driver, although there have been several posted to the list over the last few months. Care to explain what that means? And *please* do not point to some "driver maintainer". There is none. If there were, then (s)he would have been active here. Bjørn -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] Twinhan 1027 + IR Port support
Refreshed version of https://patchwork.kernel.org/patch/79753/ patch (adapted for the new IR system), still works... diff --git a/drivers/media/IR/keymaps/Makefile b/drivers/media/IR/keymaps/Makefile index aea649f..7393d31 100644 --- a/drivers/media/IR/keymaps/Makefile +++ b/drivers/media/IR/keymaps/Makefile @@ -62,6 +62,7 @@ obj-$(CONFIG_RC_MAP) += rc-adstech-dvb-t-pci.o \ rc-terratec-cinergy-xs.o \ rc-tevii-nec.o \ rc-tt-1500.o \ + rc-twinhan1027.o \ rc-videomate-s350.o \ rc-videomate-tv-pvr.o \ rc-winfast.o \ diff --git a/drivers/media/IR/keymaps/rc-twinhan1027.c b/drivers/media/IR/keymaps/rc-twinhan1027.c new file mode 100644 index 000..15da792 --- /dev/null +++ b/drivers/media/IR/keymaps/rc-twinhan1027.c @@ -0,0 +1,87 @@ +#include + +static struct ir_scancode twinhan_vp1027[] = { + { 0x16, KEY_POWER2 }, + { 0x17, KEY_FAVORITES }, + { 0x0f, KEY_TEXT }, + { 0x48, KEY_INFO}, + { 0x1c, KEY_EPG }, + { 0x04, KEY_LIST }, + + { 0x03, KEY_1 }, + { 0x01, KEY_2 }, + { 0x06, KEY_3 }, + { 0x09, KEY_4 }, + { 0x1d, KEY_5 }, + { 0x1f, KEY_6 }, + { 0x0d, KEY_7 }, + { 0x19, KEY_8 }, + { 0x1b, KEY_9 }, + { 0x15, KEY_0 }, + + { 0x0c, KEY_CANCEL }, + { 0x4a, KEY_CLEAR }, + { 0x13, KEY_BACKSPACE }, + { 0x00, KEY_TAB }, + + { 0x4b, KEY_UP }, + { 0x51, KEY_DOWN }, + { 0x4e, KEY_LEFT }, + { 0x52, KEY_RIGHT }, + { 0x4f, KEY_ENTER }, + + { 0x1e, KEY_VOLUMEUP }, + { 0x0a, KEY_VOLUMEDOWN }, + { 0x02, KEY_CHANNELDOWN }, + { 0x05, KEY_CHANNELUP }, + { 0x11, KEY_RECORD }, + + { 0x14, KEY_PLAY }, + { 0x4c, KEY_PAUSE }, + { 0x1a, KEY_STOP }, + { 0x40, KEY_REWIND }, + { 0x12, KEY_FASTFORWARD }, + { 0x41, KEY_PREVIOUSSONG }, + { 0x42, KEY_NEXTSONG }, + { 0x54, KEY_SAVE }, + { 0x50, KEY_LANGUAGE }, + { 0x47, KEY_MEDIA }, + { 0x4d, KEY_SCREEN }, + { 0x43, KEY_SUBTITLE }, + { 0x10, KEY_MUTE }, + { 0x49, KEY_AUDIO }, + { 0x07, KEY_SLEEP }, + { 0x08, KEY_VIDEO }, + { 0x0e, KEY_AGAIN }, + { 0x45, KEY_EQUAL }, + { 0x46, KEY_MINUS }, + { 0x18, KEY_RED }, + { 0x53, KEY_GREEN }, + { 0x5e, KEY_YELLOW }, + { 0x5f, KEY_BLUE }, +}; + +static struct rc_keymap twinhan_vp1027_map = { + .map = { + .scan= twinhan_vp1027, + .size= ARRAY_SIZE(twinhan_vp1027), + .ir_type = IR_TYPE_UNKNOWN, /* Legacy IR type */ + .name= RC_MAP_TWINHAN_VP1027_DVBS, + } +}; + +static int __init init_rc_map_twinhan_vp1027(void) +{ + return ir_register_map(&twinhan_vp1027_map); +} + +static void __exit exit_rc_map_twinhan_vp1027(void) +{ + ir_unregister_map(&twinhan_vp1027_map); +} + +module_init(init_rc_map_twinhan_vp1027) +module_exit(exit_rc_map_twinhan_vp1027) + +MODULE_LICENSE("GPL"); +MODULE_AUTHOR("Sergey Ivanov <123k...@gmail.com>"); diff --git a/drivers/media/video/cx88/cx88-cards.c b/drivers/media/video/cx88/cx88-cards.c index 2918a6e..03fdbad 100644 --- a/drivers/media/video/cx88/cx88-cards.c +++ b/drivers/media/video/cx88/cx88-cards.c @@ -2100,6 +2100,18 @@ static const struct cx88_board cx88_boards[] = { } }, .mpeg = CX88_MPEG_DVB, }, + [CX88_BOARD_TWINHAN_VP1027_DVBS] = { + .name = "Twinhan VP-1027 DVB-S", + .tuner_type = TUNER_ABSENT, + .radio_type = UNSET, + .tuner_addr = ADDR_UNSET, + .radio_addr = ADDR_UNSET, + .input = {{ + .type = CX88_VMUX_DVB, + .vmux = 0, + } }, + .mpeg = CX88_MPEG_DVB, + }, }; /* -- */ @@ -2572,6 +2584,10 @@ static const struct cx88_subid cx88_subids[] = { .subvendor = 0xb034, .subdevice = 0x3034, .card = CX88_BOARD_PROF_7301, + }, { + .subvendor = 0x1822, + .subdevice = 0x0023, + .card = CX88_BOARD_TWINHAN_VP1027_DVBS, }, }; @@ -3066,6 +3082,13 @@ static void cx88_card_setup_pre_i2c(struct cx88_core *core) cx_set(MO_GP1_IO, 0x10); mdelay(50); break; + + case CX88_BOARD_TWINHAN_VP1027_DVBS: + cx_write(MO_GP0_IO, 0x3230); + cx_write(MO_GP0_IO, 0x3210); + msleep(1); + cx_write(MO_GP0_IO, 0x1230); + break; } } diff --git a/drivers/media/video/cx88/cx88-dvb.c b/drivers/media/video/cx88/
Re: linux-next: Tree for August 7 (IR)
Hi Randy, Em 08-08-2010 17:55, Randy Dunlap escreveu: > On Sat, 7 Aug 2010 20:39:20 -0700 Randy Dunlap wrote: > > [adding linux-media] > >> On Sat, 7 Aug 2010 16:07:10 +1000 Stephen Rothwell wrote: >> >>> Hi all, >>> >>> As the merge window is open, please do not add 2.6.37 material to your >>> linux-next included trees until after 2.6.36-rc1. >>> >>> Changes since 20100806: >> >> 2 sets of IR build errors (2 .config files attached): >> The patch bellow should fix the issue. The bad thing is that, if you deselect IR_CORE, several drivers like bttv would be deselected too. So, a further action would be to work on some solution for it. The first alternative would be to write some stubs at ir-core.h to allow compiling the V4L/DVB drivers without IR support, removing the "depends on" for those drivers. The bad thing is that the subsystem headers will have some #ifs there. Another alternative would be to do this inside the drivers and/or drivers headers. In general, at driver level, there are just one or two functions called in order to activate/deactivate the remote controllers. So, IMHO, this would provide a cleaner way. I'll likely do some patches using the second alternative and see how it will look like. Cheers, Mauro. --- commit c4cc9655223f7592a310d897429a4d8dfbf2259b Author: Mauro Carvalho Chehab Date: Mon Aug 9 10:07:20 2010 -0300 V4L/DVB: Fix IR_CORE dependencies As pointed by Randy Dunlap : > ERROR: "ir_keydown" [drivers/media/video/ir-kbd-i2c.ko] undefined! > ERROR: "__ir_input_register" [drivers/media/video/ir-kbd-i2c.ko] undefined! > ERROR: "get_rc_map" [drivers/media/video/ir-kbd-i2c.ko] undefined! > ERROR: "ir_input_unregister" [drivers/media/video/ir-kbd-i2c.ko] undefined! > ERROR: "get_rc_map" [drivers/media/video/cx88/cx88xx.ko] undefined! > ERROR: "ir_repeat" [drivers/media/video/cx88/cx88xx.ko] undefined! > ERROR: "ir_input_unregister" [drivers/media/video/cx88/cx88xx.ko] undefined! > ERROR: "ir_keydown" [drivers/media/video/cx88/cx88xx.ko] undefined! > ERROR: "__ir_input_register" [drivers/media/video/cx88/cx88xx.ko] undefined! > ERROR: "get_rc_map" [drivers/media/video/bt8xx/bttv.ko] undefined! > ERROR: "ir_input_unregister" [drivers/media/video/bt8xx/bttv.ko] undefined! > ERROR: "__ir_input_register" [drivers/media/video/bt8xx/bttv.ko] undefined! > ERROR: "ir_g_keycode_from_table" [drivers/media/IR/ir-common.ko] undefined! > > > #5101: > (.text+0x8306e2): undefined reference to `ir_core_debug' > (.text+0x830729): undefined reference to `ir_core_debug' > ir-functions.c:(.text+0x830906): undefined reference to `ir_core_debug' > (.text+0x8309d8): undefined reference to `ir_g_keycode_from_table' > (.text+0x830acf): undefined reference to `ir_core_debug' > (.text+0x830b92): undefined reference to `ir_core_debug' > (.text+0x830bef): undefined reference to `ir_core_debug' > (.text+0x830c6a): undefined reference to `ir_core_debug' > (.text+0x830cf7): undefined reference to `ir_core_debug' > budget-ci.c:(.text+0x89f5c8): undefined reference to `ir_keydown' > budget-ci.c:(.text+0x8a0c58): undefined reference to `get_rc_map' > budget-ci.c:(.text+0x8a0c80): undefined reference to `__ir_input_register' > budget-ci.c:(.text+0x8a0ee0): undefined reference to `get_rc_map' > budget-ci.c:(.text+0x8a11cd): undefined reference to `ir_input_unregister' > (.text+0x8a8adb): undefined reference to `ir_input_unregister' > dvb-usb-remote.c:(.text+0x8a9188): undefined reference to `get_rc_map' > dvb-usb-remote.c:(.text+0x8a91b1): undefined reference to `__ir_input_register' > dvb-usb-remote.c:(.text+0x8a9238): undefined reference to `get_rc_map' > dib0700_core.c:(.text+0x8b04ca): undefined reference to `ir_keydown' > dib0700_devices.c:(.text+0x8b2ea8): undefined reference to `ir_keydown' > dib0700_devices.c:(.text+0x8b2ef0): undefined reference to `ir_keydown' Those breakages seem to be caused by two bad things at IR_CORE Kconfig: 1) cx23885 is using select for IR_CORE; 2) the dvb-usb and sms dependency for IR_CORE were missing. While here, allow users to un-select IR. Signed-off-by: Mauro Carvalho Chehab diff --git a/drivers/media/IR/Kconfig b/drivers/media/IR/Kconfig index 30e0491..490c57c 100644 --- a/drivers/media/IR/Kconfig +++ b/drivers/media/IR/Kconfig @@ -2,14 +2,21 @@ menuconfig IR_CORE tristate "Infrared remote controller adapters" depends on INPUT default INPUT + ---help--- + Enable support for Remote Controllers on Linux. This is + needed in order to support several video capture adapters. -if IR_CORE + Enable this option if you have a video capture board even + if you don't need IR, as otherwise, you may not be able to + compile the driver for your adapter. config VIDEO_IR tristate depen
Re: OMAP3 Bridge Problems
On 08/09/2010 03:25 AM, Laurent Pinchart wrote: Hi Lane, On Monday 09 August 2010 00:56:27 Lane Brooks wrote: On 08/08/2010 04:29 PM, Laurent Pinchart wrote: Hi Lane, Thanks for the patch. On Thursday 05 August 2010 20:53:50 Lane Brooks wrote: [snip] I was able to get YUV CCDC capture mode working with rather minimal effort. Attached is a patch with the initial effort. Can you comment? Writing to the ISPCCDC_SYN_MODE register should be moved to ccdc_configure(). Just move the switch statement there right after the format =&ccdc->formats[CCDC_PAD_SINK]; line (without the ispctrl_val settings), it should be enough. + isp_reg_writel(isp, ispctrl_val, OMAP3_ISP_IOMEM_MAIN, + ISP_CTRL); The ISP_CTRL register should be written in isp_select_bridge_input() only. As you correctly mention, whether the data is in little endian or big endian format should come from platform data, so I think it's fine to force board files to set the isp->pdata->parallel.bridge field to the correct value. Putting the bridge settings in the platform data is tricky because they need to change depending on the selected format. For example, for my board, when in SGRBG mode, the bridge needs disabled. When in YUV16 mode, however, I need need to select BIG/LITTLE endian depending on whether it is YUYV or UYVY or ... Ah right... So your sensor can output both Bayer and YUV data ? What sensor is that BTW ? Aptina MT9T111. It can even output JPEG. I am not quite sure how to capture that in the platform data without enumerating every supported format code in the platform data. The current patch knows (based on the OMAP TRM) that YUV16 mode requires the bridge to be enabled. So in the platform data I specify the bridge state for SGBRG mode and force the bridge to BIG endian in YUV16 mode. This leaves the sensor to switch the phasing based on YUYV, YVYU, etc. mode. I am not sure who should be in charge of doing byte swapping in general, but if the input and output modes are the same, then big endian should be used to avoid a byte swap. In other words, the mode is completely determinable based on the formats, so perhaps I should implement it that way. If the input and output port require a byte swap, then go little endian, otherwise go big endian. OK I understand. The best solution (for now) would then be to modify isp_configure_bridge(). I wrote a few patches that modify how platform data is handled, but I can't commit them at the moment (they depend on other patches that I still need to clean up). The reason why I put both writes to the ISPCTRL and SYN_MODE registers where I did. Moving them to other places will require querying the selected format code. Is that what you want as well? For SYN_MODE, definitely. For ISPCTRL, you can hack isp_configure_bridge() to retrieve the current CCDC input format, and we'll write a proper fix right after I commit my platform data restructuring patches. I'll wait for your patches then. Let me know. -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH v2] mx2_camera: remove emma limitation for RGB565
X-Uptime: 16:20:11 up 37 days, 5:31, 61 users, load average: 0.68, 0.32, 0.30 In the current source status the emma has no limitation for any PIXFMT since the data is parsed raw and unprocessed into the memory. Signed-off-by: Michael Grzeschik --- v1 -> v2 Changed Comment in emma_buf_init as recommended drivers/media/video/mx2_camera.c | 15 +-- 1 files changed, 5 insertions(+), 10 deletions(-) diff --git a/drivers/media/video/mx2_camera.c b/drivers/media/video/mx2_camera.c index e859c7f..ccd121f 100644 --- a/drivers/media/video/mx2_camera.c +++ b/drivers/media/video/mx2_camera.c @@ -712,8 +712,11 @@ static void mx27_camera_emma_buf_init(struct soc_camera_device *icd, /* * We only use the EMMA engine to get rid of the broken * DMA Engine. No color space consversion at the moment. -* We adjust incoming and outgoing pixelformat to rgb16 -* and adjust the bytesperline accordingly. +* We set the incomming and outgoing pixelformat to an +* 16 Bit wide format and adjust the bytesperline +* accordingly. With this configuration the inputdata +* will not be changed by the emma and could be any type +* of 16 Bit Pixelformat. */ writel(PRP_CNTL_CH1EN | PRP_CNTL_CSIEN | @@ -897,10 +900,6 @@ static int mx2_camera_set_fmt(struct soc_camera_device *icd, return -EINVAL; } - /* eMMA can only do RGB565 */ - if (mx27_camera_emma(pcdev) && pix->pixelformat != V4L2_PIX_FMT_RGB565) - return -EINVAL; - mf.width= pix->width; mf.height = pix->height; mf.field= pix->field; @@ -944,10 +943,6 @@ static int mx2_camera_try_fmt(struct soc_camera_device *icd, /* FIXME: implement MX27 limits */ - /* eMMA can only do RGB565 */ - if (mx27_camera_emma(pcdev) && pixfmt != V4L2_PIX_FMT_RGB565) - return -EINVAL; - /* limit to MX25 hardware capabilities */ if (cpu_is_mx25()) { if (xlate->host_fmt->bits_per_sample <= 8) -- 1.7.1 -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [linux-dvb] Pinnacle Systems, Inc. PCTV 330e & 2.6.34 & /dev/dvb
On Mon, Aug 9, 2010 at 9:32 AM, folkert wrote: > Hi, > > I have a: > Bus 001 Device 006: ID 2304:0226 Pinnacle Systems, Inc. PCTV 330e > inserted in a system with kernel 2.6.34. The PCTV 330e support for digital hasn't been merged upstream yet. See here: http://www.kernellabs.com/blog/?cat=35 Cheers, Devin -- Devin J. Heitmueller - Kernel Labs http://www.kernellabs.com -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 0/2 v3] media, mfd: Add timberdale video-in driver
To follow are three patches. Since last patch I removed the uncached buffers patch, it needs to be investigated further. The first adds the timberdale video-in driver to the media tree. The second adds it to the timberdale MFD driver. Samuel and Mauro hope you can support and solve the potential merge issue between your two trees. Thanks --Richard -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 1/2 v3] media: Add timberdale video-in driver
This patch adds the timberdale video-in driver. The video IP of timberdale delivers the video data via DMA. The driver uses the DMA api to handle DMA transfers, and make use of the V4L2 video buffers to handle buffers against user space. If available the driver uses an encoder to get/set the video standard Signed-off-by: Richard Röjfors --- diff --git a/drivers/media/video/Kconfig b/drivers/media/video/Kconfig index bdbc9d3..43c3277 100644 --- a/drivers/media/video/Kconfig +++ b/drivers/media/video/Kconfig @@ -969,6 +969,15 @@ config VIDEO_OMAP2 ---help--- This is a v4l2 driver for the TI OMAP2 camera capture interface +config VIDEO_TIMBERDALE + tristate "Support for timberdale Video In/LogiWIN" + depends on VIDEO_V4L2 && I2C + select TIMB_DMA + select VIDEO_ADV7180 + select VIDEOBUF_DMA_CONTIG + ---help--- + Add support for the Video In peripherial of the timberdale FPGA. + # # USB Multimedia device configuration # diff --git a/drivers/media/video/Makefile b/drivers/media/video/Makefile index cc93859..39750e0 100644 --- a/drivers/media/video/Makefile +++ b/drivers/media/video/Makefile @@ -110,6 +110,7 @@ obj-$(CONFIG_VIDEO_CPIA2) += cpia2/ obj-$(CONFIG_VIDEO_MXB) += mxb.o obj-$(CONFIG_VIDEO_HEXIUM_ORION) += hexium_orion.o obj-$(CONFIG_VIDEO_HEXIUM_GEMINI) += hexium_gemini.o +obj-$(CONFIG_VIDEO_TIMBERDALE) += timblogiw.o obj-$(CONFIG_VIDEOBUF_GEN) += videobuf-core.o obj-$(CONFIG_VIDEOBUF_DMA_SG) += videobuf-dma-sg.o diff --git a/drivers/media/video/timblogiw.c b/drivers/media/video/timblogiw.c new file mode 100644 index 000..1ccc620 --- /dev/null +++ b/drivers/media/video/timblogiw.c @@ -0,0 +1,877 @@ +/* + * timblogiw.c timberdale FPGA LogiWin Video In driver + * Copyright (c) 2009-2010 Intel Corporation + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +/* Supports: + * Timberdale FPGA LogiWin Video In + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define DRIVER_NAME"timb-video" + +#define TIMBLOGIWIN_NAME "Timberdale Video-In" +#define TIMBLOGIW_VERSION_CODE 0x04 + +#define TIMBLOGIW_LINES_PER_DESC 44 +#define TIMBLOGIW_MAX_VIDEO_MEM16 + +#define TIMBLOGIW_VIDEO_FORMAT V4L2_PIX_FMT_UYVY + +#define TIMBLOGIW_HAS_DECODER(lw) (lw->pdata.encoder.module_name) + + +struct timblogiw { + struct video_device video_dev; + struct v4l2_device v4l2_dev; /* mutual exclusion */ + struct mutexlock; + struct device *dev; + struct timb_video_platform_data pdata; + struct v4l2_subdev *sd_enc;/* encoder */ + boolopened; +}; + +struct timblogiw_tvnorm { + v4l2_std_id std; + u16 width; + u16 height; + u8 fps; +}; + +struct timblogiw_fh { + struct videobuf_queue vb_vidq; + struct timblogiw_tvnorm const *cur_norm; + struct list_headcapture; + struct dma_chan *chan; + spinlock_t queue_lock; /* mutual exclusion */ + unsigned intframe_count; +}; + +struct timblogiw_buffer { + /* common v4l buffer stuff -- must be first */ + struct videobuf_buffer vb; + struct scatterlist sg[16]; + dma_cookie_tcookie; + struct timblogiw_fh *fh; +}; + +const struct timblogiw_tvnorm timblogiw_tvnorms[] = { + { + .std= V4L2_STD_PAL, + .width = 720, + .height = 576, + .fps= 25 + }, + { + .std= V4L2_STD_NTSC, + .width = 720, + .height = 480, + .fps= 26 + } +}; + +static int timblogiw_bytes_per_line(const struct timblogiw_tvnorm *norm) +{ + return norm->width * 2; +} + + +static int timblogiw_frame_size(const struct timblogiw_tvnorm *norm) +{ + return norm->height * timblogiw_bytes_per_line(norm); +} + +static const struct timblogiw_tvnorm *timblogiw_get_norm(const v
[PATCH 2/2 v3] mfd: Add timberdale video-in driver to timberdale
This patch defines platform data for the video-in driver and adds it to all configurations of timberdale. Signed-off-by: Richard Röjfors --- diff --git a/drivers/mfd/timberdale.c b/drivers/mfd/timberdale.c index ac59950..d4a95bd 100644 --- a/drivers/mfd/timberdale.c +++ b/drivers/mfd/timberdale.c @@ -40,6 +40,7 @@ #include #include +#include #include @@ -238,6 +239,22 @@ static const __devinitconst struct resource timberdale_uartlite_resources[] = { }, }; +static __devinitdata struct i2c_board_info timberdale_adv7180_i2c_board_info = { + /* Requires jumper JP9 to be off */ + I2C_BOARD_INFO("adv7180", 0x42 >> 1), + .irq = IRQ_TIMBERDALE_ADV7180 +}; + +static __devinitdata struct timb_video_platform_data + timberdale_video_platform_data = { + .dma_channel = DMA_VIDEO_RX, + .i2c_adapter = 0, + .encoder = { + .module_name = "adv7180", + .info = &timberdale_adv7180_i2c_board_info + } +}; + static const __devinitconst struct resource timberdale_radio_resources[] = { { .start = RDSOFFSET, @@ -272,6 +289,18 @@ static __devinitdata struct timb_radio_platform_data } }; +static const __devinitconst struct resource timberdale_video_resources[] = { + { + .start = LOGIWOFFSET, + .end= LOGIWEND, + .flags = IORESOURCE_MEM, + }, + /* + note that the "frame buffer" is located in DMA area + starting at 0x120 + */ +}; + static __devinitdata struct timb_dma_platform_data timb_dma_platform_data = { .nr_channels = 10, .channels = { @@ -372,6 +401,13 @@ static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg0[] = { .data_size = sizeof(timberdale_gpio_platform_data), }, { + .name = "timb-video", + .num_resources = ARRAY_SIZE(timberdale_video_resources), + .resources = timberdale_video_resources, + .platform_data = &timberdale_video_platform_data, + .data_size = sizeof(timberdale_video_platform_data), + }, + { .name = "timb-radio", .num_resources = ARRAY_SIZE(timberdale_radio_resources), .resources = timberdale_radio_resources, @@ -430,6 +466,13 @@ static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg1[] = { .resources = timberdale_mlogicore_resources, }, { + .name = "timb-video", + .num_resources = ARRAY_SIZE(timberdale_video_resources), + .resources = timberdale_video_resources, + .platform_data = &timberdale_video_platform_data, + .data_size = sizeof(timberdale_video_platform_data), + }, + { .name = "timb-radio", .num_resources = ARRAY_SIZE(timberdale_radio_resources), .resources = timberdale_radio_resources, @@ -478,6 +521,13 @@ static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg2[] = { .data_size = sizeof(timberdale_gpio_platform_data), }, { + .name = "timb-video", + .num_resources = ARRAY_SIZE(timberdale_video_resources), + .resources = timberdale_video_resources, + .platform_data = &timberdale_video_platform_data, + .data_size = sizeof(timberdale_video_platform_data), + }, + { .name = "timb-radio", .num_resources = ARRAY_SIZE(timberdale_radio_resources), .resources = timberdale_radio_resources, @@ -521,6 +571,13 @@ static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg3[] = { .data_size = sizeof(timberdale_gpio_platform_data), }, { + .name = "timb-video", + .num_resources = ARRAY_SIZE(timberdale_video_resources), + .resources = timberdale_video_resources, + .platform_data = &timberdale_video_platform_data, + .data_size = sizeof(timberdale_video_platform_data), + }, + { .name = "timb-radio", .num_resources = ARRAY_SIZE(timberdale_radio_resources), .resources = timberdale_radio_resources, diff --git a/drivers/mfd/timberdale.h b/drivers/mfd/timberdale.h index c11bf6e..4412acd 100644 --- a/drivers/mfd/timberdale.h +++ b/drivers/mfd/timberdale.h @@ -23,7 +23,7 @@ #ifndef MFD_TIMBERDALE_H #define MFD_TIMBERDALE_H -#define DRV_VERSION"0.2" +#define DRV_VERSION"0.3" /* This driver only support versions >= 3.8 and < 4.0 */ #define TIMB_SUPPORTED_MAJOR 3 -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [linux-dvb] Pinnacle Systems, Inc. PCTV 330e & 2.6.34 & /dev/dvb
Hi Devin, > > I have a: > > Bus 001 Device 006: ID 2304:0226 Pinnacle Systems, Inc. PCTV 330e > > inserted in a system with kernel 2.6.34. > > The PCTV 330e support for digital hasn't been merged upstream yet. > See here: > http://www.kernellabs.com/blog/?cat=35 Does that mean teletext won't work either? Any USB dvb-t devices out there for which teletext does work under Linux? Folkert van Heusden -- Multitail est un outil permettant la visualisation de fichiers de journalisation et/ou le suivi de l'exécution de commandes. Filtrage, mise en couleur de mot-clé, fusions, visualisation de différences (diff-view), etc. http://www.vanheusden.com/multitail/ -- Phone: +31-6-41278122, PGP-key: 1F28D8AE, www.vanheusden.com -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [linux-dvb] Pinnacle Systems, Inc. PCTV 330e & 2.6.34 & /dev/dvb
On Mon, Aug 9, 2010 at 10:35 AM, folkert wrote: > Hi Devin, > >> > I have a: >> > Bus 001 Device 006: ID 2304:0226 Pinnacle Systems, Inc. PCTV 330e >> > inserted in a system with kernel 2.6.34. >> >> The PCTV 330e support for digital hasn't been merged upstream yet. >> See here: >> http://www.kernellabs.com/blog/?cat=35 > > Does that mean teletext won't work either? Teletext support is completely different that digital (DVB) support. VBI support (including teletext) was added to the in-kernel em28xx driver back in January. Devin -- Devin J. Heitmueller - Kernel Labs http://www.kernellabs.com -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [linux-dvb] Pinnacle Systems, Inc. PCTV 330e & 2.6.34 & /dev/dvb
> >> > I have a: > >> > Bus 001 Device 006: ID 2304:0226 Pinnacle Systems, Inc. PCTV 330e > >> > inserted in a system with kernel 2.6.34. > >> > >> The PCTV 330e support for digital hasn't been merged upstream yet. > >> See here: > >> http://www.kernellabs.com/blog/?cat=35 > > > > Does that mean teletext won't work either? > > Teletext support is completely different that digital (DVB) support. > VBI support (including teletext) was added to the in-kernel em28xx > driver back in January. Ah and I see in the code that you are the maintainer :-) Something seems to be odd with the vbi support: mauer:~# alevt -vbi /dev/vbi0 DMX_SET_FILTER: Invalid argument alevt: v4l2: broken vbi format specification alevt: cannot open device: /dev/vbi0 open("/dev/vbi0", O_RDWR) = 3 ioctl(3, 0x403c6f2b, 0x7fff2617e5d0)= -1 EINVAL (Invalid argument) dup(2) = 4 fcntl(4, F_GETFL) = 0x8002 (flags O_RDWR|O_LARGEFILE) fstat(4, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 8), ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f26789a2000 lseek(4, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek) write(4, "DMX_SET_FILTER: Invalid argument\n", 33DMX_SET_FILTER: Invalid argument ) = 33 close(4)= 0 munmap(0x7f26789a2000, 4096)= 0 close(3)= 0 open("/dev/vbi0", O_RDONLY) = 3 ioctl(3, VIDIOC_G_FMT or VT_SENDSIG, 0x7fff2618) = 0 write(2, "alevt: ", 7alevt: ) = 7 write(2, "v4l2: broken vbi format specification", 37v4l2: broken vbi format specification) = 37 write(2, "\n", 1 ) = 1 close(3)= 0 [1019162.700435] tvp5150 1-005c: tvp5150am1 detected. [1019163.340012] xc2028 1-0061: Loading firmware for type=BASE F8MHZ MTS (7), id . [1019164.280579] MTS (4), id 00ff: [1019164.280652] xc2028 1-0061: Loading firmware for type=MTS (4), id 00010007. Folkert van Heusden -- MultiTail is a versatile tool for watching logfiles and output of commands. Filtering, coloring, merging, diff-view, etc. http://www.vanheusden.com/multitail/ -- Phone: +31-6-41278122, PGP-key: 1F28D8AE, www.vanheusden.com -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [linux-dvb] Pinnacle Systems, Inc. PCTV 330e & 2.6.34 & /dev/dvb
On Mon, Aug 9, 2010 at 10:56 AM, folkert wrote: > Ah and I see in the code that you are the maintainer :-) I'm not sure I would call myself the maintainer, but I did do the VBI support for both NTSC and PAL (including teletext). > Something seems to be odd with the vbi support: > mauer:~# alevt -vbi /dev/vbi0 > DMX_SET_FILTER: Invalid argument > alevt: v4l2: broken vbi format specification > alevt: cannot open device: /dev/vbi0 I'll have to look at the source code to alevt and see what exactly it considers to be invalid. The teletext support was tested with mtt, but not alevt. Devin -- Devin J. Heitmueller - Kernel Labs http://www.kernellabs.com -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH v2][RESEND] mx2_camera: remove emma limitation for RGB565
In the current source status the emma has no limitation for any PIXFMT since the data is parsed raw and unprocessed into the memory. Signed-off-by: Michael Grzeschik --- v1 -> v2 Changed Comment in emma_buf_init as recommended drivers/media/video/mx2_camera.c | 15 +-- 1 files changed, 5 insertions(+), 10 deletions(-) diff --git a/drivers/media/video/mx2_camera.c b/drivers/media/video/mx2_camera.c index e859c7f..ccd121f 100644 --- a/drivers/media/video/mx2_camera.c +++ b/drivers/media/video/mx2_camera.c @@ -712,8 +712,11 @@ static void mx27_camera_emma_buf_init(struct soc_camera_device *icd, /* * We only use the EMMA engine to get rid of the broken * DMA Engine. No color space consversion at the moment. -* We adjust incoming and outgoing pixelformat to rgb16 -* and adjust the bytesperline accordingly. +* We set the incomming and outgoing pixelformat to an +* 16 Bit wide format and adjust the bytesperline +* accordingly. With this configuration the inputdata +* will not be changed by the emma and could be any type +* of 16 Bit Pixelformat. */ writel(PRP_CNTL_CH1EN | PRP_CNTL_CSIEN | @@ -897,10 +900,6 @@ static int mx2_camera_set_fmt(struct soc_camera_device *icd, return -EINVAL; } - /* eMMA can only do RGB565 */ - if (mx27_camera_emma(pcdev) && pix->pixelformat != V4L2_PIX_FMT_RGB565) - return -EINVAL; - mf.width= pix->width; mf.height = pix->height; mf.field= pix->field; @@ -944,10 +943,6 @@ static int mx2_camera_try_fmt(struct soc_camera_device *icd, /* FIXME: implement MX27 limits */ - /* eMMA can only do RGB565 */ - if (mx27_camera_emma(pcdev) && pixfmt != V4L2_PIX_FMT_RGB565) - return -EINVAL; - /* limit to MX25 hardware capabilities */ if (cpu_is_mx25()) { if (xlate->host_fmt->bits_per_sample <= 8) -- 1.7.1 -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: linux-next: Tree for August 7 (IR)
On Mon, 09 Aug 2010 10:26:51 -0300 Mauro Carvalho Chehab wrote: > Hi Randy, > > Em 08-08-2010 17:55, Randy Dunlap escreveu: > > On Sat, 7 Aug 2010 20:39:20 -0700 Randy Dunlap wrote: > > > > [adding linux-media] > > > >> On Sat, 7 Aug 2010 16:07:10 +1000 Stephen Rothwell wrote: > >> > >>> Hi all, > >>> > >>> As the merge window is open, please do not add 2.6.37 material to your > >>> linux-next included trees until after 2.6.36-rc1. > >>> > >>> Changes since 20100806: > >> > >> 2 sets of IR build errors (2 .config files attached): > >> > > The patch bellow should fix the issue. The bad thing is that, if you deselect > IR_CORE, several drivers like bttv would be deselected too. > > So, a further action would be to work on some solution for it. > > The first alternative would be to write some stubs at ir-core.h to allow > compiling the V4L/DVB drivers without IR support, removing the "depends on" > for those drivers. The bad thing is that the subsystem headers will have some > #ifs there. > > Another alternative would be to do this inside the drivers and/or drivers > headers. > In general, at driver level, there are just one or two functions called in > order > to activate/deactivate the remote controllers. So, IMHO, this would provide a > cleaner > way. > > I'll likely do some patches using the second alternative and see how it will > look like. > > Cheers, > Mauro. With this patch applied, I rebuilt both builds that failed on Saturday... and they still fail. Error logs are: from config-r5091: ERROR: "ir_keydown" [drivers/media/video/ir-kbd-i2c.ko] undefined! ERROR: "__ir_input_register" [drivers/media/video/ir-kbd-i2c.ko] undefined! ERROR: "get_rc_map" [drivers/media/video/ir-kbd-i2c.ko] undefined! ERROR: "ir_input_unregister" [drivers/media/video/ir-kbd-i2c.ko] undefined! ERROR: "get_rc_map" [drivers/media/video/cx88/cx88xx.ko] undefined! ERROR: "ir_repeat" [drivers/media/video/cx88/cx88xx.ko] undefined! ERROR: "ir_input_unregister" [drivers/media/video/cx88/cx88xx.ko] undefined! ERROR: "ir_keydown" [drivers/media/video/cx88/cx88xx.ko] undefined! ERROR: "__ir_input_register" [drivers/media/video/cx88/cx88xx.ko] undefined! ERROR: "get_rc_map" [drivers/media/video/bt8xx/bttv.ko] undefined! ERROR: "ir_input_unregister" [drivers/media/video/bt8xx/bttv.ko] undefined! ERROR: "__ir_input_register" [drivers/media/video/bt8xx/bttv.ko] undefined! ERROR: "ir_g_keycode_from_table" [drivers/media/IR/ir-common.ko] undefined! from config-r5101: drivers/built-in.o: In function `ir_rc5_decode': (.text+0x8306e2): undefined reference to `ir_core_debug' drivers/built-in.o: In function `ir_rc5_decode': (.text+0x830729): undefined reference to `ir_core_debug' drivers/built-in.o: In function `ir_input_key_event': ir-functions.c:(.text+0x830906): undefined reference to `ir_core_debug' drivers/built-in.o: In function `ir_input_keydown': (.text+0x8309d8): undefined reference to `ir_g_keycode_from_table' drivers/built-in.o: In function `ir_rc5_timer_keyup': (.text+0x830acf): undefined reference to `ir_core_debug' drivers/built-in.o: In function `ir_rc5_timer_end': (.text+0x830b92): undefined reference to `ir_core_debug' drivers/built-in.o: In function `ir_rc5_timer_end': (.text+0x830bef): undefined reference to `ir_core_debug' drivers/built-in.o: In function `ir_rc5_timer_end': (.text+0x830c6a): undefined reference to `ir_core_debug' drivers/built-in.o: In function `ir_rc5_timer_end': (.text+0x830cf7): undefined reference to `ir_core_debug' drivers/built-in.o: In function `msp430_ir_interrupt': budget-ci.c:(.text+0x8770d8): undefined reference to `ir_keydown' drivers/built-in.o: In function `msp430_ir_init': budget-ci.c:(.text+0x878768): undefined reference to `get_rc_map' budget-ci.c:(.text+0x878790): undefined reference to `__ir_input_register' budget-ci.c:(.text+0x8789f0): undefined reference to `get_rc_map' drivers/built-in.o: In function `budget_ci_detach': budget-ci.c:(.text+0x878cdd): undefined reference to `ir_input_unregister' The config files are available in this email archive: http://marc.info/?l=linux-kernel&m=128123907508042&w=2 > --- > > commit c4cc9655223f7592a310d897429a4d8dfbf2259b > Author: Mauro Carvalho Chehab > Date: Mon Aug 9 10:07:20 2010 -0300 > > V4L/DVB: Fix IR_CORE dependencies > > As pointed by Randy Dunlap : > > ERROR: "ir_keydown" [drivers/media/video/ir-kbd-i2c.ko] undefined! > > ERROR: "__ir_input_register" [drivers/media/video/ir-kbd-i2c.ko] > undefined! > > ERROR: "get_rc_map" [drivers/media/video/ir-kbd-i2c.ko] undefined! > > ERROR: "ir_input_unregister" [drivers/media/video/ir-kbd-i2c.ko] > undefined! > > ERROR: "get_rc_map" [drivers/media/video/cx88/cx88xx.ko] undefined! > > ERROR: "ir_repeat" [drivers/media/video/cx88/cx88xx.ko] undefined! > > ERROR: "ir_input_unregister" [drivers/media/video/cx88/cx88xx.ko] > undefined! > > ERROR: "ir_keydown" [drivers/media/video/cx88/cx88xx.ko] undefined! > > ERROR: "__ir_inp
Re: [PATCH v7 4/5] V4L2: WL1273 FM Radio: Controls for the FM radio.
Hi Matti, Just a few comments: On Monday 02 August 2010 16:06:42 Matti J. Aaltonen wrote: > This driver implements V4L2 controls for the Texas Instruments > WL1273 FM Radio. > > Signed-off-by: Matti J. Aaltonen > --- > drivers/media/radio/Kconfig| 15 + > drivers/media/radio/Makefile |1 + > drivers/media/radio/radio-wl1273.c | 1972 > > drivers/mfd/Kconfig|6 + > drivers/mfd/Makefile |2 + > 5 files changed, 1996 insertions(+), 0 deletions(-) > create mode 100644 drivers/media/radio/radio-wl1273.c > > diff --git a/drivers/media/radio/Kconfig b/drivers/media/radio/Kconfig > index 83567b8..209fd37 100644 > --- a/drivers/media/radio/Kconfig > +++ b/drivers/media/radio/Kconfig > @@ -452,4 +452,19 @@ config RADIO_TIMBERDALE > found behind the Timberdale FPGA on the Russellville board. > Enabling this driver will automatically select the DSP and tuner. > > +config RADIO_WL1273 > + tristate "Texas Instruments WL1273 I2C FM Radio" > +depends on I2C && VIDEO_V4L2 && SND > + select FW_LOADER > + ---help--- > + Choose Y here if you have this FM radio chip. > + > + In order to control your radio card, you will need to use programs > + that are compatible with the Video For Linux 2 API. Information on > + this API and pointers to "v4l2" programs may be found at > + . > + > + To compile this driver as a module, choose M here: the > + module will be called radio-wl1273. > + > endif # RADIO_ADAPTERS > diff --git a/drivers/media/radio/Makefile b/drivers/media/radio/Makefile > index f615583..d297074 100644 > --- a/drivers/media/radio/Makefile > +++ b/drivers/media/radio/Makefile > @@ -26,5 +26,6 @@ obj-$(CONFIG_RADIO_TEA5764) += radio-tea5764.o > obj-$(CONFIG_RADIO_SAA7706H) += saa7706h.o > obj-$(CONFIG_RADIO_TEF6862) += tef6862.o > obj-$(CONFIG_RADIO_TIMBERDALE) += radio-timb.o > +obj-$(CONFIG_RADIO_WL1273) += radio-wl1273.o > > EXTRA_CFLAGS += -Isound > diff --git a/drivers/media/radio/radio-wl1273.c > b/drivers/media/radio/radio-wl1273.c > new file mode 100644 > index 000..9c7f01f > --- /dev/null > +++ b/drivers/media/radio/radio-wl1273.c > @@ -0,0 +1,1972 @@ > +/* > + * Driver for the Texas Instruments WL1273 FM radio. > + * > + * Copyright (C) Nokia Corporation > + * Author: Matti J. Aaltonen > + * > + * This program is free software; you can redistribute it and/or > + * modify it under the terms of the GNU General Public License > + * version 2 as published by the Free Software Foundation. > + * > + * This program is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + * GNU General Public License for more details. > + * > + * You should have received a copy of the GNU General Public License > + * along with this program; if not, write to the Free Software > + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA > + */ > + > +#include > +#include > +#include > +#include > +#include > +#include > + > +#define DRIVER_DESC "Wl1273 FM Radio - V4L2" > + > +#define WL1273_POWER_SET_OFF 0 > +#define WL1273_POWER_SET_FM (1 << 0) > +#define WL1273_POWER_SET_RDS (1 << 1) > +#define WL1273_POWER_SET_RETENTION (1 << 4) > + > +#define WL1273_PUPD_SET_OFF 0x00 > +#define WL1273_PUPD_SET_ON 0x01 > +#define WL1273_PUPD_SET_RETENTION0x10 > + > +#define WL1273_FREQ(x) (x * 1 / 625) > +#define WL1273_INV_FREQ(x) (x * 625 / 1) > + > +/* > + * static int radio_nr - The number of the radio device > + * > + * The default is 0. > + */ > +static int radio_nr = -1; > +module_param(radio_nr, int, 0); > +MODULE_PARM_DESC(radio_nr, "Radio Nr"); > + > +struct wl1273_device { > + struct v4l2_device v4l2dev; > + struct video_device videodev; > + struct device *dev; > + struct wl1273_core *core; > + struct file *owner; > + char *write_buf; > + bool rds_on; > +}; > + > +static int wl1273_fm_set_tx_freq(struct wl1273_core *core, unsigned int freq) > +{ > + int r = 0; > + > + if (freq < 76000) { > + dev_err(&core->i2c_dev->dev, > + "Frequency out of range: %d < %d\n", > + freq, core->bands[core->band].bottom_frequency); > + return -EDOM; Use ERANGE instead of EDOM. EDOM is for math functions only. > + } > + > + if (freq > 108000) { > + dev_err(&core->i2c_dev->dev, > + "Frequency out of range: %d > %d\n", > + freq, core->bands[core->band].top_frequency); > + return -EDOM; > + } > + > + /* > + * The driver works better with this msleep, > + * the documentation doesn't mention it. > + */ > + msleep(5); > + dev_dbg(&core->i
Re: [PATCH v7 1/5] V4L2: Add seek spacing and FM RX class.
On Monday 02 August 2010 16:06:39 Matti J. Aaltonen wrote: > Add spacing field to v4l2_hw_freq_seek and also add FM RX class to > control classes. This will no longer apply now that the control framework has been merged. I strongly recommend converting the driver to use that framework. If nothing else, you get support for the g/s/try_ext_ctrls ioctls for free. See the file Documentation/video4linux/v4l2-controls.txt. Regards, Hans > > Signed-off-by: Matti J. Aaltonen > --- > drivers/media/video/v4l2-common.c | 12 > include/linux/videodev2.h | 15 ++- > 2 files changed, 26 insertions(+), 1 deletions(-) > > diff --git a/drivers/media/video/v4l2-common.c > b/drivers/media/video/v4l2-common.c > index cd1f21d..41b1bb2 100644 > --- a/drivers/media/video/v4l2-common.c > +++ b/drivers/media/video/v4l2-common.c > @@ -351,6 +351,12 @@ const char **v4l2_ctrl_get_menu(u32 id) > "75 useconds", > NULL, > }; > + static const char *fm_band[] = { > + "87.5 - 108. MHz", > + "76. - 90. MHz, Japan", > + "65. - 74. MHz, OIRT", > + NULL, > + }; > > switch (id) { > case V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ: > @@ -391,6 +397,8 @@ const char **v4l2_ctrl_get_menu(u32 id) > return colorfx; > case V4L2_CID_TUNE_PREEMPHASIS: > return tune_preemphasis; > + case V4L2_CID_FM_BAND: > + return fm_band; > default: > return NULL; > } > @@ -515,6 +523,8 @@ const char *v4l2_ctrl_get_name(u32 id) > case V4L2_CID_TUNE_PREEMPHASIS: return "Pre-emphasis settings"; > case V4L2_CID_TUNE_POWER_LEVEL: return "Tune Power Level"; > case V4L2_CID_TUNE_ANTENNA_CAPACITOR: return "Tune Antenna Capacitor"; > + case V4L2_CID_FM_RX_CLASS: return "FM Radio Tuner > Controls"; > + case V4L2_CID_FM_BAND: return "FM Band"; > > default: > return NULL; > @@ -580,6 +590,7 @@ int v4l2_ctrl_query_fill(struct v4l2_queryctrl *qctrl, > s32 min, s32 max, s32 ste > case V4L2_CID_EXPOSURE_AUTO: > case V4L2_CID_COLORFX: > case V4L2_CID_TUNE_PREEMPHASIS: > + case V4L2_CID_FM_BAND: > qctrl->type = V4L2_CTRL_TYPE_MENU; > step = 1; > break; > @@ -591,6 +602,7 @@ int v4l2_ctrl_query_fill(struct v4l2_queryctrl *qctrl, > s32 min, s32 max, s32 ste > case V4L2_CID_CAMERA_CLASS: > case V4L2_CID_MPEG_CLASS: > case V4L2_CID_FM_TX_CLASS: > + case V4L2_CID_FM_RX_CLASS: > qctrl->type = V4L2_CTRL_TYPE_CTRL_CLASS; > qctrl->flags |= V4L2_CTRL_FLAG_READ_ONLY; > min = max = step = def = 0; > diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h > index 418dacf..26522cb 100644 > --- a/include/linux/videodev2.h > +++ b/include/linux/videodev2.h > @@ -935,6 +935,7 @@ struct v4l2_ext_controls { > #define V4L2_CTRL_CLASS_MPEG 0x0099 /* MPEG-compression controls */ > #define V4L2_CTRL_CLASS_CAMERA 0x009a/* Camera class controls */ > #define V4L2_CTRL_CLASS_FM_TX 0x009b /* FM Modulator control class */ > +#define V4L2_CTRL_CLASS_FM_RX 0x009c /* FM Tuner control class */ > > #define V4L2_CTRL_ID_MASK (0x0fff) > #define V4L2_CTRL_ID2CLASS(id)((id) & 0x0fffUL) > @@ -1313,6 +1314,17 @@ enum v4l2_preemphasis { > #define V4L2_CID_TUNE_POWER_LEVEL(V4L2_CID_FM_TX_CLASS_BASE + > 113) > #define V4L2_CID_TUNE_ANTENNA_CAPACITOR > (V4L2_CID_FM_TX_CLASS_BASE + 114) > > +/* FM Tuner class control IDs */ > +#define V4L2_CID_FM_RX_CLASS_BASE(V4L2_CTRL_CLASS_FM_RX | 0x900) > +#define V4L2_CID_FM_RX_CLASS (V4L2_CTRL_CLASS_FM_RX | 1) > + > +#define V4L2_CID_FM_BAND (V4L2_CID_FM_RX_CLASS_BASE + 1) > +enum v4l2_fm_band { > + V4L2_FM_BAND_OTHER = 0, > + V4L2_FM_BAND_JAPAN = 1, > + V4L2_FM_BAND_OIRT = 2 > +}; > + > /* > * T U N I N G > */ > @@ -1377,7 +1389,8 @@ struct v4l2_hw_freq_seek { > enum v4l2_tuner_type type; > __u32 seek_upward; > __u32 wrap_around; > - __u32 reserved[8]; > + __u32 spacing; > + __u32 reserved[7]; > }; > > /* > -- Hans Verkuil - video4linux developer - sponsored by TANDBERG, part of Cisco -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: linux-next: Tree for August 7 (IR)
Em 09-08-2010 11:52, Randy Dunlap escreveu: > On Mon, 09 Aug 2010 03:11:58 -0300 Mauro Carvalho Chehab wrote: > >> Em 08-08-2010 17:55, Randy Dunlap escreveu: >>> On Sat, 7 Aug 2010 20:39:20 -0700 Randy Dunlap wrote: >>> >>> [adding linux-media] >>> On Sat, 7 Aug 2010 16:07:10 +1000 Stephen Rothwell wrote: > Hi all, > > As the merge window is open, please do not add 2.6.37 material to your > linux-next included trees until after 2.6.36-rc1. > > Changes since 20100806: 2 sets of IR build errors (2 .config files attached): #5091: ERROR: "ir_keydown" [drivers/media/video/ir-kbd-i2c.ko] undefined! ERROR: "__ir_input_register" [drivers/media/video/ir-kbd-i2c.ko] undefined! ERROR: "get_rc_map" [drivers/media/video/ir-kbd-i2c.ko] undefined! ERROR: "ir_input_unregister" [drivers/media/video/ir-kbd-i2c.ko] undefined! ERROR: "get_rc_map" [drivers/media/video/cx88/cx88xx.ko] undefined! ERROR: "ir_repeat" [drivers/media/video/cx88/cx88xx.ko] undefined! ERROR: "ir_input_unregister" [drivers/media/video/cx88/cx88xx.ko] undefined! ERROR: "ir_keydown" [drivers/media/video/cx88/cx88xx.ko] undefined! ERROR: "__ir_input_register" [drivers/media/video/cx88/cx88xx.ko] undefined! ERROR: "get_rc_map" [drivers/media/video/bt8xx/bttv.ko] undefined! ERROR: "ir_input_unregister" [drivers/media/video/bt8xx/bttv.ko] undefined! ERROR: "__ir_input_register" [drivers/media/video/bt8xx/bttv.ko] undefined! ERROR: "ir_g_keycode_from_table" [drivers/media/IR/ir-common.ko] undefined! #5101: (.text+0x8306e2): undefined reference to `ir_core_debug' (.text+0x830729): undefined reference to `ir_core_debug' ir-functions.c:(.text+0x830906): undefined reference to `ir_core_debug' (.text+0x8309d8): undefined reference to `ir_g_keycode_from_table' (.text+0x830acf): undefined reference to `ir_core_debug' (.text+0x830b92): undefined reference to `ir_core_debug' (.text+0x830bef): undefined reference to `ir_core_debug' (.text+0x830c6a): undefined reference to `ir_core_debug' (.text+0x830cf7): undefined reference to `ir_core_debug' budget-ci.c:(.text+0x89f5c8): undefined reference to `ir_keydown' budget-ci.c:(.text+0x8a0c58): undefined reference to `get_rc_map' budget-ci.c:(.text+0x8a0c80): undefined reference to `__ir_input_register' budget-ci.c:(.text+0x8a0ee0): undefined reference to `get_rc_map' budget-ci.c:(.text+0x8a11cd): undefined reference to `ir_input_unregister' (.text+0x8a8adb): undefined reference to `ir_input_unregister' dvb-usb-remote.c:(.text+0x8a9188): undefined reference to `get_rc_map' dvb-usb-remote.c:(.text+0x8a91b1): undefined reference to `__ir_input_register' dvb-usb-remote.c:(.text+0x8a9238): undefined reference to `get_rc_map' dib0700_core.c:(.text+0x8b04ca): undefined reference to `ir_keydown' dib0700_devices.c:(.text+0x8b2ea8): undefined reference to `ir_keydown' dib0700_devices.c:(.text+0x8b2ef0): undefined reference to `ir_keydown' >> >> Hmm... clearly, there are some bad dependencies at the Kconfig. Maybe >> ir-core were compiled >> as module, while some drivers as built-in. >> >> Could you please pass the .config file for this build? > > > Sorry, config-r5101 is now attached. Hmm... when building it, I'm getting an interesting warning: warning: (VIDEO_BT848 && MEDIA_SUPPORT && VIDEO_CAPTURE_DRIVERS && VIDEO_DEV && PCI && I2C && VIDEO_V4L2 && INPUT || VIDEO_SAA7134 && MEDIA_SUPPORT && VIDEO_CAPTURE_DRIVERS && VIDEO_V4L2 && VIDEO_DEV && PCI && I2C && INPUT || VIDEO_CX88 && MEDIA_SUPPORT && VIDEO_CAPTURE_DRIVERS && VIDEO_V4L2 && VIDEO_DEV && PCI && I2C && INPUT || VIDEO_IVTV && MEDIA_SUPPORT && VIDEO_CAPTURE_DRIVERS && VIDEO_V4L2 && PCI && I2C && INPUT || VIDEO_CX18 && MEDIA_SUPPORT && VIDEO_CAPTURE_DRIVERS && VIDEO_V4L2 && DVB_CORE && PCI && I2C && EXPERIMENTAL && INPUT || VIDEO_EM28XX && MEDIA_SUPPORT && VIDEO_CAPTURE_DRIVERS && VIDEO_V4L2 && V4L_USB_DRIVERS && USB && VIDEO_DEV && I2C && INPUT || VIDEO_TLG2300 && MEDIA_SUPPORT && VIDEO_CAPTURE_DRIVERS && VIDEO_V4L2 && V4L_USB_DRIVERS && USB && VIDEO_DEV && I2C && INPUT && SND && DVB_CORE || VIDEO_CX231XX && MEDIA_SUPPORT && VIDEO_CAPTURE_DRIVERS && VIDEO_V4L2 && V4L_USB_DRIVERS && USB && VIDEO_DEV && I2C && INPUT || DVB_BUDGET_CI && MEDIA_SUPPORT && DVB_CAPT URE_DRIVERS && DVB_CORE && DVB_BUDGET_CORE && I2C && INPUT || DVB_DM1105 && MEDIA_SUPPORT && DVB_CAPTURE_DRIVERS && DVB_CORE && PCI && I2C && INPUT || VIDEO_GO7007 && STAGING && !STAGING_EXCLUDE_BUILD && VIDEO_DEV && PCI && I2C && INPUT && SND || VIDEO_CX25821 && STAGING && !STAGING_EXCLUDE_BUILD && DVB_CORE && VIDEO_DEV && PCI && I2C && INPUT) selects VIDEO_IR which has unmet direct dependencies (IR_CORE) This warning seems to explain what's going wrong. I'll make patch(es) to address this issue. Thanks, Mauro. -- To unsubscribe from this lis
Re: linux-next: Tree for August 7 (IR)
Em 09-08-2010 14:41, Mauro Carvalho Chehab escreveu: > Em 09-08-2010 11:52, Randy Dunlap escreveu: >>> Hmm... clearly, there are some bad dependencies at the Kconfig. Maybe >>> ir-core were compiled >>> as module, while some drivers as built-in. >>> >>> Could you please pass the .config file for this build? >> >> >> Sorry, config-r5101 is now attached. > > Hmm... when building it, I'm getting an interesting warning: > > warning: (VIDEO_BT848 && MEDIA_SUPPORT && VIDEO_CAPTURE_DRIVERS && VIDEO_DEV > && PCI && I2C && VIDEO_V4L2 && INPUT || VIDEO_SAA7134 && MEDIA_SUPPORT && > VIDEO_CAPTURE_DRIVERS && VIDEO_V4L2 && VIDEO_DEV && PCI && I2C && INPUT || > VIDEO_CX88 && MEDIA_SUPPORT && VIDEO_CAPTURE_DRIVERS && VIDEO_V4L2 && > VIDEO_DEV && PCI && I2C && INPUT || VIDEO_IVTV && MEDIA_SUPPORT && > VIDEO_CAPTURE_DRIVERS && VIDEO_V4L2 && PCI && I2C && INPUT || VIDEO_CX18 && > MEDIA_SUPPORT && VIDEO_CAPTURE_DRIVERS && VIDEO_V4L2 && DVB_CORE && PCI && > I2C && EXPERIMENTAL && INPUT || VIDEO_EM28XX && MEDIA_SUPPORT && > VIDEO_CAPTURE_DRIVERS && VIDEO_V4L2 && V4L_USB_DRIVERS && USB && VIDEO_DEV && > I2C && INPUT || VIDEO_TLG2300 && MEDIA_SUPPORT && VIDEO_CAPTURE_DRIVERS && > VIDEO_V4L2 && V4L_USB_DRIVERS && USB && VIDEO_DEV && I2C && INPUT && SND && > DVB_CORE || VIDEO_CX231XX && MEDIA_SUPPORT && VIDEO_CAPTURE_DRIVERS && > VIDEO_V4L2 && V4L_USB_DRIVERS && USB && VIDEO_DEV && I2C && INPUT || > DVB_BUDGET_CI && MEDIA_SUPPORT && DVB_CA PT > URE_DRIVERS && DVB_CORE && DVB_BUDGET_CORE && I2C && INPUT || DVB_DM1105 && > MEDIA_SUPPORT && DVB_CAPTURE_DRIVERS && DVB_CORE && PCI && I2C && INPUT || > VIDEO_GO7007 && STAGING && !STAGING_EXCLUDE_BUILD && VIDEO_DEV && PCI && I2C > && INPUT && SND || VIDEO_CX25821 && STAGING && !STAGING_EXCLUDE_BUILD && > DVB_CORE && VIDEO_DEV && PCI && I2C && INPUT) selects VIDEO_IR which has > unmet direct dependencies (IR_CORE) > > This warning seems to explain what's going wrong. > > I'll make patch(es) to address this issue. Ok, This patch (together with the previous one) seemed to solve the issue. commit 0a706cf23aee2f6349f4b076f966038efb788a49 Author: Mauro Carvalho Chehab Date: Mon Aug 9 14:45:02 2010 -0300 V4L/DVB: fix Kconfig to depends on VIDEO_IR warning: (VIDEO_BT848 && MEDIA_SUPPORT && VIDEO_CAPTURE_DRIVERS && VIDEO_DEV && PCI && I2C && VIDEO_V4L2 && INPUT || VIDEO_SAA7134 && MEDIA_SUPPORT && VIDEO_CAPTURE_DRIVERS && VIDEO_V4L2 && VIDEO_DEV && PCI && I2C && INPUT || VIDEO_CX88 && MEDIA_SUPPORT && VIDEO_CAPTURE_DRIVERS && VIDEO_V4L2 && VIDEO_DEV && PCI && I2C && INPUT || VIDEO_IVTV && MEDIA_SUPPORT && VIDEO_CAPTURE_DRIVERS && VIDEO_V4L2 && PCI && I2C && INPUT || VIDEO_CX18 && MEDIA_SUPPORT && VIDEO_CAPTURE_DRIVERS && VIDEO_V4L2 && DVB_CORE && PCI && I2C && EXPERIMENTAL && INPUT || VIDEO_EM28XX && MEDIA_SUPPORT && VIDEO_CAPTURE_DRIVERS && VIDEO_V4L2 && V4L_USB_DRIVERS && USB && VIDEO_DEV && I2C && INPUT || VIDEO_TLG2300 && MEDIA_SUPPORT && VIDEO_CAPTURE_DRIVERS && VIDEO_V4L2 && V4L_USB_DRIVERS && USB && VIDEO_DEV && I2C && INPUT && SND && DVB_CORE || VIDEO_CX231XX && MEDIA_SUPPORT && VIDEO_CAPTURE_DRIVERS && VIDEO_V4L2 && V4L_USB_DRIVERS && USB && VIDEO_DEV && I2C && INPUT || DVB_BUDGET_CI && MEDIA_SUPPORT && DVB_ CAPTURE_DRIVERS && DVB_CORE && DVB_BUDGET_CORE && I2C && INPUT || DVB_DM1105 && MEDIA_SUPPORT && DVB_CAPTURE_DRIVERS && DVB_CORE && PCI && I2C && INPUT || VIDEO_GO7007 && STAGING && !STAGING_EXCLUDE_BUILD && VIDEO_DEV && PCI && I2C && INPUT && SND || VIDEO_CX25821 && STAGING && !STAGING_EXCLUDE_BUILD && DVB_CORE && VIDEO_DEV && PCI && I2C && INPUT) selects VIDEO_IR which has unmet direct dependencies (IR_CORE) Signed-off-by: Mauro Carvalho Chehab diff --git a/drivers/media/dvb/dm1105/Kconfig b/drivers/media/dvb/dm1105/Kconfig index 6952392..a6ceb08 100644 --- a/drivers/media/dvb/dm1105/Kconfig +++ b/drivers/media/dvb/dm1105/Kconfig @@ -9,7 +9,7 @@ config DVB_DM1105 select DVB_CX24116 if !DVB_FE_CUSTOMISE select DVB_SI21XX if !DVB_FE_CUSTOMISE select DVB_DS3000 if !DVB_FE_CUSTOMISE - select VIDEO_IR + depends on VIDEO_IR help Support for cards based on the SDMC DM1105 PCI chip like DvbWorld 2002 diff --git a/drivers/media/dvb/ttpci/Kconfig b/drivers/media/dvb/ttpci/Kconfig index 32a7ec6..debea8d 100644 --- a/drivers/media/dvb/ttpci/Kconfig +++ b/drivers/media/dvb/ttpci/Kconfig @@ -98,7 +98,7 @@ config DVB_BUDGET_CI select DVB_LNBP21 if !DVB_FE_CUSTOMISE select DVB_TDA10023 if !DVB_FE_CUSTOMISE select MEDIA_TUNER_TDA827X if !MEDIA_TUNER_CUSTOMISE - select VIDEO_IR + depends on VIDEO_IR help Support for simple SAA7146 based DVB cards (so called Budget- or Nova-PCI cards) without onboard diff --git a/drivers/media/video/bt8xx/Kconfig b/drivers/media/video/bt8xx/Kconfig index 3077c45..1a4a89f 100644 --- a/drivers/media/video/bt8xx/Kconfig +++ b/drivers/media/video/bt8xx/Kconfig @@ -4,7 +4,7
[PATCH -next] v4l2-ctrls.c: needs to include slab.h
From: Randy Dunlap v4l2-ctrls.c needs to include slab.h to prevent build errors: drivers/media/video/v4l2-ctrls.c:766: error: implicit declaration of function 'kzalloc' drivers/media/video/v4l2-ctrls.c:786: error: implicit declaration of function 'kfree' drivers/media/video/v4l2-ctrls.c:1528: error: implicit declaration of function 'kmalloc' Signed-off-by: Randy Dunlap Cc: Mauro Carvalho Chehab --- drivers/media/video/v4l2-ctrls.c |1 + 1 file changed, 1 insertion(+) --- linux-next-20100809.orig/drivers/media/video/v4l2-ctrls.c +++ linux-next-20100809/drivers/media/video/v4l2-ctrls.c @@ -19,6 +19,7 @@ */ #include +#include #include #include #include -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: linux-next: Tree for August 7 (IR)
On 08/09/10 10:57, Mauro Carvalho Chehab wrote: > Em 09-08-2010 14:41, Mauro Carvalho Chehab escreveu: >> Em 09-08-2010 11:52, Randy Dunlap escreveu: Hmm... clearly, there are some bad dependencies at the Kconfig. Maybe ir-core were compiled as module, while some drivers as built-in. Could you please pass the .config file for this build? >>> >>> >>> Sorry, config-r5101 is now attached. >> >> Hmm... when building it, I'm getting an interesting warning: >> >> warning: (VIDEO_BT848 && MEDIA_SUPPORT && VIDEO_CAPTURE_DRIVERS && VIDEO_DEV >> && PCI && I2C && VIDEO_V4L2 && INPUT || VIDEO_SAA7134 && MEDIA_SUPPORT && >> VIDEO_CAPTURE_DRIVERS && VIDEO_V4L2 && VIDEO_DEV && PCI && I2C && INPUT || >> VIDEO_CX88 && MEDIA_SUPPORT && VIDEO_CAPTURE_DRIVERS && VIDEO_V4L2 && >> VIDEO_DEV && PCI && I2C && INPUT || VIDEO_IVTV && MEDIA_SUPPORT && >> VIDEO_CAPTURE_DRIVERS && VIDEO_V4L2 && PCI && I2C && INPUT || VIDEO_CX18 && >> MEDIA_SUPPORT && VIDEO_CAPTURE_DRIVERS && VIDEO_V4L2 && DVB_CORE && PCI && >> I2C && EXPERIMENTAL && INPUT || VIDEO_EM28XX && MEDIA_SUPPORT && >> VIDEO_CAPTURE_DRIVERS && VIDEO_V4L2 && V4L_USB_DRIVERS && USB && VIDEO_DEV >> && I2C && INPUT || VIDEO_TLG2300 && MEDIA_SUPPORT && VIDEO_CAPTURE_DRIVERS >> && VIDEO_V4L2 && V4L_USB_DRIVERS && USB && VIDEO_DEV && I2C && INPUT && SND >> && DVB_CORE || VIDEO_CX231XX && MEDIA_SUPPORT && VIDEO_CAPTURE_DRIVERS && >> VIDEO_V4L2 && V4L_USB_DRIVERS && USB && VIDEO_DEV && I2C && INPUT || >> DVB_BUDGET_CI && MEDIA_SUPPORT && DVB_C A > PT >> URE_DRIVERS && DVB_CORE && DVB_BUDGET_CORE && I2C && INPUT || DVB_DM1105 && >> MEDIA_SUPPORT && DVB_CAPTURE_DRIVERS && DVB_CORE && PCI && I2C && INPUT || >> VIDEO_GO7007 && STAGING && !STAGING_EXCLUDE_BUILD && VIDEO_DEV && PCI && I2C >> && INPUT && SND || VIDEO_CX25821 && STAGING && !STAGING_EXCLUDE_BUILD && >> DVB_CORE && VIDEO_DEV && PCI && I2C && INPUT) selects VIDEO_IR which has >> unmet direct dependencies (IR_CORE) >> >> This warning seems to explain what's going wrong. >> >> I'll make patch(es) to address this issue. > > > Ok, This patch (together with the previous one) seemed to solve the issue. > Yes, together they fix both build problems. Thanks. Acked-by: Randy Dunlap > > commit 0a706cf23aee2f6349f4b076f966038efb788a49 > Author: Mauro Carvalho Chehab > Date: Mon Aug 9 14:45:02 2010 -0300 > > V4L/DVB: fix Kconfig to depends on VIDEO_IR > > warning: (VIDEO_BT848 && MEDIA_SUPPORT && VIDEO_CAPTURE_DRIVERS && > VIDEO_DEV && PCI && I2C && VIDEO_V4L2 && INPUT || VIDEO_SAA7134 && > MEDIA_SUPPORT && VIDEO_CAPTURE_DRIVERS && VIDEO_V4L2 && VIDEO_DEV && PCI && > I2C && INPUT || VIDEO_CX88 && MEDIA_SUPPORT && VIDEO_CAPTURE_DRIVERS && > VIDEO_V4L2 && VIDEO_DEV && PCI && I2C && INPUT || VIDEO_IVTV && MEDIA_SUPPORT > && VIDEO_CAPTURE_DRIVERS && VIDEO_V4L2 && PCI && I2C && INPUT || VIDEO_CX18 > && MEDIA_SUPPORT && VIDEO_CAPTURE_DRIVERS && VIDEO_V4L2 && DVB_CORE && PCI && > I2C && EXPERIMENTAL && INPUT || VIDEO_EM28XX && MEDIA_SUPPORT && > VIDEO_CAPTURE_DRIVERS && VIDEO_V4L2 && V4L_USB_DRIVERS && USB && VIDEO_DEV && > I2C && INPUT || VIDEO_TLG2300 && MEDIA_SUPPORT && VIDEO_CAPTURE_DRIVERS && > VIDEO_V4L2 && V4L_USB_DRIVERS && USB && VIDEO_DEV && I2C && INPUT && SND && > DVB_CORE || VIDEO_CX231XX && MEDIA_SUPPORT && VIDEO_CAPTURE_DRIVERS && > VIDEO_V4L2 && V4L_USB_DRIVERS && USB && VIDEO_DEV && I2C && INPUT || > DVB_BUDGET_CI && MEDIA_SUPPORT && DV B_ > CAPTURE_DRIVERS && DVB_CORE && DVB_BUDGET_CORE && I2C && INPUT || DVB_DM1105 > && MEDIA_SUPPORT && DVB_CAPTURE_DRIVERS && DVB_CORE && PCI && I2C && INPUT || > VIDEO_GO7007 && STAGING && !STAGING_EXCLUDE_BUILD && VIDEO_DEV && PCI && I2C > && INPUT && SND || VIDEO_CX25821 && STAGING && !STAGING_EXCLUDE_BUILD && > DVB_CORE && VIDEO_DEV && PCI && I2C && INPUT) selects VIDEO_IR which has > unmet direct dependencies (IR_CORE) > > Signed-off-by: Mauro Carvalho Chehab > > diff --git a/drivers/media/dvb/dm1105/Kconfig > b/drivers/media/dvb/dm1105/Kconfig > index 6952392..a6ceb08 100644 > --- a/drivers/media/dvb/dm1105/Kconfig > +++ b/drivers/media/dvb/dm1105/Kconfig > @@ -9,7 +9,7 @@ config DVB_DM1105 > select DVB_CX24116 if !DVB_FE_CUSTOMISE > select DVB_SI21XX if !DVB_FE_CUSTOMISE > select DVB_DS3000 if !DVB_FE_CUSTOMISE > - select VIDEO_IR > + depends on VIDEO_IR > help > Support for cards based on the SDMC DM1105 PCI chip like > DvbWorld 2002 > diff --git a/drivers/media/dvb/ttpci/Kconfig b/drivers/media/dvb/ttpci/Kconfig > index 32a7ec6..debea8d 100644 > --- a/drivers/media/dvb/ttpci/Kconfig > +++ b/drivers/media/dvb/ttpci/Kconfig > @@ -98,7 +98,7 @@ config DVB_BUDGET_CI > select DVB_LNBP21 if !DVB_FE_CUSTOMISE > select DVB_TDA10023 if !DVB_FE_CUSTOMISE > select MEDIA_TUNER_TDA827X if !MEDIA_TUNER_CUSTOMISE > - select VIDEO_IR > + depends on VIDEO_IR > help > Support for simple SAA7146 based DVB cards > (s
[cron job] v4l-dvb daily build 2.6.22 and up: ERRORS, 2.6.16-2.6.21: ERRORS
This message is generated daily by a cron job that builds v4l-dvb for the kernels and architectures in the list below. Results of the daily build of v4l-dvb: date:Mon Aug 9 19:00:22 CEST 2010 path:http://www.linuxtv.org/hg/v4l-dvb changeset: 15026:637236a060d6 git master: f6760aa024199cfbce564311dc4bc4d47b6fb349 git media-master: 1c1371c2fe53ded8ede3a0404c9415fbf3321328 gcc version: i686-linux-gcc (GCC) 4.4.3 host hardware:x86_64 host os: 2.6.32.5 linux-2.6.32.6-armv5: OK linux-2.6.33-armv5: OK linux-2.6.34-armv5: WARNINGS linux-2.6.35-rc1-armv5: ERRORS linux-2.6.32.6-armv5-davinci: ERRORS linux-2.6.33-armv5-davinci: ERRORS linux-2.6.34-armv5-davinci: ERRORS linux-2.6.35-rc1-armv5-davinci: ERRORS linux-2.6.32.6-armv5-ixp: ERRORS linux-2.6.33-armv5-ixp: ERRORS linux-2.6.34-armv5-ixp: ERRORS linux-2.6.35-rc1-armv5-ixp: ERRORS linux-2.6.32.6-armv5-omap2: ERRORS linux-2.6.33-armv5-omap2: ERRORS linux-2.6.34-armv5-omap2: ERRORS linux-2.6.35-rc1-armv5-omap2: ERRORS linux-2.6.22.19-i686: ERRORS linux-2.6.23.17-i686: ERRORS linux-2.6.24.7-i686: ERRORS linux-2.6.25.20-i686: ERRORS linux-2.6.26.8-i686: ERRORS linux-2.6.27.44-i686: ERRORS linux-2.6.28.10-i686: ERRORS linux-2.6.29.1-i686: ERRORS linux-2.6.30.10-i686: ERRORS linux-2.6.31.12-i686: ERRORS linux-2.6.32.6-i686: ERRORS linux-2.6.33-i686: ERRORS linux-2.6.34-i686: ERRORS linux-2.6.35-rc1-i686: ERRORS linux-2.6.32.6-m32r: OK linux-2.6.33-m32r: OK linux-2.6.34-m32r: WARNINGS linux-2.6.35-rc1-m32r: ERRORS linux-2.6.32.6-mips: ERRORS linux-2.6.33-mips: ERRORS linux-2.6.34-mips: ERRORS linux-2.6.35-rc1-mips: ERRORS linux-2.6.32.6-powerpc64: ERRORS linux-2.6.33-powerpc64: ERRORS linux-2.6.34-powerpc64: ERRORS linux-2.6.35-rc1-powerpc64: ERRORS linux-2.6.22.19-x86_64: ERRORS linux-2.6.23.17-x86_64: ERRORS linux-2.6.24.7-x86_64: ERRORS linux-2.6.25.20-x86_64: ERRORS linux-2.6.26.8-x86_64: ERRORS linux-2.6.27.44-x86_64: ERRORS linux-2.6.28.10-x86_64: ERRORS linux-2.6.29.1-x86_64: ERRORS linux-2.6.30.10-x86_64: ERRORS linux-2.6.31.12-x86_64: ERRORS linux-2.6.32.6-x86_64: ERRORS linux-2.6.33-x86_64: ERRORS linux-2.6.34-x86_64: ERRORS linux-2.6.35-rc1-x86_64: ERRORS linux-git-armv5: WARNINGS linux-git-armv5-davinci: WARNINGS linux-git-armv5-ixp: WARNINGS linux-git-armv5-omap2: WARNINGS linux-git-i686: WARNINGS linux-git-m32r: OK linux-git-mips: OK linux-git-powerpc64: OK linux-git-x86_64: WARNINGS spec: ERRORS spec-git: OK sparse: ERRORS linux-2.6.16.62-i686: ERRORS linux-2.6.17.14-i686: ERRORS linux-2.6.18.8-i686: ERRORS linux-2.6.19.7-i686: ERRORS linux-2.6.20.21-i686: ERRORS linux-2.6.21.7-i686: ERRORS linux-2.6.16.62-x86_64: ERRORS linux-2.6.17.14-x86_64: ERRORS linux-2.6.18.8-x86_64: ERRORS linux-2.6.19.7-x86_64: ERRORS linux-2.6.20.21-x86_64: ERRORS linux-2.6.21.7-x86_64: ERRORS Detailed results are available here: http://www.xs4all.nl/~hverkuil/logs/Monday.log Full logs are available here: http://www.xs4all.nl/~hverkuil/logs/Monday.tar.bz2 The V4L-DVB specification from this daily build is here: http://www.xs4all.nl/~hverkuil/spec/media.html -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Unknown EM2750/28xx video grabber - dmesg output
As requested, I'm sending my dmesg output when connecting an external TV-grabber box. I got the box from my dad and he really can't remember how he got it. It seems to be quite decent quality - yet it is only labeled "USB 2.0 TV BOX". IMHO a truly no-name grabber :-) Hopefully it can be identified as one of the existing cards from the list in dmesg. Here goes: [249160.380080] usb 1-4: new high speed USB device using ehci_hcd and address 7 [249160.530722] usb 1-4: configuration #1 chosen from 1 choice [249160.615476] Linux video capture interface: v2.00 [249160.635939] em28xx: New device @ 480 Mbps (eb1a:2820, interface 0, class 0) [249160.636101] em28xx #0: chip ID is em2820 (or em2710) [249160.794940] em28xx #0: i2c eeprom 00: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [249160.794947] em28xx #0: i2c eeprom 10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [249160.794952] em28xx #0: i2c eeprom 20: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [249160.794958] em28xx #0: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [249160.794963] em28xx #0: i2c eeprom 40: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [249160.794968] em28xx #0: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [249160.794973] em28xx #0: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [249160.794977] em28xx #0: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [249160.794982] em28xx #0: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [249160.794987] em28xx #0: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [249160.794992] em28xx #0: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [249160.794997] em28xx #0: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [249160.795002] em28xx #0: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [249160.795007] em28xx #0: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [249160.795012] em28xx #0: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [249160.795017] em28xx #0: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [249160.795023] em28xx #0: EEPROM ID= 0x, EEPROM hash = 0x [249160.795024] em28xx #0: EEPROM info: [249160.795025] em28xx #0: I2S audio, 3 sample rates [249160.795026] em28xx #0: USB Remote wakeup capable [249160.795027] em28xx #0: USB Self power capable [249160.795028] em28xx #0: 200mA max power [249160.795030] em28xx #0: Table at 0xff, strings=0x, 0x, 0x [249160.811443] Unknown Micron Sensor 0x00ff [249160.811445] em28xx #0: Identified as Unknown EM2750/28xx video grabber (card=1) [249160.825687] em28xx #0: found i2c device @ 0x4a [saa7113h] [249160.841817] em28xx #0: found i2c device @ 0xa0 [eeprom] [249160.846685] em28xx #0: found i2c device @ 0xba [webcam sensor or tvp5150a] [249160.848931] em28xx #0: found i2c device @ 0xc6 [tuner (analog)] [249160.859431] em28xx #0: Your board has no unique USB ID and thus need a hint to be detected. [249160.859433] em28xx #0: You may try to use card= insmod option to workaround that. [249160.859435] em28xx #0: Please send an email with this log to: [249160.859436] em28xx #0: V4L Mailing List [249160.859437] em28xx #0: Board eeprom hash is 0x [249160.859439] em28xx #0: Board i2c devicelist hash is 0x156500e3 [249160.859440] em28xx #0: Here is a list of valid choices for the card= insmod option: [249160.859442] em28xx #0: card=0 -> Unknown EM2800 video grabber [249160.859443] em28xx #0: card=1 -> Unknown EM2750/28xx video grabber [249160.859445] em28xx #0: card=2 -> Terratec Cinergy 250 USB [249160.859446] em28xx #0: card=3 -> Pinnacle PCTV USB 2 [249160.859448] em28xx #0: card=4 -> Hauppauge WinTV USB 2 [249160.859449] em28xx #0: card=5 -> MSI VOX USB 2.0 [249160.859450] em28xx #0: card=6 -> Terratec Cinergy 200 USB [249160.859452] em28xx #0: card=7 -> Leadtek Winfast USB II [249160.859453] em28xx #0: card=8 -> Kworld USB2800 [249160.859455] em28xx #0: card=9 -> Pinnacle Dazzle DVC 90/100/101/107 / Kaiser Baas Video to DVD maker / Kworld DVD Maker 2 [249160.859457] em28xx #0: card=10 -> Hauppauge WinTV HVR 900 [249160.859458] em28xx #0: card=11 -> Terratec Hybrid XS [249160.859460] em28xx #0: card=12 -> Kworld PVR TV 2800 RF [249160.859461] em28xx #0: card=13 -> Terratec Prodigy XS [249160.859462] em28xx #0: card=14 -> SIIG AVTuner-PVR / Pixelview Prolink PlayTV USB 2.0 [249160.859464] em28xx #0: card=15 -> V-Gear PocketTV [249160.859465] em28xx #0: card=16 -> Hauppauge WinTV HVR 950 [249160.859467] em28xx #0: card=17 -> Pinnacle PCTV HD Pro Stick [249160.859468] em28xx #0: card=18 -> Hauppauge WinTV HVR 900 (R2) [249160.859470] em28xx #0: card=19 -> EM2860/SAA711X Reference Design [249160.859471] em28xx #0: card=20 -> AMD ATI TV Wonder HD 600 [249160.859473] em28xx #0: card=21 -> eMPIA Technology, Inc. GrabBeeX+ Vide
Re: Unknown EM2750/28xx video grabber - dmesg output
On 10 August 2010 06:51, Lars Sarauw Hansen wrote: > As requested, I'm sending my dmesg output when connecting an external > TV-grabber box. > I got the box from my dad and he really can't remember how he got it. > It seems to be quite decent quality - yet it is only labeled "USB 2.0 > TV BOX". IMHO a truly no-name grabber :-) > > Hopefully it can be identified as one of the existing cards from the > list in dmesg. > > Here goes: -- snip -- > [249160.859431] em28xx #0: Your board has no unique USB ID and thus > need a hint to be detected. > [249160.859433] em28xx #0: You may try to use card= insmod option > to workaround that. > [249160.859435] em28xx #0: Please send an email with this log to: > [249160.859436] em28xx #0: V4L Mailing List > [249160.859437] em28xx #0: Board eeprom hash is 0x > [249160.859439] em28xx #0: Board i2c devicelist hash is 0x156500e3 > [249160.859440] em28xx #0: Here is a list of valid choices for the > card= insmod option: -- snip -- Maybe you can try experimenting with the card option. I have one card that I need to force to be card=10, and another which is detected as card=1 I need to force to be card=2. -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html