I AM WAITING URGENT FOR YOUR RESPOND
HELLO I work with a bank In West Africa , Burkina Faso . I have a business transaction for you. In my department we discovered an abandoned sum of$10.5 Million US Dollars .In an account that belongs to one of our foreign customer who died along with his entire family in car bomb in Iraq . Since his supposed next of kin died along side with him at the Bomb blast, there is nobody to claim the left overbalance in the account. It is therefore upon this discovery that I decided to seek your assistance and present you to the bank as his Next of kin. If you accept i would give you the guide lines on how we can achieve this transfer of the balance (10.5Million Dollars)to your account. And we will shear the money 50-50%. I expect that you will give me your telephone and fax numbers for easy communication with you and for more details. Kindly reply to me through this my private email mrfabian.d...@yahoo.com Then for more information you can cell me on this my private phone number bellow thanks Best Regards Mr. Fabian Dube Tell. +226 68525346 I AM WAITING URGENT FOR YOUR RESPOND -- 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/RFC v13 04/13] DT: Add documentation for the mfd Maxim max77693
On Thu, 02 Apr 2015, Pavel Machek wrote: On Mon 2015-03-23 15:59:37, Lee Jones wrote: On Mon, 23 Mar 2015, Pavel Machek wrote: On Mon 2015-03-23 15:02:13, Lee Jones wrote: On Mon, 23 Mar 2015, Pavel Machek wrote: On Mon 2015-03-23 12:07:43, Lee Jones wrote: This patch requires a DT Ack. No, it requires DT people to be notified -- and they were, few times by now. They clearly don't care. Well fortunately for the Kernel community, I do care. And as this patch adds 3 new DT properties, has been through many iterations already with vast changes made over that period and there is still some controversy looming, I'm saying that it _does_ require a DT Ack. Can you help get that ack, then? As a maintainer, you have better chance getting reply from DT people than patch submitter. Hopefully they will see my plea a couple of replies back. If that fails I'll go poke them via other means. Failing that I'll go see them in person and continually hit them with wet fish until one of them relents. Can I request footage of the last steps on the youtube? Too late, it's been and gone. (IOW ping, I don't think I seen any replies from DT maintainers...) Then you haven't been looking the right place [1]. ;) [1] http://comments.gmane.org/gmane.linux.leds/2245 -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog -- 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] [media] fc0013: remove unneeded test
The same code is executed if ret is true or false, so this test can be removed. Fix Coverity CID 1268782. Signed-off-by: Laurent Navet laurent.na...@gmail.com --- drivers/media/tuners/fc0013.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/media/tuners/fc0013.c b/drivers/media/tuners/fc0013.c index b416231..522690d 100644 --- a/drivers/media/tuners/fc0013.c +++ b/drivers/media/tuners/fc0013.c @@ -217,8 +217,6 @@ static int fc0013_set_vhf_track(struct fc0013_priv *priv, u32 freq) } else {/* UHF and GPS */ ret = fc0013_writereg(priv, 0x1d, tmp | 0x1c); } - if (ret) - goto error_out; error_out: return ret; } -- 2.1.4 -- 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
[linuxtv-media:master 534/537] drivers/media/i2c/soc_camera/ov2640.c:1057:3: error: implicit declaration of function 'gpiod_direction_output'
tree: git://linuxtv.org/media_tree.git master head: 739cfd9be9af6bbbe4c652077add59409adf2225 commit: 4e65172f7bd20fcbfa87453d1e5711ad129d4216 [534/537] [media] media: ov2640: add primary dt support config: m68k-allmodconfig (attached as .config) reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout 4e65172f7bd20fcbfa87453d1e5711ad129d4216 # save the attached .config to linux build tree make.cross ARCH=m68k All error/warnings: drivers/media/i2c/soc_camera/ov2640.c: In function 'ov2640_hw_power': drivers/media/i2c/soc_camera/ov2640.c:1057:3: error: implicit declaration of function 'gpiod_direction_output' [-Werror=implicit-function-declaration] gpiod_direction_output(priv-pwdn_gpio, !on); ^ drivers/media/i2c/soc_camera/ov2640.c: In function 'ov2640_probe_dt': drivers/media/i2c/soc_camera/ov2640.c:1081:2: error: implicit declaration of function 'devm_gpiod_get_optional' [-Werror=implicit-function-declaration] priv-resetb_gpio = devm_gpiod_get_optional(client-dev, resetb, ^ drivers/media/i2c/soc_camera/ov2640.c:1082:4: error: 'GPIOD_OUT_LOW' undeclared (first use in this function) GPIOD_OUT_LOW); ^ drivers/media/i2c/soc_camera/ov2640.c:1082:4: note: each undeclared identifier is reported only once for each function it appears in drivers/media/i2c/soc_camera/ov2640.c:1090:4: error: 'GPIOD_OUT_HIGH' undeclared (first use in this function) GPIOD_OUT_HIGH); ^ cc1: some warnings being treated as errors vim +/gpiod_direction_output +1057 drivers/media/i2c/soc_camera/ov2640.c 1051 struct ov2640_priv *priv = to_ov2640(client); 1052 1053 dev_dbg(client-dev, %s: %s the camera\n, 1054 __func__, on ? ENABLE : DISABLE); 1055 1056 if (priv-pwdn_gpio) 1057 gpiod_direction_output(priv-pwdn_gpio, !on); 1058 1059 return 0; 1060 } 1061 1062 static int ov2640_hw_reset(struct device *dev) 1063 { 1064 struct i2c_client *client = to_i2c_client(dev); 1065 struct ov2640_priv *priv = to_ov2640(client); 1066 1067 if (priv-resetb_gpio) { 1068 /* Active the resetb pin to perform a reset pulse */ 1069 gpiod_direction_output(priv-resetb_gpio, 1); 1070 usleep_range(3000, 5000); 1071 gpiod_direction_output(priv-resetb_gpio, 0); 1072 } 1073 1074 return 0; 1075 } 1076 1077 static int ov2640_probe_dt(struct i2c_client *client, 1078 struct ov2640_priv *priv) 1079 { 1080 /* Request the reset GPIO deasserted */ 1081 priv-resetb_gpio = devm_gpiod_get_optional(client-dev, resetb, 1082 GPIOD_OUT_LOW); 1083 if (!priv-resetb_gpio) 1084 dev_dbg(client-dev, resetb gpio is not assigned!\n); 1085 else if (IS_ERR(priv-resetb_gpio)) 1086 return PTR_ERR(priv-resetb_gpio); 1087 1088 /* Request the power down GPIO asserted */ 1089 priv-pwdn_gpio = devm_gpiod_get_optional(client-dev, pwdn, 1090 GPIOD_OUT_HIGH); 1091 if (!priv-pwdn_gpio) 1092 dev_dbg(client-dev, pwdn gpio is not assigned!\n); 1093 else if (IS_ERR(priv-pwdn_gpio)) --- 0-DAY kernel test infrastructureOpen Source Technology Center http://lists.01.org/mailman/listinfo/kbuild Intel Corporation # # Automatically generated file; DO NOT EDIT. # Linux/m68k 4.0.0-rc1 Kernel Configuration # CONFIG_M68K=y CONFIG_RWSEM_GENERIC_SPINLOCK=y CONFIG_GENERIC_HWEIGHT=y CONFIG_GENERIC_CALIBRATE_DELAY=y CONFIG_TIME_LOW_RES=y CONFIG_NO_IOPORT_MAP=y # CONFIG_NO_DMA is not set CONFIG_ZONE_DMA=y CONFIG_HZ=100 CONFIG_DEFCONFIG_LIST=/lib/modules/$UNAME_RELEASE/.config CONFIG_CONSTRUCTORS=y CONFIG_IRQ_WORK=y # # General setup # CONFIG_BROKEN_ON_SMP=y CONFIG_INIT_ENV_ARG_LIMIT=32 CONFIG_CROSS_COMPILE= CONFIG_COMPILE_TEST=y CONFIG_LOCALVERSION= CONFIG_LOCALVERSION_AUTO=y CONFIG_DEFAULT_HOSTNAME=(none) CONFIG_SWAP=y CONFIG_SYSVIPC=y CONFIG_SYSVIPC_SYSCTL=y CONFIG_POSIX_MQUEUE=y CONFIG_POSIX_MQUEUE_SYSCTL=y CONFIG_CROSS_MEMORY_ATTACH=y CONFIG_FHANDLE=y CONFIG_USELIB=y CONFIG_AUDIT=y # # IRQ subsystem # CONFIG_GENERIC_IRQ_SHOW=y CONFIG_IRQ_DOMAIN=y CONFIG_IRQ_DOMAIN_DEBUG=y CONFIG_ARCH_USES_GETTIMEOFFSET=y # # CPU/Task time and stats accounting # CONFIG_TICK_CPU_ACCOUNTING=y CONFIG_BSD_PROCESS_ACCT=y CONFIG_BSD_PROCESS_ACCT_V3=y CONFIG_TASKSTATS=y CONFIG_TASK_DELAY_ACCT=y CONFIG_TASK_XACCT=y CONFIG_TASK_IO_ACCOUNTING=y # # RCU Subsystem # CONFIG_TINY_RCU=y CONFIG_SRCU=y CONFIG_TASKS_RCU=y CONFIG_RCU_STALL_COMMON=y # CONFIG_TREE_RCU_TRACE is not set CONFIG_RCU_KTHREAD_PRIO=0 CONFIG_BUILD_BIN2C=y CONFIG_IKCONFIG=m
Re: [GIT PULL FOR v4.1] Xilinx video pipeline drivers
Hi Laurent, Em Wed, 11 Mar 2015 22:47:37 +0200 Laurent Pinchart laurent.pinch...@ideasonboard.com escreveu: Hi Mauro, The following changes since commit ae3da40179c66001afad608f972bdb57d50d1e66: v4l2-subdev: remove enum_framesizes/intervals (2015-03-06 10:01:44 +0100) are available in the git repository at: git://linuxtv.org/pinchartl/media.git xilinx for you to fetch changes up to 5fc7561dba773afd95169aba32f53a01facaf22a: v4l: xilinx: Add Test Pattern Generator driver (2015-03-11 22:43:48 +0200) Please note that the series depends and is based on Hans' for-v4.1g branch for which he has sent a pull request. This didn't merge ok. Not sure if for-v4.1g branch was merged or not, but I merged already all pending requests from Hans, leaving this one to the end. Could you please check if what you need is already there and rebase your work? Thanks! Mauro -- 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 v4.1] Xilinx video pipeline drivers
Hi Mauro, On Friday 03 April 2015 00:15:22 Mauro Carvalho Chehab wrote: Em Wed, 11 Mar 2015 22:47:37 +0200 Laurent Pinchart escreveu: Hi Mauro, The following changes since commit ae3da40179c66001afad608f972bdb57d50d1e66: v4l2-subdev: remove enum_framesizes/intervals (2015-03-06 10:01:44 +0100) are available in the git repository at: git://linuxtv.org/pinchartl/media.git xilinx for you to fetch changes up to 5fc7561dba773afd95169aba32f53a01facaf22a: v4l: xilinx: Add Test Pattern Generator driver (2015-03-11 22:43:48 +0200) Please note that the series depends and is based on Hans' for-v4.1g branch for which he has sent a pull request. This didn't merge ok. Not sure if for-v4.1g branch was merged or not, but I merged already all pending requests from Hans, leaving this one to the end. Weird. I've rebased my branch on top of linuxtv master and got no conflict. Could you please check if what you need is already there and rebase your work? Done, and pushed to git://linuxtv.org/pinchartl/media.git xilinx -- 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
cron job: media_tree daily build: ERRORS
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: Fri Apr 3 04:00:20 CEST 2015 git branch: test git hash: b3226f961aa91eb94971939400c7506e7dcc86c0 gcc version:i686-linux-gcc (GCC) 4.9.1 sparse version: v0.5.0-44-g40791b9 smatch version: 0.4.1-3153-g7d56ab3 host hardware: x86_64 host os:3.19.0-1.slh.1-amd64 linux-git-arm-at91: ERRORS linux-git-arm-davinci: OK linux-git-arm-exynos: ERRORS linux-git-arm-mx: ERRORS linux-git-arm-omap: ERRORS linux-git-arm-omap1: ERRORS linux-git-arm-pxa: ERRORS linux-git-blackfin: OK linux-git-i686: WARNINGS linux-git-m32r: OK linux-git-mips: ERRORS linux-git-powerpc64: OK linux-git-sh: ERRORS linux-git-x86_64: OK linux-2.6.32.27-i686: ERRORS linux-2.6.33.7-i686: ERRORS linux-2.6.34.7-i686: ERRORS linux-2.6.35.9-i686: ERRORS linux-2.6.36.4-i686: ERRORS linux-2.6.37.6-i686: ERRORS linux-2.6.38.8-i686: ERRORS linux-2.6.39.4-i686: ERRORS linux-3.0.60-i686: ERRORS linux-3.1.10-i686: ERRORS linux-3.2.37-i686: ERRORS linux-3.3.8-i686: ERRORS linux-3.4.27-i686: ERRORS linux-3.5.7-i686: ERRORS linux-3.6.11-i686: ERRORS linux-3.7.4-i686: ERRORS linux-3.8-i686: ERRORS linux-3.9.2-i686: ERRORS linux-3.10.1-i686: ERRORS linux-3.11.1-i686: ERRORS linux-3.12.23-i686: ERRORS linux-3.13.11-i686: ERRORS linux-3.14.9-i686: ERRORS linux-3.15.2-i686: ERRORS linux-3.16.7-i686: ERRORS linux-3.17.8-i686: ERRORS linux-3.18.7-i686: ERRORS linux-3.19-i686: ERRORS linux-4.0-rc1-i686: ERRORS linux-2.6.32.27-x86_64: ERRORS linux-2.6.33.7-x86_64: ERRORS linux-2.6.34.7-x86_64: ERRORS linux-2.6.35.9-x86_64: ERRORS linux-2.6.36.4-x86_64: ERRORS linux-2.6.37.6-x86_64: ERRORS linux-2.6.38.8-x86_64: ERRORS linux-2.6.39.4-x86_64: ERRORS linux-3.0.60-x86_64: ERRORS linux-3.1.10-x86_64: ERRORS linux-3.2.37-x86_64: ERRORS linux-3.3.8-x86_64: ERRORS linux-3.4.27-x86_64: ERRORS linux-3.5.7-x86_64: ERRORS linux-3.6.11-x86_64: ERRORS linux-3.7.4-x86_64: ERRORS linux-3.8-x86_64: ERRORS linux-3.9.2-x86_64: ERRORS linux-3.10.1-x86_64: ERRORS linux-3.11.1-x86_64: ERRORS linux-3.12.23-x86_64: ERRORS linux-3.13.11-x86_64: ERRORS linux-3.14.9-x86_64: ERRORS linux-3.15.2-x86_64: ERRORS linux-3.16.7-x86_64: ERRORS linux-3.17.8-x86_64: ERRORS linux-3.18.7-x86_64: ERRORS linux-3.19-x86_64: OK linux-4.0-rc1-x86_64: OK apps: OK spec-git: OK sparse: ERRORS ABI WARNING: change for arm-at91 ABI WARNING: change for arm-exynos ABI WARNING: change for arm-mx ABI WARNING: change for arm-omap ABI WARNING: change for arm-omap1 ABI WARNING: change for arm-pxa ABI WARNING: change for mips smatch: ERRORS Detailed results are available here: http://www.xs4all.nl/~hverkuil/logs/Friday.log Full logs are available here: http://www.xs4all.nl/~hverkuil/logs/Friday.tar.bz2 The Media Infrastructure API 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
Re: [RFC PATCH] ir: add tools for receiving and sending ir
On Thu, Mar 19, 2015 at 09:51:08PM +, Sean Young wrote: Provide simple tools for displaying raw IR and received scancodes, and sending them. Todo: - ir-rec cannot enable protocol decoders - ir-send should accept scancode on commandline - long options Didn't look at it in detail, but I noticed one thing...copyright headers like this: +/* + Copyright (C) 2015 Sean Young s...@mess.org + */ Really should specify the license. -- 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: [RFC PATCH 0/6] Send and receive decoded IR using lirc interface
On Wed, Apr 01, 2015 at 08:10:16PM -0300, Mauro Carvalho Chehab wrote: Em Thu, 02 Apr 2015 00:19:41 +0200 David Härdeman da...@hardeman.nu escreveu: On Tue, Mar 31, 2015 at 08:47:16PM -0300, Mauro Carvalho Chehab wrote: Em Mon, 30 Mar 2015 23:18:19 +0200 David Härdeman da...@hardeman.nu escreveu: On Thu, Mar 19, 2015 at 09:50:11PM +, Sean Young wrote: Second, if we expose protocol type (which we should, not doing so is throwing away valuable information) we should tackle the NEC scancode question. I've already explained my firm conviction that always reporting NEC as a 32 bit scancode is the only sane thing to do. Mauro is of the opinion that NEC16/24/32 should be essentially different protocols. Changing NEC would break userspace, as existing tables won't work. So, no matter what I think, changing it won't happen as we're not allowed to break userspace. I have no idea what breakage you're talking about. Sean's patches would introduce new API, so they can't break anything. Sure, but changing RX would break, and using 32 bits just for TX, while keeping 16/24/32 for RX would be too messy. Well...why would RX break? I'm still not sure what you're referring to when you mention RX, the only thing I can think of is keytables... My patch series also introduced a new API for setting/getting keytable entries (with heuristics for the old ways to convert NEC scancodes on the fly) so it should (hopefully) not break anything. I sent a review of your patch series a long time ago. Didn't receive any answer to my review from you yet. Yet, let's not mix the subjects. If you want to discuss that, please reply to the old thread and submit your work on small chunks, after the approach is agreed. The old thread suggested I should start an RFC round for the new rc device. The new API for setting/getting keytable entries with explicit protocol information is orthogonal to that. I'll re-post those two patches shortly so we have something tangible to discuss. (and yes, I think NEC16 is *the* NEC protocol; the other are just variants made by some vendors to fill their needs) Oh, and I forgot to add. I've used NEC branded remote controls which were not using NEC16 (IIRC, they used NEC24). We are talking about the protocol used to communicate what has been received/should be sent between userspace and the kernel. Simply passing the 32 bits that have been sent/received is the simplest, most straightfoward way to go. Yes, it would be simpler. That doesn't mean that it is technically correct. Yet, you could argue that passing 48 bits would be even simpler, due to NEC/48 (or 64 bits, if one would ever propose a nec-64 variant). That's a strawman...a different transmission length calls for a separate protocol id, otherwise you don't know what has been received (was it 0x0004, 0x04, 0x0004, etc...) Ok, NEC/16/24/32 always send 32 bits at the same way, while other longer variants would actually change the payload size, while 16/24/32 is just a change of the bytes meaning at the payload. Yet, they're different. In much the same way as private or public IP addresses are different, yet any sane API just reports the 32 bit address and lets the userspace application worry about how it should be presented. Third, we should still have a way to represent the protocol in the keymap as well. Not sure about that, but this is a different matter. Yes, it's a different matter. And what is there to be unsure about? Not having the protocol as part of the keymap means throwing away information... The internal representation at kernelspace can always be changed. If you're instead referring to some specific problem with the userspace to kernelspace TX API, then please point to the specific patch for the actual implementation, instead of discussing it in an abstract way. I'll post two patches. Let's discuss them. -- David Härdeman -- 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] rc-core: use the full 32 bits for NEC scancodes
Using the full 32 bits for all kinds of NEC scancodes simplifies rc-core and the nec decoder without any loss of functionality. At the same time it ensures that scancodes for NEC16/NEC24/NEC32 do not overlap and removes any ambiguity. For example, before this patch, consider these two NEC messages: NEC16 message to address 0x05, command 0x03 NEC24 message to address 0x0005, command 0x03 They'll both have scancode 0x0503, and there's no way to tell which message was received. In order to maintain backwards compatibility, some heuristics are added in rc-main.c to convert scancodes to NEC32 as necessary when userspace adds entries to the keytable using the regular input ioctls. No conversion will be made for the newer rc_keymap_entry based ioctls (see the next patch). Signed-off-by: David Härdeman da...@hardeman.nu --- drivers/media/rc/ir-nec-decoder.c| 26 ++ drivers/media/rc/rc-main.c | 54 +- drivers/media/usb/dvb-usb-v2/af9015.c| 22 ++-- drivers/media/usb/dvb-usb-v2/af9035.c| 23 +++-- drivers/media/usb/dvb-usb-v2/az6007.c| 16 ++--- drivers/media/usb/dvb-usb-v2/rtl28xxu.c | 20 +++ drivers/media/usb/dvb-usb/dib0700_core.c | 24 +++-- drivers/media/usb/em28xx/em28xx-input.c | 37 + include/media/rc-map.h | 16 +++-- 9 files changed, 101 insertions(+), 137 deletions(-) diff --git a/drivers/media/rc/ir-nec-decoder.c b/drivers/media/rc/ir-nec-decoder.c index 7b81fec..16907c1 100644 --- a/drivers/media/rc/ir-nec-decoder.c +++ b/drivers/media/rc/ir-nec-decoder.c @@ -50,7 +50,6 @@ static int ir_nec_decode(struct rc_dev *dev, struct ir_raw_event ev) struct nec_dec *data = dev-raw-nec; u32 scancode; u8 address, not_address, command, not_command; - bool send_32bits = false; if (!(dev-enabled_protocols RC_BIT_NEC)) return 0; @@ -163,28 +162,9 @@ static int ir_nec_decode(struct rc_dev *dev, struct ir_raw_event ev) command = bitrev8((data-bits 8) 0xff); not_command = bitrev8((data-bits 0) 0xff); - if ((command ^ not_command) != 0xff) { - IR_dprintk(1, NEC checksum error: received 0x%08x\n, - data-bits); - send_32bits = true; - } - - if (send_32bits) { - /* NEC transport, but modified protocol, used by at -* least Apple and TiVo remotes */ - scancode = data-bits; - IR_dprintk(1, NEC (modified) scancode 0x%08x\n, scancode); - } else if ((address ^ not_address) != 0xff) { - /* Extended NEC */ - scancode = address 16 | - not_address 8 | - command; - IR_dprintk(1, NEC (Ext) scancode 0x%06x\n, scancode); - } else { - /* Normal NEC */ - scancode = address 8 | command; - IR_dprintk(1, NEC scancode 0x%04x\n, scancode); - } + scancode = RC_SCANCODE_NEC32(address 24 | not_address 16 | +command 8 | not_command); + IR_dprintk(1, NEC scancode 0x%08x\n, scancode); if (data-is_nec_x) data-necx_repeat = true; diff --git a/drivers/media/rc/rc-main.c b/drivers/media/rc/rc-main.c index d068c4e..40ce504 100644 --- a/drivers/media/rc/rc-main.c +++ b/drivers/media/rc/rc-main.c @@ -317,6 +317,49 @@ static unsigned int ir_establish_scancode(struct rc_dev *dev, } /** + * guess_protocol() - heuristics to guess the protocol for a scancode + * @rdev: the struct rc_dev device descriptor + * @return:the guessed RC_TYPE_* protocol + * + * Internal routine to guess the current IR protocol for legacy ioctls. + */ +static inline enum rc_type guess_protocol(struct rc_dev *rdev) +{ + struct rc_map *rc_map = rdev-rc_map; + + if (hweight64(rdev-enabled_protocols) == 1) + return rc_bitmap_to_type(rdev-enabled_protocols); + else if (hweight64(rdev-allowed_protos) == 1) + return rc_bitmap_to_type(rdev-allowed_protos); + else + return rc_map-rc_type; +} + +/** + * to_nec32() - helper function to try to convert misc NEC scancodes to NEC32 + * @orig: original scancode + * @return:NEC32 scancode + * + * This helper routine is used to provide backwards compatibility. + */ +static u64 to_nec32(u64 orig) +{ + u8 b3 = (u8)(orig 16); + u8 b2 = (u8)(orig 8); + u8 b1 = (u8)(orig 0); + + if (orig = 0x) + /* Plain old NEC */ + return b2 24 | ((u8)~b2) 16 | b1 8 |
[PATCH 0/2] NEC scancodes and protocols in keymaps
The following two patches should show more clearly what I mean by adding protocols to the keytables (and letting userspace add keytable entries with explicit protocol information). Consider it a basis for discussion. Each patch has a separate description, please refer to those for more information. --- David Härdeman (2): rc-core: use the full 32 bits for NEC scancodes rc-core: don't throw away protocol information drivers/media/rc/ati_remote.c|1 drivers/media/rc/imon.c |7 + drivers/media/rc/ir-nec-decoder.c| 26 --- drivers/media/rc/rc-main.c | 233 -- drivers/media/usb/dvb-usb-v2/af9015.c| 22 +-- drivers/media/usb/dvb-usb-v2/af9035.c| 23 +-- drivers/media/usb/dvb-usb-v2/az6007.c| 16 +- drivers/media/usb/dvb-usb-v2/rtl28xxu.c | 20 +-- drivers/media/usb/dvb-usb/dib0700_core.c | 24 +-- drivers/media/usb/em28xx/em28xx-input.c | 37 + include/media/rc-core.h | 26 +++ include/media/rc-map.h | 23 ++- 12 files changed, 264 insertions(+), 194 deletions(-) -- David Härdeman -- 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 2/2] rc-core: don't throw away protocol information
It is currently impossible to distinguish between scancodes which have been generated using different protocols (and scancodes can, and will, overlap). For example: RC5 message to address 0x00, command 0x03 has scancode 0x0503 JVC message to address 0x00, command 0x03 has scancode 0x0503 It is only possible to distinguish (and parse) scancodes by known the scancode *and* the protocol. Setting and getting keycodes in the input subsystem used to be done via the EVIOC[GS]KEYCODE ioctl and unsigned int[2] (one int for scancode and one for the keycode). The interface has now been extended to use the EVIOC[GS]KEYCODE_V2 ioctl which uses the following struct: struct input_keymap_entry { __u8 flags; __u8 len; __u16 index; __u32 keycode; __u8 scancode[32]; }; (scancode can of course be even bigger, thanks to the len member). This patch changes how the input_keymap_entry struct is interpreted by rc-core by casting it to rc_keymap_entry: struct rc_scancode { __u16 protocol; __u16 reserved[3]; __u64 scancode; } struct rc_keymap_entry { __u8 flags; __u8 len; __u16 index; __u32 keycode; union { struct rc_scancode rc; __u8 raw[32]; }; }; The u64 scancode member is large enough for all current protocols and it would be possible to extend it in the future should it be necessary for some exotic protocol. The main advantage with this change is that the protocol is made explicit, which means that we're not throwing away data (the protocol type). This also means that struct rc_map no longer hardcodes the protocol, meaning that keytables with mixed entries are possible. Heuristics are also added to hopefully do the right thing with older ioctls in order to preserve backwards compatibility. Signed-off-by: David Härdeman da...@hardeman.nu --- drivers/media/rc/ati_remote.c |1 drivers/media/rc/imon.c |7 + drivers/media/rc/rc-main.c| 195 + include/media/rc-core.h | 26 + include/media/rc-map.h|7 + 5 files changed, 171 insertions(+), 65 deletions(-) diff --git a/drivers/media/rc/ati_remote.c b/drivers/media/rc/ati_remote.c index a356318..a1df608 100644 --- a/drivers/media/rc/ati_remote.c +++ b/drivers/media/rc/ati_remote.c @@ -544,6 +544,7 @@ static void ati_remote_input_report(struct urb *urb) * set, assume this is a scrollwheel up/down event. */ wheel_keycode = rc_g_keycode_from_table(ati_remote-rdev, + RC_TYPE_OTHER, scancode 0x78); if (wheel_keycode == KEY_RESERVED) { diff --git a/drivers/media/rc/imon.c b/drivers/media/rc/imon.c index 65f80b8..ec4414a 100644 --- a/drivers/media/rc/imon.c +++ b/drivers/media/rc/imon.c @@ -1263,14 +1263,15 @@ static u32 imon_remote_key_lookup(struct imon_context *ictx, u32 scancode) bool is_release_code = false; /* Look for the initial press of a button */ - keycode = rc_g_keycode_from_table(ictx-rdev, scancode); + keycode = rc_g_keycode_from_table(ictx-rdev, ictx-rc_type, scancode); ictx-rc_toggle = 0x0; ictx-rc_scancode = scancode; /* Look for the release of a button */ if (keycode == KEY_RESERVED) { release = scancode ~0x4000; - keycode = rc_g_keycode_from_table(ictx-rdev, release); + keycode = rc_g_keycode_from_table(ictx-rdev, ictx-rc_type, + release); if (keycode != KEY_RESERVED) is_release_code = true; } @@ -1299,7 +1300,7 @@ static u32 imon_mce_key_lookup(struct imon_context *ictx, u32 scancode) scancode = scancode | MCE_KEY_MASK | MCE_TOGGLE_BIT; ictx-rc_scancode = scancode; - keycode = rc_g_keycode_from_table(ictx-rdev, scancode); + keycode = rc_g_keycode_from_table(ictx-rdev, ictx-rc_type, scancode); /* not used in mce mode, but make sure we know its false */ ictx-release_code = false; diff --git a/drivers/media/rc/rc-main.c b/drivers/media/rc/rc-main.c index 40ce504..01c9d33 100644 --- a/drivers/media/rc/rc-main.c +++ b/drivers/media/rc/rc-main.c @@ -103,7 +103,7 @@ EXPORT_SYMBOL_GPL(rc_map_unregister); static struct rc_map_table empty[] = { - { 0x2a, KEY_COFFEE }, + { RC_TYPE_OTHER, 0x2a, KEY_COFFEE }, }; static struct rc_map_list empty_map = { @@ -119,7 +119,6 @@ static struct rc_map_list empty_map = { * ir_create_table() - initializes a scancode table * @rc_map:the rc_map to initialize * @name: name to assign to the table - * @rc_type: ir type to assign to the new table * @size: initial size of the table * @return:zero on success or a
[PATCH] rc-core: use an IDA rather than a bitmap
This patch changes rc-core to use the kernel facilities that are already available for handling unique numbers instead of rolling its own bitmap stuff. Stefan, this should apply cleanly to the media git tree...could you test it? --- drivers/media/rc/rc-ir-raw.c |2 +- drivers/media/rc/rc-main.c | 40 include/media/rc-core.h |4 ++-- 3 files changed, 23 insertions(+), 23 deletions(-) diff --git a/drivers/media/rc/rc-ir-raw.c b/drivers/media/rc/rc-ir-raw.c index b732ac6..ad26052 100644 --- a/drivers/media/rc/rc-ir-raw.c +++ b/drivers/media/rc/rc-ir-raw.c @@ -271,7 +271,7 @@ int ir_raw_event_register(struct rc_dev *dev) spin_lock_init(dev-raw-lock); dev-raw-thread = kthread_run(ir_raw_event_thread, dev-raw, - rc%ld, dev-devno); + rc%u, dev-minor); if (IS_ERR(dev-raw-thread)) { rc = PTR_ERR(dev-raw-thread); diff --git a/drivers/media/rc/rc-main.c b/drivers/media/rc/rc-main.c index f8c5e47..d068c4e 100644 --- a/drivers/media/rc/rc-main.c +++ b/drivers/media/rc/rc-main.c @@ -18,17 +18,15 @@ #include linux/input.h #include linux/leds.h #include linux/slab.h +#include linux/idr.h #include linux/device.h #include linux/module.h #include rc-core-priv.h -/* Bitmap to store allocated device numbers from 0 to IRRCV_NUM_DEVICES - 1 */ -#define IRRCV_NUM_DEVICES 256 -static DECLARE_BITMAP(ir_core_dev_number, IRRCV_NUM_DEVICES); - /* Sizes are in bytes, 256 bytes allows for 32 entries on x64 */ #define IR_TAB_MIN_SIZE256 #define IR_TAB_MAX_SIZE8192 +#define RC_DEV_MAX 256 /* FIXME: IR_KEYPRESS_TIMEOUT should be protocol specific */ #define IR_KEYPRESS_TIMEOUT 250 @@ -38,6 +36,9 @@ static LIST_HEAD(rc_map_list); static DEFINE_SPINLOCK(rc_map_lock); static struct led_trigger *led_feedback; +/* Used to keep track of rc devices */ +static DEFINE_IDA(rc_ida); + static struct rc_map_list *seek_rc_map(const char *name) { struct rc_map_list *map = NULL; @@ -1312,7 +1313,9 @@ int rc_register_device(struct rc_dev *dev) static bool raw_init = false; /* raw decoders loaded? */ struct rc_map *rc_map; const char *path; - int rc, devno, attr = 0; + int attr = 0; + int minor; + int rc; if (!dev || !dev-map_name) return -EINVAL; @@ -1332,13 +1335,13 @@ int rc_register_device(struct rc_dev *dev) if (dev-close) dev-input_dev-close = ir_close; - do { - devno = find_first_zero_bit(ir_core_dev_number, - IRRCV_NUM_DEVICES); - /* No free device slots */ - if (devno = IRRCV_NUM_DEVICES) - return -ENOMEM; - } while (test_and_set_bit(devno, ir_core_dev_number)); + minor = ida_simple_get(rc_ida, 0, RC_DEV_MAX, GFP_KERNEL); + if (minor 0) + return minor; + + dev-minor = minor; + dev_set_name(dev-dev, rc%u, dev-minor); + dev_set_drvdata(dev-dev, dev); dev-dev.groups = dev-sysfs_groups; dev-sysfs_groups[attr++] = rc_dev_protocol_attr_grp; @@ -1358,9 +1361,6 @@ int rc_register_device(struct rc_dev *dev) */ mutex_lock(dev-lock); - dev-devno = devno; - dev_set_name(dev-dev, rc%ld, dev-devno); - dev_set_drvdata(dev-dev, dev); rc = device_add(dev-dev); if (rc) goto out_unlock; @@ -1433,8 +1433,8 @@ int rc_register_device(struct rc_dev *dev) mutex_unlock(dev-lock); - IR_dprintk(1, Registered rc%ld (driver: %s, remote: %s, mode %s)\n, - dev-devno, + IR_dprintk(1, Registered rc%u (driver: %s, remote: %s, mode %s)\n, + dev-minor, dev-driver_name ? dev-driver_name : unknown, rc_map-name ? rc_map-name : unknown, dev-driver_type == RC_DRIVER_IR_RAW ? raw : cooked); @@ -1453,7 +1453,7 @@ out_dev: device_del(dev-dev); out_unlock: mutex_unlock(dev-lock); - clear_bit(dev-devno, ir_core_dev_number); + ida_simple_remove(rc_ida, minor); return rc; } EXPORT_SYMBOL_GPL(rc_register_device); @@ -1465,8 +1465,6 @@ void rc_unregister_device(struct rc_dev *dev) del_timer_sync(dev-timer_keyup); - clear_bit(dev-devno, ir_core_dev_number); - if (dev-driver_type == RC_DRIVER_IR_RAW) ir_raw_event_unregister(dev); @@ -1479,6 +1477,8 @@ void rc_unregister_device(struct rc_dev *dev) device_del(dev-dev); + ida_simple_remove(rc_ida, dev-minor); + rc_free_device(dev); } diff --git a/include/media/rc-core.h b/include/media/rc-core.h index 2c7fbca..6b4400c 100644 --- a/include/media/rc-core.h +++ b/include/media/rc-core.h @@ -69,7 +69,7 @@ enum rc_filter_type { * @rc_map: current scan/key
[PATCH 1/3] cx18: add support for control events
From: Hans Verkuil hans.verk...@cisco.com v4l2-compliance failed due to missing control event support in cx18. Add this to the driver. Signed-off-by: Hans Verkuil hans.verk...@cisco.com Cc: Andy Walls awa...@md.metrocast.net --- drivers/media/pci/cx18/cx18-fileops.c | 25 + drivers/media/pci/cx18/cx18-ioctl.c | 3 +++ 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/drivers/media/pci/cx18/cx18-fileops.c b/drivers/media/pci/cx18/cx18-fileops.c index d245445..df83740 100644 --- a/drivers/media/pci/cx18/cx18-fileops.c +++ b/drivers/media/pci/cx18/cx18-fileops.c @@ -34,6 +34,7 @@ #include cx18-controls.h #include cx18-ioctl.h #include cx18-cards.h +#include media/v4l2-event.h /* This function tries to claim the stream for a specific file descriptor. If no one else is using this stream then the stream is claimed and @@ -609,13 +610,16 @@ ssize_t cx18_v4l2_read(struct file *filp, char __user *buf, size_t count, unsigned int cx18_v4l2_enc_poll(struct file *filp, poll_table *wait) { + unsigned long req_events = poll_requested_events(wait); struct cx18_open_id *id = file2id(filp); struct cx18 *cx = id-cx; struct cx18_stream *s = cx-streams[id-type]; int eof = test_bit(CX18_F_S_STREAMOFF, s-s_flags); + unsigned res = 0; /* Start a capture if there is none */ - if (!eof !test_bit(CX18_F_S_STREAMING, s-s_flags)) { + if (!eof !test_bit(CX18_F_S_STREAMING, s-s_flags) + (req_events (POLLIN | POLLRDNORM))) { int rc; mutex_lock(cx-serialize_lock); @@ -632,21 +636,26 @@ unsigned int cx18_v4l2_enc_poll(struct file *filp, poll_table *wait) if ((s-vb_type == V4L2_BUF_TYPE_VIDEO_CAPTURE) (id-type == CX18_ENC_STREAM_TYPE_YUV)) { int videobuf_poll = videobuf_poll_stream(filp, s-vbuf_q, wait); + + if (v4l2_event_pending(id-fh)) + res |= POLLPRI; if (eof videobuf_poll == POLLERR) -return POLLHUP; -else -return videobuf_poll; + return res | POLLHUP; + return res | videobuf_poll; } /* add stream's waitq to the poll list */ CX18_DEBUG_HI_FILE(Encoder poll\n); - poll_wait(filp, s-waitq, wait); + if (v4l2_event_pending(id-fh)) + res |= POLLPRI; + else + poll_wait(filp, s-waitq, wait); if (atomic_read(s-q_full.depth)) - return POLLIN | POLLRDNORM; + return res | POLLIN | POLLRDNORM; if (eof) - return POLLHUP; - return 0; + return res | POLLHUP; + return res; } int cx18_v4l2_mmap(struct file *file, struct vm_area_struct *vma) diff --git a/drivers/media/pci/cx18/cx18-ioctl.c b/drivers/media/pci/cx18/cx18-ioctl.c index 0230b0f..6f8324d 100644 --- a/drivers/media/pci/cx18/cx18-ioctl.c +++ b/drivers/media/pci/cx18/cx18-ioctl.c @@ -39,6 +39,7 @@ #include cx18-cards.h #include cx18-av-core.h #include media/tveeprom.h +#include media/v4l2-event.h u16 cx18_service2vbi(int type) { @@ -1117,6 +1118,8 @@ static const struct v4l2_ioctl_ops cx18_ioctl_ops = { .vidioc_querybuf= cx18_querybuf, .vidioc_qbuf= cx18_qbuf, .vidioc_dqbuf = cx18_dqbuf, + .vidioc_subscribe_event = v4l2_ctrl_subscribe_event, + .vidioc_unsubscribe_event = v4l2_event_unsubscribe, }; void cx18_set_funcs(struct video_device *vdev) -- 2.1.4 -- 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/3] cx18: v4l2_compliance fixes
From: Hans Verkuil hans.verk...@cisco.com Various cx18 v4l2_compliance fixes. Note that this patch series relies on https://patchwork.linuxtv.org/patch/29045/ being merged first. Regards, Hans Hans Verkuil (3): cx18: add support for control events cx18: fix VIDIOC_ENUMINPUT: wrong std value cx18: replace cropping ioctls by selection ioctls. drivers/media/pci/cx18/cx18-fileops.c | 25 +-- drivers/media/pci/cx18/cx18-ioctl.c | 47 +++ drivers/media/pci/cx18/cx18-streams.c | 6 - 3 files changed, 48 insertions(+), 30 deletions(-) -- 2.1.4 -- 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 3/3] cx18: replace cropping ioctls by selection ioctls.
From: Hans Verkuil hans.verk...@cisco.com Signed-off-by: Hans Verkuil hans.verk...@cisco.com Cc: Andy Walls awa...@md.metrocast.net --- drivers/media/pci/cx18/cx18-ioctl.c | 36 +++- 1 file changed, 15 insertions(+), 21 deletions(-) diff --git a/drivers/media/pci/cx18/cx18-ioctl.c b/drivers/media/pci/cx18/cx18-ioctl.c index 35d75311..79aee30 100644 --- a/drivers/media/pci/cx18/cx18-ioctl.c +++ b/drivers/media/pci/cx18/cx18-ioctl.c @@ -451,34 +451,29 @@ static int cx18_cropcap(struct file *file, void *fh, if (cropcap-type != V4L2_BUF_TYPE_VIDEO_CAPTURE) return -EINVAL; - cropcap-bounds.top = cropcap-bounds.left = 0; - cropcap-bounds.width = 720; - cropcap-bounds.height = cx-is_50hz ? 576 : 480; cropcap-pixelaspect.numerator = cx-is_50hz ? 59 : 10; cropcap-pixelaspect.denominator = cx-is_50hz ? 54 : 11; - cropcap-defrect = cropcap-bounds; return 0; } -static int cx18_s_crop(struct file *file, void *fh, const struct v4l2_crop *crop) -{ - struct cx18_open_id *id = fh2id(fh); - struct cx18 *cx = id-cx; - - if (crop-type != V4L2_BUF_TYPE_VIDEO_CAPTURE) - return -EINVAL; - CX18_DEBUG_WARN(VIDIOC_S_CROP not implemented\n); - return -EINVAL; -} - -static int cx18_g_crop(struct file *file, void *fh, struct v4l2_crop *crop) +static int cx18_g_selection(struct file *file, void *fh, + struct v4l2_selection *sel) { struct cx18 *cx = fh2id(fh)-cx; - if (crop-type != V4L2_BUF_TYPE_VIDEO_CAPTURE) + if (sel-type != V4L2_BUF_TYPE_VIDEO_CAPTURE) + return -EINVAL; + switch (sel-target) { + case V4L2_SEL_TGT_CROP_BOUNDS: + case V4L2_SEL_TGT_CROP_DEFAULT: + sel-r.top = sel-r.left = 0; + sel-r.width = 720; + sel-r.height = cx-is_50hz ? 576 : 480; + break; + default: return -EINVAL; - CX18_DEBUG_WARN(VIDIOC_G_CROP not implemented\n); - return -EINVAL; + } + return 0; } static int cx18_enum_fmt_vid_cap(struct file *file, void *fh, @@ -1090,8 +1085,7 @@ static const struct v4l2_ioctl_ops cx18_ioctl_ops = { .vidioc_enumaudio = cx18_enumaudio, .vidioc_enum_input = cx18_enum_input, .vidioc_cropcap = cx18_cropcap, - .vidioc_s_crop = cx18_s_crop, - .vidioc_g_crop = cx18_g_crop, + .vidioc_g_selection = cx18_g_selection, .vidioc_g_input = cx18_g_input, .vidioc_s_input = cx18_s_input, .vidioc_g_frequency = cx18_g_frequency, -- 2.1.4 -- 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 2/3] cx18: fix VIDIOC_ENUMINPUT: wrong std value
From: Hans Verkuil hans.verk...@cisco.com The std field of v4l2_input is always V4L2_STD_ALL. For tuner inputs this should be cx-tuner_std. This fixes a v4l2-compliance failure. Signed-off-by: Hans Verkuil hans.verk...@cisco.com Cc: Andy Walls awa...@md.metrocast.net --- drivers/media/pci/cx18/cx18-ioctl.c | 8 drivers/media/pci/cx18/cx18-streams.c | 6 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/drivers/media/pci/cx18/cx18-ioctl.c b/drivers/media/pci/cx18/cx18-ioctl.c index 6f8324d..35d75311 100644 --- a/drivers/media/pci/cx18/cx18-ioctl.c +++ b/drivers/media/pci/cx18/cx18-ioctl.c @@ -514,6 +514,9 @@ int cx18_s_input(struct file *file, void *fh, unsigned int inp) { struct cx18_open_id *id = fh2id(fh); struct cx18 *cx = id-cx; + v4l2_std_id std = V4L2_STD_ALL; + const struct cx18_card_video_input *card_input = + cx-card-video_inputs + inp; if (inp = cx-nof_inputs) return -EINVAL; @@ -529,6 +532,11 @@ int cx18_s_input(struct file *file, void *fh, unsigned int inp) cx-active_input = inp; /* Set the audio input to whatever is appropriate for the input type. */ cx-audio_input = cx-card-video_inputs[inp].audio_index; + if (card_input-video_type == V4L2_INPUT_TYPE_TUNER) + std = cx-tuner_std; + cx-streams[CX18_ENC_STREAM_TYPE_MPG].video_dev.tvnorms = std; + cx-streams[CX18_ENC_STREAM_TYPE_YUV].video_dev.tvnorms = std; + cx-streams[CX18_ENC_STREAM_TYPE_VBI].video_dev.tvnorms = std; /* prevent others from messing with the streams until we're finished changing inputs. */ diff --git a/drivers/media/pci/cx18/cx18-streams.c b/drivers/media/pci/cx18/cx18-streams.c index cf7ddaf..c82d25d 100644 --- a/drivers/media/pci/cx18/cx18-streams.c +++ b/drivers/media/pci/cx18/cx18-streams.c @@ -304,6 +304,7 @@ static void cx18_stream_init(struct cx18 *cx, int type) /* Assume the previous pixel default */ s-pixelformat = V4L2_PIX_FMT_HM12; s-vb_bytes_per_frame = cx-cxhdl.height * 720 * 3 / 2; + s-vb_bytes_per_line = 720; } } @@ -372,7 +373,10 @@ static int cx18_prep_dev(struct cx18 *cx, int type) s-video_dev.v4l2_dev = cx-v4l2_dev; s-video_dev.fops = cx18_v4l2_enc_fops; s-video_dev.release = video_device_release_empty; - s-video_dev.tvnorms = V4L2_STD_ALL; + if (cx-card-video_inputs-video_type == CX18_CARD_INPUT_VID_TUNER) + s-video_dev.tvnorms = cx-tuner_std; + else + s-video_dev.tvnorms = V4L2_STD_ALL; s-video_dev.lock = cx-serialize_lock; cx18_set_funcs(s-video_dev); return 0; -- 2.1.4 -- 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
[PATCHv2] v4l2-ioctl: fill in the description for VIDIOC_ENUM_FMT
The descriptions used in drivers for the formats returned with ENUM_FMT are all over the place. So instead allow the core to fill them in if the driver didn't. This allows drivers to drop the description and flags. Based on an earlier patch from Philipp Zabel: http://comments.gmane.org/gmane.linux.drivers.video-input-infrastructure/81411 Signed-off-by: Hans Verkuil hans.verk...@cisco.com Acked-by: Philipp Zabel p.za...@pengutronix.de Acked-by: Laurent Pinchart laurent.pinch...@ideasonboard.com Acked-by: Sakari Ailus sakari.ai...@linux.intel.com --- Changes since v1: - Fix NV61 and NV42 descriptions. - Merge the switch for the compressed flag into the main switch. - In the default case add a -BE suffix instead of a BE- prefix. - Verified that gcc compiles this using O(log N) comparisons. - Add comments why the coding style isn't followed here. --- drivers/media/v4l2-core/v4l2-ioctl.c | 199 +-- 1 file changed, 192 insertions(+), 7 deletions(-) diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c index 09ad8dd..2b3fdf6 100644 --- a/drivers/media/v4l2-core/v4l2-ioctl.c +++ b/drivers/media/v4l2-core/v4l2-ioctl.c @@ -1101,6 +1101,182 @@ static int v4l_enumoutput(const struct v4l2_ioctl_ops *ops, return ops-vidioc_enum_output(file, fh, p); } +static void v4l_fill_fmtdesc(struct v4l2_fmtdesc *fmt) +{ + const unsigned sz = sizeof(fmt-description); + const char *descr = NULL; + u32 flags = 0; + + /* +* We depart from the normal coding style here since the descriptions +* should be aligned so it is easy to see which descriptions will be +* longer than 31 characters (the max length for a description). +* And frankly, this is easier to read anyway. +* +* Note that gcc will use O(log N) comparisons to find the right case. +*/ + switch (fmt-pixelformat) { + /* Max description length mask: descr = 0123456789012345678901234567890 */ + case V4L2_PIX_FMT_RGB332: descr = 8-bit RGB 3-3-2; break; + case V4L2_PIX_FMT_RGB444: descr = 16-bit A/XRGB 4-4-4-4; break; + case V4L2_PIX_FMT_ARGB444: descr = 16-bit ARGB 4-4-4-4; break; + case V4L2_PIX_FMT_XRGB444: descr = 16-bit XRGB 4-4-4-4; break; + case V4L2_PIX_FMT_RGB555: descr = 16-bit A/XRGB 1-5-5-5; break; + case V4L2_PIX_FMT_ARGB555: descr = 16-bit ARGB 1-5-5-5; break; + case V4L2_PIX_FMT_XRGB555: descr = 16-bit XRGB 1-5-5-5; break; + case V4L2_PIX_FMT_RGB565: descr = 16-bit RGB 5-6-5; break; + case V4L2_PIX_FMT_RGB555X: descr = 16-bit A/XRGB 1-5-5-5 BE; break; + case V4L2_PIX_FMT_ARGB555X: descr = 16-bit ARGB 1-5-5-5 BE; break; + case V4L2_PIX_FMT_XRGB555X: descr = 16-bit XRGB 1-5-5-5 BE; break; + case V4L2_PIX_FMT_RGB565X: descr = 16-bit RGB 5-6-5 BE; break; + case V4L2_PIX_FMT_BGR666: descr = 18-bit BGRX 6-6-6-14; break; + case V4L2_PIX_FMT_BGR24:descr = 24-bit BGR 8-8-8; break; + case V4L2_PIX_FMT_RGB24:descr = 24-bit RGB 8-8-8; break; + case V4L2_PIX_FMT_BGR32:descr = 32-bit BGRA/X 8-8-8-8; break; + case V4L2_PIX_FMT_ABGR32: descr = 32-bit BGRA 8-8-8-8; break; + case V4L2_PIX_FMT_XBGR32: descr = 32-bit BGRX 8-8-8-8; break; + case V4L2_PIX_FMT_RGB32:descr = 32-bit A/XRGB 8-8-8-8; break; + case V4L2_PIX_FMT_ARGB32: descr = 32-bit ARGB 8-8-8-8; break; + case V4L2_PIX_FMT_XRGB32: descr = 32-bit XRGB 8-8-8-8; break; + case V4L2_PIX_FMT_GREY: descr = 8-bit Greyscale; break; + case V4L2_PIX_FMT_Y4: descr = 4-bit Greyscale; break; + case V4L2_PIX_FMT_Y6: descr = 6-bit Greyscale; break; + case V4L2_PIX_FMT_Y10: descr = 10-bit Greyscale; break; + case V4L2_PIX_FMT_Y12: descr = 12-bit Greyscale; break; + case V4L2_PIX_FMT_Y16: descr = 16-bit Greyscale; break; + case V4L2_PIX_FMT_Y10BPACK: descr = 10-bit Greyscale (Packed); break; + case V4L2_PIX_FMT_PAL8: descr = 8-bit Palette; break; + case V4L2_PIX_FMT_UV8: descr = 8-bit Chrominance UV 4-4; break; + case V4L2_PIX_FMT_YVU410: descr = Planar YVU 4:1:0; break; + case V4L2_PIX_FMT_YVU420: descr = Planar YVU 4:2:0; break; + case V4L2_PIX_FMT_YUYV: descr = YUYV 4:2:2; break; + case V4L2_PIX_FMT_YYUV: descr = YYUV 4:2:2; break; + case V4L2_PIX_FMT_YVYU: descr = YVYU 4:2:2; break; + case V4L2_PIX_FMT_UYVY: descr = UYVY 4:2:2; break; + case V4L2_PIX_FMT_VYUY: descr = VYUY 4:2:2; break; + case V4L2_PIX_FMT_YUV422P: descr = Planar YVU 4:2:2; break; + case V4L2_PIX_FMT_YUV411P: descr = Planar YUV 4:1:1; break; + case V4L2_PIX_FMT_Y41P: descr = YUV 4:1:1 (Packed);
Re: [PATCH v4] v4l: mt9v032: Add OF support
Hi Philipp, Thank you for the review. On Tuesday 31 March 2015 17:08:53 Philipp Zabel wrote: Am Mittwoch, den 18.03.2015, 15:38 +0200 schrieb Laurent Pinchart: Parse DT properties into a platform data structure when a DT node is available. Signed-off-by: Laurent Pinchart laurent.pinch...@ideasonboard.com --- Changes since v3: - Use /bits/ 64 in the DT bindings example - Remove the parent I2C master node from the DT bindings example - Use devm_kcalloc() to allocate array Changes since v2: - Use of_graph_get_next_endpoint() Changes since v1: - Add MT9V02[24] compatible strings - Prefix all compatible strings with aptina, - Use link-frequencies instead of link-freqs --- .../devicetree/bindings/media/i2c/mt9v032.txt | 39 MAINTAINERS| 1 + drivers/media/i2c/mt9v032.c| 69 - 3 files changed, 108 insertions(+), 1 deletion(-) create mode 100644 Documentation/devicetree/bindings/media/i2c/mt9v032.txt [snip] diff --git a/drivers/media/i2c/mt9v032.c b/drivers/media/i2c/mt9v032.c index 255ea91..697be25 100644 --- a/drivers/media/i2c/mt9v032.c +++ b/drivers/media/i2c/mt9v032.c @@ -17,6 +17,8 @@ #include linux/i2c.h #include linux/log2.h #include linux/mutex.h +#include linux/of.h +#include linux/of_gpio.h I think of_gpio is not needed in mt9v032.c. Otherwise, Acked-by: Philipp Zabel p.za...@pengutronix.de You're right. The bad news is that the patch has been merged already. The good news is that you can submit a patch to fix this ;-) I can also fix it myself if you prefer. -- 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
[linuxtv-media:master 421/653] drivers/media/dvb-frontends/lgdt3306a.c:1468:4: error: 'ret' undeclared
tree: git://linuxtv.org/media_tree.git master head: a5562f65b1371a0988b707c10c44fcc2bba56990 commit: ee0133eea0238067dab19587de7d88e4a3ea77e4 [421/653] [media] lgdt3306a: properly handle I/O errors config: i386-randconfig-r2-0402 (attached as .config) reproduce: git checkout ee0133eea0238067dab19587de7d88e4a3ea77e4 # save the attached .config to linux build tree make ARCH=i386 Note: the linuxtv-media/master HEAD a5562f65b1371a0988b707c10c44fcc2bba56990 builds fine. It only hurts bisectibility. All error/warnings: drivers/media/dvb-frontends/lgdt3306a.c: In function 'lgdt3306a_vsb_lock_poll': drivers/media/dvb-frontends/lgdt3306a.c:1468:4: error: 'ret' undeclared (first use in this function) ret = lgdt3306a_pre_monitoring(state); ^ drivers/media/dvb-frontends/lgdt3306a.c:1468:4: note: each undeclared identifier is reported only once for each function it appears in vim +/ret +1468 drivers/media/dvb-frontends/lgdt3306a.c 1462 while (1) { 1463 if (lgdt3306a_sync_lock_poll(state) == LG3306_UNLOCK) { 1464 lg_dbg(no sync lock!\n); 1465 return LG3306_UNLOCK; 1466 } else { 1467 msleep(20); 1468 ret = lgdt3306a_pre_monitoring(state); 1469 if (ret) 1470 return LG3306_UNLOCK; 1471 --- 0-DAY kernel test infrastructureOpen Source Technology Center http://lists.01.org/mailman/listinfo/kbuild Intel Corporation # # Automatically generated file; DO NOT EDIT. # Linux/i386 4.0.0-rc1 Kernel Configuration # # CONFIG_64BIT is not set CONFIG_X86_32=y CONFIG_X86=y CONFIG_INSTRUCTION_DECODER=y CONFIG_PERF_EVENTS_INTEL_UNCORE=y CONFIG_OUTPUT_FORMAT=elf32-i386 CONFIG_ARCH_DEFCONFIG=arch/x86/configs/i386_defconfig CONFIG_LOCKDEP_SUPPORT=y CONFIG_STACKTRACE_SUPPORT=y CONFIG_HAVE_LATENCYTOP_SUPPORT=y CONFIG_MMU=y CONFIG_NEED_SG_DMA_LENGTH=y CONFIG_GENERIC_ISA_DMA=y CONFIG_GENERIC_BUG=y CONFIG_GENERIC_HWEIGHT=y CONFIG_ARCH_MAY_HAVE_PC_FDC=y CONFIG_RWSEM_XCHGADD_ALGORITHM=y CONFIG_GENERIC_CALIBRATE_DELAY=y CONFIG_ARCH_HAS_CPU_RELAX=y CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y CONFIG_HAVE_SETUP_PER_CPU_AREA=y CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y CONFIG_ARCH_HIBERNATION_POSSIBLE=y CONFIG_ARCH_SUSPEND_POSSIBLE=y CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y CONFIG_ARCH_WANT_GENERAL_HUGETLB=y # CONFIG_ZONE_DMA32 is not set # CONFIG_AUDIT_ARCH is not set CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y CONFIG_ARCH_HWEIGHT_CFLAGS=-fcall-saved-ecx -fcall-saved-edx CONFIG_ARCH_SUPPORTS_UPROBES=y CONFIG_FIX_EARLYCON_MEM=y CONFIG_DEFCONFIG_LIST=/lib/modules/$UNAME_RELEASE/.config CONFIG_CONSTRUCTORS=y CONFIG_IRQ_WORK=y CONFIG_BUILDTIME_EXTABLE_SORT=y # # General setup # CONFIG_BROKEN_ON_SMP=y CONFIG_INIT_ENV_ARG_LIMIT=32 CONFIG_CROSS_COMPILE= # CONFIG_COMPILE_TEST is not set CONFIG_LOCALVERSION= CONFIG_LOCALVERSION_AUTO=y CONFIG_HAVE_KERNEL_GZIP=y CONFIG_HAVE_KERNEL_BZIP2=y CONFIG_HAVE_KERNEL_LZMA=y CONFIG_HAVE_KERNEL_XZ=y CONFIG_HAVE_KERNEL_LZO=y CONFIG_HAVE_KERNEL_LZ4=y CONFIG_KERNEL_GZIP=y # CONFIG_KERNEL_BZIP2 is not set # CONFIG_KERNEL_LZMA is not set # CONFIG_KERNEL_XZ is not set # CONFIG_KERNEL_LZO is not set # CONFIG_KERNEL_LZ4 is not set CONFIG_DEFAULT_HOSTNAME=(none) CONFIG_SYSVIPC=y CONFIG_SYSVIPC_SYSCTL=y # CONFIG_POSIX_MQUEUE is not set CONFIG_CROSS_MEMORY_ATTACH=y CONFIG_FHANDLE=y # CONFIG_USELIB is not set CONFIG_AUDIT=y CONFIG_HAVE_ARCH_AUDITSYSCALL=y # CONFIG_AUDITSYSCALL is not set # # IRQ subsystem # CONFIG_GENERIC_IRQ_PROBE=y CONFIG_GENERIC_IRQ_SHOW=y CONFIG_IRQ_DOMAIN=y CONFIG_IRQ_DOMAIN_DEBUG=y CONFIG_IRQ_FORCED_THREADING=y CONFIG_SPARSE_IRQ=y CONFIG_CLOCKSOURCE_WATCHDOG=y CONFIG_ARCH_CLOCKSOURCE_DATA=y CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y CONFIG_GENERIC_TIME_VSYSCALL=y CONFIG_GENERIC_CLOCKEVENTS=y CONFIG_GENERIC_CLOCKEVENTS_BUILD=y CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y CONFIG_GENERIC_CMOS_UPDATE=y # # Timers subsystem # CONFIG_HZ_PERIODIC=y # CONFIG_NO_HZ_IDLE is not set # CONFIG_NO_HZ is not set # CONFIG_HIGH_RES_TIMERS is not set # # CPU/Task time and stats accounting # CONFIG_TICK_CPU_ACCOUNTING=y # CONFIG_IRQ_TIME_ACCOUNTING is not set CONFIG_BSD_PROCESS_ACCT=y CONFIG_BSD_PROCESS_ACCT_V3=y CONFIG_TASKSTATS=y CONFIG_TASK_DELAY_ACCT=y # CONFIG_TASK_XACCT is not set # # RCU Subsystem # CONFIG_PREEMPT_RCU=y CONFIG_SRCU=y # CONFIG_TASKS_RCU is not set CONFIG_RCU_STALL_COMMON=y CONFIG_RCU_FANOUT=32 CONFIG_RCU_FANOUT_LEAF=16 # CONFIG_RCU_FANOUT_EXACT is not set # CONFIG_TREE_RCU_TRACE is not set CONFIG_RCU_BOOST=y CONFIG_RCU_KTHREAD_PRIO=1 CONFIG_RCU_BOOST_DELAY=500 # CONFIG_RCU_NOCB_CPU is not set CONFIG_BUILD_BIN2C=y CONFIG_IKCONFIG=y # CONFIG_IKCONFIG_PROC is not set CONFIG_LOG_BUF_SHIFT=17 CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y CONFIG_CGROUPS=y # CONFIG_CGROUP_DEBUG
Re: [PATCH] rc-core: use an IDA rather than a bitmap
Hi On 2015-04-02, David Härdeman wrote: This patch changes rc-core to use the kernel facilities that are already available for handling unique numbers instead of rolling its own bitmap stuff. Stefan, this should apply cleanly to the media git tree...could you test it? Thanks, I've applied this patch to my kernel and have started testing it. As the race conditions between both (well, three, the TeVii s480 v2.1 exposes two rc_core devices) doesn't trigger all the time, it might take a while before I can report back. Thanks a lot Stefan Lippers-Hollmann pgpoSevqeY_Li.pgp Description: Digitale Signatur von OpenPGP
Re: [PATCH 0/9 v2] Helper to abstract vma handling in media layer
Hello, On Tue 17-03-15 12:56:30, Jan Kara wrote: After a long pause I'm sending second version of my patch series to abstract vma handling from the various media drivers. After this patch set drivers have to know much less details about vmas, their types, and locking. My motivation for the series is that I want to change get_user_pages() locking and I want to handle subtle locking details in as few places as possible. The core of the series is the new helper get_vaddr_pfns() which is given a virtual address and it fills in PFNs into provided array. If PFNs correspond to normal pages it also grabs references to these pages. The difference from get_user_pages() is that this function can also deal with pfnmap, mixed, and io mappings which is what the media drivers need. I have tested the patches with vivid driver so at least vb2 code got some exposure. Conversion of other drivers was just compile-tested so I'd like to ask respective maintainers if they could have a look. Also I'd like to ask mm folks to check patch 2/9 implementing the helper. Thanks! Ping? Any reactions? Honza -- Jan Kara j...@suse.cz SUSE Labs, CR -- 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 0/9 v2] Helper to abstract vma handling in media layer
On 04/02/2015 05:02 PM, Jan Kara wrote: Hello, On Tue 17-03-15 12:56:30, Jan Kara wrote: After a long pause I'm sending second version of my patch series to abstract vma handling from the various media drivers. After this patch set drivers have to know much less details about vmas, their types, and locking. My motivation for the series is that I want to change get_user_pages() locking and I want to handle subtle locking details in as few places as possible. The core of the series is the new helper get_vaddr_pfns() which is given a virtual address and it fills in PFNs into provided array. If PFNs correspond to normal pages it also grabs references to these pages. The difference from get_user_pages() is that this function can also deal with pfnmap, mixed, and io mappings which is what the media drivers need. I have tested the patches with vivid driver so at least vb2 code got some exposure. Conversion of other drivers was just compile-tested so I'd like to ask respective maintainers if they could have a look. Also I'd like to ask mm folks to check patch 2/9 implementing the helper. Thanks! Ping? Any reactions? For patch 1/9: Acked-by: Hans Verkuil hans.verk...@cisco.com For the other patches I do not feel qualified to give Acks. I've Cc-ed Pawel and Marek who have a better understanding of the mm internals than I do. Hopefully they can review the code. It definitely looks like a good idea, and if nobody else will comment on the vb2 patches in the next 2 weeks, then I'll try to review it myself (for whatever that's worth). Regards, Hans -- 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 v4 00/17] media: blackfin: bfin_capture enhancements
On 03/26/2015 10:18 AM, Scott Jiang wrote: Hi Lad and Hans, 2015-03-08 22:40 GMT+08:00 Lad Prabhakar prabhakar.cse...@gmail.com: From: Lad, Prabhakar prabhakar.cse...@gmail.com This patch series, enhances blackfin capture driver with vb2 helpers. Changes for v4: 1: Improved commit message for path 4/17 and 5/17. 2: Added Ack's from Scott to patches 1-15 3: Two new patches 16/17 and 17/17 Lad, Prabhakar (17): media: blackfin: bfin_capture: drop buf_init() callback media: blackfin: bfin_capture: release buffers in case start_streaming() call back fails media: blackfin: bfin_capture: set min_buffers_needed media: blackfin: bfin_capture: set vb2 buffer field media: blackfin: bfin_capture: improve queue_setup() callback media: blackfin: bfin_capture: use vb2_fop_mmap/poll media: blackfin: bfin_capture: use v4l2_fh_open and vb2_fop_release media: blackfin: bfin_capture: use vb2_ioctl_* helpers media: blackfin: bfin_capture: make sure all buffers are returned on stop_streaming() callback media: blackfin: bfin_capture: return -ENODATA for *std calls media: blackfin: bfin_capture: return -ENODATA for *dv_timings calls media: blackfin: bfin_capture: add support for vidioc_create_bufs media: blackfin: bfin_capture: add support for VB2_DMABUF media: blackfin: bfin_capture: add support for VIDIOC_EXPBUF media: blackfin: bfin_capture: set v4l2 buffer sequence media: blackfin: bfin_capture: drop bcap_get_unmapped_area() media: blackfin: bfin_capture: embed video_device struct in bcap_device drivers/media/platform/blackfin/bfin_capture.c | 348 - 1 file changed, 103 insertions(+), 245 deletions(-) for patch 16/17, Acked-by: Scott Jiang scott.jiang.li...@gmail.com Tested-by: Scott Jiang scott.jiang.li...@gmail.com Hans, I tried to use v4l2-compliance but it failed to compile. Sorry for telling you it have passed compilation because I forgot to use blackfin toolchain. ./configure --without-jpeg --host=bfin-linux-uclibc --disable-libv4l The main problem is there is no argp.h in uClibc, how to disable checking this? checking for argp.h... no configure: error: Cannot continue: argp.h not found Scott Hi Scott, Can you try this patch for v4l-utils? It makes argp optional, and it should allow v4l2-compliance to compile with uclibc (unless there are more problems). I'm no autoconf guru, so I'm not certain if everything is correct, but it seemed to do its job when I remove argp.h from my system. Regards, Hans Signed-off-by: Hans Verkuil hans.verk...@cisco.com --- diff --git a/configure.ac b/configure.ac index 330479c..0bf9154 100644 --- a/configure.ac +++ b/configure.ac @@ -253,14 +253,17 @@ dl_saved_libs=$LIBS AC_SUBST([DLOPEN_LIBS]) LIBS=$dl_saved_libs -AC_CHECK_HEADER([argp.h],,AC_MSG_ERROR(Cannot continue: argp.h not found)) +#AC_CHECK_HEADER([argp.h],,AC_MSG_ERROR(Cannot continue: argp.h not found)) +AC_CHECK_HEADER([argp.h], [argp=yes], [argp=no]) +AS_IF([test x$argp = xyes], argp_saved_libs=$LIBS AC_SEARCH_LIBS([argp_parse], [argp], [test $ac_cv_search_argp_parse = none required || ARGP_LIBS=$ac_cv_search_argp_parse], [AC_MSG_ERROR([unable to find the argp_parse() function])]) AC_SUBST([ARGP_LIBS]) -LIBS=$argp_saved_libs +LIBS=$argp_saved_libs) +AM_CONDITIONAL([HAVE_ARGP], [test x$argp = xyes]) AC_CHECK_HEADER([linux/i2c-dev.h], [linux_i2c_dev=yes], [linux_i2c_dev=no]) AM_CONDITIONAL([HAVE_LINUX_I2C_DEV], [test x$linux_i2c_dev = xyes]) diff --git a/contrib/test/Makefile.am b/contrib/test/Makefile.am index 0bfa33e..f87ed3e 100644 --- a/contrib/test/Makefile.am +++ b/contrib/test/Makefile.am @@ -2,7 +2,6 @@ noinst_PROGRAMS = \ ioctl-test \ sliced-vbi-test \ sliced-vbi-detect \ - v4l2grab\ driver-test \ stress-buffer \ capture-example @@ -11,9 +10,12 @@ if HAVE_X11 noinst_PROGRAMS += pixfmt-test endif +if HAVE_ARGP +noinst_PROGRAMS += v4l2grab if HAVE_GLU noinst_PROGRAMS += v4l2gl endif +endif driver_test_SOURCES = driver-test.c driver_test_LDADD = ../../utils/libv4l2util/libv4l2util.la diff --git a/utils/decode_tm6000/Makefile.am b/utils/decode_tm6000/Makefile.am index ac4e85e..845e35e 100644 --- a/utils/decode_tm6000/Makefile.am +++ b/utils/decode_tm6000/Makefile.am @@ -1,4 +1,6 @@ +if HAVE_ARGP bin_PROGRAMS = decode_tm6000 decode_tm6000_SOURCES = decode_tm6000.c decode_tm6000_LDADD = ../libv4l2util/libv4l2util.la decode_tm6000_LDFLAGS = $(ARGP_LIBS) +endif diff --git a/utils/dvb/Makefile.am b/utils/dvb/Makefile.am index 6aae408..32c9fb9 100644 --- a/utils/dvb/Makefile.am +++ b/utils/dvb/Makefile.am @@ -1,3 +1,4 @@ +if HAVE_ARGP bin_PROGRAMS = dvb-fe-tool dvbv5-zap dvbv5-scan dvb-format-convert man_MANS = dvb-fe-tool.1 dvbv5-zap.1 dvbv5-scan.1 dvb-format-convert.1 @@
Re: [PATCH v4 01/12] DT: leds: Improve description of flash LEDs related properties
On Tue 2015-03-31 15:52:37, Jacek Anaszewski wrote: Description of flash LEDs related properties was not precise regarding the state of corresponding settings in case a property is missing. Add relevant statements. Removed is also the requirement making the flash-max-microamp property obligatory for flash LEDs. It was inconsistent as the property is defined as optional. Devices which require the property will have to assert this in their DT bindings. Signed-off-by: Jacek Anaszewski j.anaszew...@samsung.com Acked-by: Kyungmin Park kyungmin.p...@samsung.com Cc: Bryan Wu coolo...@gmail.com Cc: Richard Purdie rpur...@rpsys.net Acked-by: Pavel Machek pa...@ucw.cz diff --git a/Documentation/devicetree/bindings/leds/common.txt b/Documentation/devicetree/bindings/leds/common.txt index 747c538..21a25e4 100644 --- a/Documentation/devicetree/bindings/leds/common.txt +++ b/Documentation/devicetree/bindings/leds/common.txt @@ -29,13 +29,15 @@ Optional properties for child nodes: ide-disk - LED indicates disk activity timer - LED flashes at a fixed, configurable rate -- max-microamp : maximum intensity in microamperes of the LED - (torch LED for flash devices) -- flash-max-microamp : maximum intensity in microamperes of the - flash LED; it is mandatory if the LED should -support the flash mode -- flash-timeout-us : timeout in microseconds after which the flash - LED is turned off +- max-microamp : Maximum intensity in microamperes of the LED + (torch LED for flash devices). If omitted this will default + to the maximum current allowed by the device. +- flash-max-microamp : Maximum intensity in microamperes of the flash LED. +If omitted this will default to the maximum +current allowed by the device. +- flash-timeout-us : Timeout in microseconds after which the flash + LED is turned off. If omitted this will default to the + maximum timeout allowed by the device. -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.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
Re: [PATCH/RFC v13 04/13] DT: Add documentation for the mfd Maxim max77693
On Mon 2015-03-23 15:59:37, Lee Jones wrote: On Mon, 23 Mar 2015, Pavel Machek wrote: On Mon 2015-03-23 15:02:13, Lee Jones wrote: On Mon, 23 Mar 2015, Pavel Machek wrote: On Mon 2015-03-23 12:07:43, Lee Jones wrote: This patch requires a DT Ack. No, it requires DT people to be notified -- and they were, few times by now. They clearly don't care. Well fortunately for the Kernel community, I do care. And as this patch adds 3 new DT properties, has been through many iterations already with vast changes made over that period and there is still some controversy looming, I'm saying that it _does_ require a DT Ack. Can you help get that ack, then? As a maintainer, you have better chance getting reply from DT people than patch submitter. Hopefully they will see my plea a couple of replies back. If that fails I'll go poke them via other means. Failing that I'll go see them in person and continually hit them with wet fish until one of them relents. Can I request footage of the last steps on the youtube? (IOW ping, I don't think I seen any replies from DT maintainers...) Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.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
Re: [PATCHv2] v4l2-ioctl: fill in the description for VIDIOC_ENUM_FMT
Hello Hans On Thu, Apr 2, 2015 at 2:40 PM, Hans Verkuil hverk...@xs4all.nl wrote: + case V4L2_PIX_FMT_Y16: descr = 16-bit Greyscale; break; What about 16-bit Greyscale LE ? Regards! -- Ricardo Ribalda -- 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 0/2] NEC scancodes and protocols in keymaps
Em Thu, 02 Apr 2015 14:02:57 +0200 David Härdeman da...@hardeman.nu escreveu: The following two patches should show more clearly what I mean by adding protocols to the keytables (and letting userspace add keytable entries with explicit protocol information). Consider it a basis for discussion. Each patch has a separate description, please refer to those for more information. Interesting approach. It would be good to also have a patch for v4l-utils rc-keycode userspace, for it to use the new way when available. An option to fallback to the old way would also be useful, in order to allow testing the backward compatibility. --- David Härdeman (2): rc-core: use the full 32 bits for NEC scancodes rc-core: don't throw away protocol information drivers/media/rc/ati_remote.c|1 drivers/media/rc/imon.c |7 + drivers/media/rc/ir-nec-decoder.c| 26 --- drivers/media/rc/rc-main.c | 233 -- drivers/media/usb/dvb-usb-v2/af9015.c| 22 +-- drivers/media/usb/dvb-usb-v2/af9035.c| 23 +-- drivers/media/usb/dvb-usb-v2/az6007.c| 16 +- drivers/media/usb/dvb-usb-v2/rtl28xxu.c | 20 +-- drivers/media/usb/dvb-usb/dib0700_core.c | 24 +-- drivers/media/usb/em28xx/em28xx-input.c | 37 + include/media/rc-core.h | 26 +++ include/media/rc-map.h | 23 ++- 12 files changed, 264 insertions(+), 194 deletions(-) -- David Härdeman -- 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: [PATCHv2] v4l2-ioctl: fill in the description for VIDIOC_ENUM_FMT
On 04/02/2015 07:02 PM, Ricardo Ribalda Delgado wrote: Hello Hans On Thu, Apr 2, 2015 at 2:40 PM, Hans Verkuil hverk...@xs4all.nl wrote: + case V4L2_PIX_FMT_Y16: descr = 16-bit Greyscale; break; What about 16-bit Greyscale LE ? LE is the default, so that's not mentioned. Only if it is BE will I mention it in the description. It's the way drivers do this today as well, and I think it makes sense. Regards, Hans -- 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