media updates for v3.5
Subsystems (2)
Hi Linus,
Please pull from:
git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media v4l_for_linus
For a series of patches for 3.5, including:
- some V4L2 API updates needed by embedded devices;
- DVB API extensions for ATSC-MH delivery system, used in US for mobile TV;
- new tuners for fc0011/0012/0013 and tua9001;
- a new dvb driver for af9033/9035;
- a new ATSC-MH frontend (lg2160);
- new remote controller keymaps;
- Removal of a few legacy webcam driver that got replaced by gspca on several kernel versions ago;
- a new driver for Exynos 4/5 webcams(s5pp fimc-lite);
- a new webcam sensor driver (smiapp);
- a new video input driver for embedded (sta2x1xx);
- several improvements, fixes, cleanups, etc inside the drivers.
Regards,
Mauro
-
Latest commit at the branch:71006fb22b0f5a2045605b3887ee99a0e9adafe4 [media] saa7134-cards: Remove a PCI entry added by mistake The following changes since commit 76e10d158efb6d4516018846f60c2ab5501900bc:
Linux 3.4 (2012-05-20 15:29:13 -0700)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media v4l_for_linus
Alan McIvor (1):
[media] Default bt878 contrast value
Alexey Khoroshilov (1):
[media] dib9000: get rid of Dib*Lock macros
Andy Shevchenko (1):
[media] as3645a: move relevant code under __devinit/__devexit
Anssi Hannula (4):
[media] ati_remote: allow specifying a default keymap selector function [media] ati_remote: add support for Medion X10 Digitainer remote [media] ati_remote: add keymap for Medion X10 OR2x remotes [media] ati_remote: add regular up/down buttons to Medion Digitainer keymap
Antonio Ospite (3):
[media] gspca - ov534: Add Saturation control [media] Input: move drivers/input/fixp-arith.h to include/linux [media] gspca - ov534: Add Hue control
Antti Palosaari (33):
[media] Infineon TUA 9001 silicon tuner driver
[media] Afatech AF9033 DVB-T demodulator driver [media] Afatech AF9035 DVB USB driver
[media] af9035: enhancement for unknown tuner ID handling [media] af9035: reimplement firmware downloader [media] af9035: add missing error check
[media] af9033: correct debug print
[media] af9033: implement .read_snr()
[media] af9035: add log writing if unsupported Xtal freq is given [media] af9035: fix and enhance I2C adapter
[media] af9035: initial support for IT9135 chip [media] af9033: do some minor changes for .get_frontend() [media] af9035: minor changes for af9035_fc0011_tuner_callback() [media] af9035: reorganise USB ID and device list [media] af9035: disable frontend0 I2C-gate control [media] af9035: various small changes for af9035_ctrl_msg() [media] af9035: remove unused struct
[media] af9035: move device configuration to the state [media] af9035: remove one config parameter
[media] af9035: add few new reference design USB IDs [media] get_dvb_firmware: add dvb-demod-drxk-pctv.fw [media] rtl28xxu: dynamic USB ID support
[media] af9015: various small changes and clean-ups [media] drxk: fix GPIOs
[media] em28xx: disable LNA - PCTV QuatroStick nano (520e) [media] rtl2830: implement .read_snr()
[media] rtl2830: implement .read_ber()
[media] rtl2830: implement .read_signal_strength() [media] rtl2830: implement .get_frontend()
[media] rtl2830: prevent hw access when sleeping [media] rtl28xxu: add small sleep for rtl2830 demod attach [media] zl10353: change .read_snr() to report SNR as a 0.1 dB [media] em28xx: simple comment fix
Arnd Bergmann (5):
[media] video/omap24xxcam: use __iomem annotations [media] dvb/drxd: stub out drxd_attach when not built [media] media/rc: IR_SONY_DECODER depends on BITREVERSE [media] media/video: add I2C dependencies
[media] drivers/media: add missing __devexit_p() annotations
Ben Hutchings (1):
[media] rc: Fix invalid free_region and/or free_irq on probe failure
Bhupesh Sharma (1):
[media] usb: gadget/uvc: Remove non-required locking from 'uvc_queue_next_buffer' routine
Dan Carpenter (6):
[media] mxl111sf: remove an unused variable
[media] uvcvideo: remove unneeded access_ok() check [media] pluto2: remove some dead code
[media] saa7164: saa7164_vbi_stop_port() returns linux error codes [media] ngene: remove an unneeded condition
[media] gspca: passing wrong length parameter to reg_w()
Daniel Drake (1):
[media] via-camera: specify XO-1.5 camera clock speed
Ezequiel Garcia (2):
[media] em28xx: Make card_setup() and pre_card_setup() static [media] em28xx: Remove unused list_head struct for queued buffers
Ezequiel García (19):
[media] em28xx: Remove redundant dev->ctl_input set
[media] em28xx: Export em28xx_[read,write]_reg functions as SYMBOL_GPL [media] em28xx: Move ir/rc related initialization to em28xx_ir_init() [media] em28xx: Move em28xx_register_i2c_ir() to em28xx-input.c [media] em28xx: Change scope of em28xx-input local functions to static [media] em28xx: Make em28xx-input.c a separate module
[media] em28xx: Remove unused field from em28xx_buffer struct [media] em28xx: Remove unused enum em28xx_io_method
[media] em28xx: Remove unused wait_queue's
[media] staging: easycap: Split device struct alloc and retrieval code [media] staging: easycap: Split buffer and video urb allocation [media] staging: easycap: Push bInterfaceNumber saving to config_easycap() [media] staging: easycap: Initialize 'ntsc' parameter before usage [media] staging: easycap: Push video registration to easycap_register_video() [media] staging: easycap: Split audio buffer and urb allocation [media] staging: easycap: Clean comment style in easycap_usb_disconnect() [media] staging: easycap: Clean comment style in easycap_delete() [media] staging: easycap: Split easycap_delete() into several pieces [media] em28xx: Fix memory leak on driver defered resource release
Federico Vaga (3):
[media] adv7180: add support to user controls [media] videobuf-dma-contig: add cache support [media] STA2X11 VIP: new V4L2 driver
Gianluca Gennari (12):
[media] af9035: fix warning
[media] af9035: add USB id for 07ca:a867
[media] af9035: add support for the tda18218 tuner
[media] af9035: use module_usb_driver macro
[media] af9033: implement get_frontend
[media] lirc: delete unused init/exit function prototypes
[media] em28xx-dvb: stop URBs when stopping the streaming
[media] em28xx: clean-up several unused parametrs in struct em28xx_usb_isoc_ctl [media] dib7000p: remove duplicate code and comment
[media] dib0700: add new USB PID for the Elgato EyeTV DTT stick [media] em28xx-dvb: enable LNA for cxd2820r in DVB-T mode
[media] cxd2820r: tweak search algorithm behavior
Guennadi Liakhovetski (10):
[media] V4L: fix a compiler warning
[media] mt9m032: fix two dead-locks
[media] mt9m032: fix compilation breakage
[media] mt9m032: use the available subdev pointer, don't re-calculate it [media] V4L: marvell-ccic: (cosmetic) remove redundant variable assignment [media] V4L: soc-camera: (cosmetic) use a more explicit name for a host handler [media] V4L: mem2mem: fix alignment in mem2mem-testdev
[media] V4L: mx2-camera: avoid overflowing 32-bits
[media] V4L: soc-camera: switch to using the existing .enum_framesizes() [media] V4L: sh_mobile_ceu_camera: don't fail TRY_FMT
H Hartley Sweeten (2):
[media] media: videobuf2-dma-contig: include header for exported symbols [media] media: videobuf2-dma-contig: quiet sparse noise about plain integer as NULL pointer
Hans Verkuil (86):
[media] ivtv: only start streaming in poll() if polling for input [media] videobuf2: only start streaming in poll() if so requested by the poll mask [media] videobuf: only start streaming in poll() if so requested by the poll mask [media] videobuf2-core: also test for pending events
[media] vivi: let vb2_poll handle events
[media] radio-rtrack2: add missing slab.h
[media] videodev2.h: Fix VIDIOC_QUERYMENU ioctl regression
[media] V4L: fix incorrect refcounting
[media] V4L2: drivers implementing vidioc_default should also return -ENOTTY [media] v4l2-ctrls.c: zero min/max/step/def values for 64 bit integers [media] vivi: fix duplicate line
[media] V4L2 Spec: fix typo
[media] dsbr100: clean up and update to the latest v4l2 framework [media] ivtv: set max/step to 0 for PTS and FRAME controls
[media] radio-keene: support suspend/resume
[media] radio-isa: fix memory leak
[media] radio-mr800: cleanup and have it comply to the V4L2 API [media] radio-mr800: add support for stereo and signal detection [media] radio-mr800: add hardware seek support
[media] cpia2: major overhaul to get it in a working state again [media] pvrusb2: convert to video_ioctl2
[media] v4l2-dev: make it possible to skip locking for selected ioctls [media] v4l2-dev/ioctl: determine the valid ioctls upfront
[media] tea575x-tuner: mark VIDIOC_S_HW_FREQ_SEEK as an invalid ioctl [media] v4l2-ioctl: handle priority handling based on a table lookup [media] v4l2-dev: add flag to have the core lock all file operations [media] v4l2-framework.txt: document v4l2_dont_use_cmd
[media] gspca: Allow subdrivers to use the control framework
[media] gspca: Use video_drvdata(file) instead of file->private_data [media] gscpa: Use v4l2_fh and add G/S_PRIORITY support
[media] gspca: Add support for control events
[media] gspca: Fix querycap and incorrect return codes
[media] gspca: Fix locking issues related to suspend/resume
[media] gspca: Switch to V4L2 core locking, except for the buffer queuing ioctls [media] gspca_zc3xx: Convert to the control framework
[media] gcpca_sn9c20x: Convert to the control framework
[media] gspca_stv06xx: Convert to the control framework
[media] gspca_mars: Convert to the control framework
[media] pms: update to the latest V4L2 frameworks
[media] si470x: Clean up, introduce the control framework
[media] si470x: add control event support and more v4l2 compliancy fixes [media] radio-si470x-common.c: remove unnecessary kernel log spam [media] radio-si470x-usb: remove autosuspend, implement suspend/resume [media] dw2102: fix compile warnings
[media] cx231xx: fix compiler warnings
[media] ivtv/cx18: fix compiler warnings
[media] cx25821: fix compiler warnings
[media] v4l: fix compiler warnings
[media] v4l: fix compiler warnings
[media] v4l/dvb: fix compiler warnings
[media] v4l/dvb: fix compiler warnings
[media] mxb/saa7146: first round of cleanups
[media] mxb: fix initial audio + ntsc/secam support
[media] mxb: fix audio handling
[media] mxb: simplify a line that was too long
[media] tda9840: fix setting of the audio mode
[media] mxb: fix audio and standard handling
[media] saa7146: move overlay information from saa7146_fh into saa7146_vv [media] saa7146: move video_fmt from saa7146_fh to saa7146_vv [media] saa7146: move vbi fields from saa7146_fh to saa7146_vv [media] saa7146: remove the unneeded type field from saa7146_fh [media] saa7146: rename vbi/video_q to vbi/video_dmaq
[media] saa7146: support control events and priority handling [media] saa7146: fix querycap, vbi/video separation and g/s_register [media] fixes and add querystd support to mxb
[media] hexium-gemini: remove B&W control, fix input table
[media] hexium-orion: fix incorrect input table
[media] vivi: add more pixelformats
[media] vivi: add the alpha component control
[media] av7110: fix v4l2_compliance test issues
[media] v4l2-framework.txt: update the core lock documentation [media] v4l2-dev.h: add comment not to use V4L2_FL_LOCK_ALL_FOPS in new drivers [media] v4l2-dev: rename two functions
[media] v4l2-event: fix regression with initial event handling [media] videodev2.h: add enum/query/cap dv_timings ioctls
[media] V4L2 spec: document the new V4L2 DV timings ioctls
[media] v4l2 framework: add support for the new dv_timings ioctls [media] v4l2-dv-timings.h: definitions for CEA-861 and VESA DMT timings [media] tvp7002: add support for the new dv timings API
[media] Feature removal: remove invalid DV presets
[media] V4L2: Mark the DV Preset API as deprecated
[media] bw-qcam: update to latest frameworks
[media] c-qcam: convert to the latest frameworks
[media] arv: use latest frameworks
[media] w9966: convert to the latest frameworks
[media] gspca: the field 'frozen' is under CONFIG_PM
Hans de Goede (47):
[media] pwc: poll(): Check that the device has not beem claimed for streaming already
pwc: Add support for control events
[media] stk-webcam: Don't flip the image by default
[media] gspca/autogain_functions.h: Allow users to declare what they want [media] gspca_pac73xx: Remove comments from before the 7302 / 7311 separation [media] gspca_pac7311: Make sure exposure changes get applied immediately [media] gspca_pac7311: Adjust control scales to match registers [media] gspca_pac7311: Switch to new gspca control mechanism
[media] gspca_pac7311: Switch to coarse expo autogain algorithm [media] gspca_pac7311: Convert multi-line comments to standard kernel style [media] gspca_pac7311: Properly set the compression balance
[media] gspca_pac7302: Convert multi-line comments to standard kernel style [media] gspca_pac7302: Document some more registers
[media] gspca_pac7302: Improve the gain control
[media] media/video/et61x251: Remove this deprecated driver
[media] media/radio: use v4l2_ctrl_subscribe_event where possible [media] v4l2-event: Add v4l2_subscribed_event_ops
[media] v4l2-ctrls: Use v4l2_subscribed_event_ops
[media] uvcvideo: Fix a "ignoring return value of ‘__clear_user’" warning [media] uvcvideo: Refactor uvc_ctrl_get and query
[media] uvcvideo: Move __uvc_ctrl_get() up
[media] uvcvideo: Add support for control events
[media] uvcvideo: Properly report the inactive flag for inactive controls [media] uvcvideo: Send control change events for slave ctrls when the master changes [media] uvcvideo: Drop unused ctrl member from struct uvc_control_mapping [media] videobuf2: Fix a bug in fileio emulation error handling [media] pwc: Fix locking
[media] gscpa: Clear usb_err before calling sd methods from suspend/resume [media] gspca: Use req_events in poll
[media] gspca: Call sd_stop0 on disconnect
[media] gspca: Set gspca_dev->usb_err to 0 at the begin of gspca_stream_off [media] gspca: Add autogain functions for use with control framework drivers [media] gspca_gl860: Add a present check to sd_stop0
[media] gspca_zc3xx: Fix setting of jpeg quality while streaming [media] gspca_zc3xx: Fix JPEG quality setting code
[media] gspca_zc3xx: Always automatically adjust BRC as needed
[media] gspca_zc3xx: Disable the highest quality setting as it is not usable [media] gspca_sn9c20x: Whitespace fixes
[media] gscpa_stv06xx: Make sd_desc const
[media] gscpa: Move ctrl_handler to gspca_dev
[media] gscpa_pac207: use usb_err for error handling
[media] gspca_pac207: Convert to the control framework
[media] gscpa_pac207: Switch to coarse_grained_expo auto gain algorithm [media] gspca: Remove gspca_auto_gain_n_exposure function
[media] gspca_pac7311: Convert to the control framework
[media] gspca_pac7311: Set register page at start of init
[media] gspca_pac7311: Remove vflip control
Hans-Frieder Vogt (9):
[media] af9035: i2c read fix
[media] af9035: add Avermedia Volar HD (A867R) support [media] af9035: add remote control support
[media] af9033: implement ber and ucb functions [media] fc001x: common header file for FC0012 and FC0013 [media] fc001x: tuner driver for FC0012, version 0.5 [media] fc001x: tuner driver for FC0013
[media] fc0012 ver. 0.6: introduction of get_rf_strength function [media] fc0013 ver. 0.2: introduction of get_rf_strength function
Igor M. Liplianin (2):
[media] cx23885: TeVii s471 card support [media] m88rs2000: LNB voltage control implemented
Il Han (1):
[media] lmedm04: Initialize a variable before its usage
Ismael Luceno (2):
[media] au0828: Add USB ID used by many dongles [media] au0828: Move the Kconfig knob under V4L_USB_DRIVERS
Javier Martin (4):
[media] i.MX2: eMMa-PrP: Allow userptr IO mode [media] media: tvp5150: Fix mbus format
[media] i.MX27: visstrim_m10: Remove use of MX2_CAMERA_SWAP16 [media] media: mx2_camera: Fix mbus format handling
Jean-François Moine (7):
[media] gspca - ov519: Add more information about probe problems
[media] gspca - sn9c20x: Change the number of the sensor mt9vprb
[media] gspca - sn9c20x: Add the sensor mt9vprb to the sensor ident table
[media] gspca - sn9c20x: Define more tables as constant
[media] gspca - sn9c20x: Set the i2c interface speed
[media] gspca - sn9c20x: Don't do sensor update before the capture is started
[media] gspca - sn9c20x: Change the exposure setting of Omnivision sensorsJesper Juhl (3):
[media] staging/media/as102: Don't call release_firmware() on uninitialized variable [media] staging: as102: Remove redundant NULL check before release_firmware() and pointless comments [media] s2255drv: Remove redundant NULL test before release_firmware()
Jim Cromie (1):
[media] cx231xx: replace open-coded ARRAY_SIZE with macro
Jozsef Marton (1):
[media] media: add support to gspca/pac7302.c for 093a:2627 (Genius FaceCam 300)
Julia Lawall (1):
[media] drivers/media/video/au0828/au0828-video.c: add missing video_device_release
Kartik Mohta (1):
[media] mt9v032: Correct the logic for the auto-exposure setting
Konstantin Khlebnikov (1):
[media] mm/drivers: use vm_flags_t for vma flags
Kuninori Morimoto (1):
[media] V4L2: sh_mobile_ceu: manage lower 8bit bus
Laurent Pinchart (36):
[media] uvcvideo: Fix ENUMINPUT handling
[media] MAINTAINERS: Update UVC driver's mailing list address [media] uvcvideo: Use videobuf2 .get_unmapped_area() implementation [media] omap3isp: Prevent pipelines that contain a crashed entity from starting [media] omap3isp: Fix frame number propagation
[media] omap3isp: preview: Skip brightness and contrast in configuration ioctl [media] omap3isp: preview: Optimize parameters setup for the common case [media] omap3isp: preview: Remove averager parameter update flag [media] omap3isp: preview: Remove unused isptables_update structure definition [media] omap3isp: preview: Merge configuration and feature bits [media] omap3isp: preview: Remove update_attrs feature_bit field [media] omap3isp: preview: Rename prev_params fields to match userspace API [media] omap3isp: preview: Simplify configuration parameters access [media] omap3isp: preview: Shorten shadow update delay
[media] omap3isp: preview: Rename last occurences of *_rgb_to_ycbcr to *_csc [media] omap3isp: preview: Add support for greyscale input [media] omap3isp: Mark probe and cleanup functions with __devinit and __devexit [media] omap3isp: ccdc: Add selection support on output formatter source pad [media] omap3isp: preview: Replace the crop API by the selection API [media] omap3isp: resizer: Replace the crop API by the selection API [media] v4l: aptina-pll: Round up minimum multiplier factor value properly [media] mt9p031: Identify color/mono models using I2C device name [media] mt9p031: Replace the reset board callback by a GPIO number [media] mt9p031: Implement black level compensation control [media] v4l: v4l2-ctrls: moves the forward declaration of struct file [media] mx2_camera: Fix sizeimage computation in try_fmt() [media] soc_camera: Use soc_camera_device::sizeimage to compute buffer sizes [media] soc_camera: Use soc_camera_device::bytesperline to compute line sizes [media] soc-camera: Add plane layout information to struct soc_mbus_pixelfmt [media] soc-camera: Fix bytes per line computation for planar formats [media] soc-camera: Add soc_mbus_image_size
[media] soc-camera: Honor user-requested bytesperline and sizeimage [media] mx2_camera: Use soc_mbus_image_size() instead of manual computation [media] soc-camera: Support user-configurable line stride
[media] sh_mobile_ceu_camera: Support user-configurable line stride [media] uvcvideo: Fix V4L2 button controls that share the same UVC control
Liu Ying (1):
[media] V4L: OV5642:remove redundant code to set cropping w/h
Malcolm Priestley (3):
[media] it913x.: Fix a misuse of ||
[media] rc-it913x=v2 Incorrect assigned KEY_1
[media] m88rs2000 - only flip bit 2 on reg 0x70 on 16th tryMarcos Paulo de Souza (3):
[media] drivers: media: video: adp1653.c: Remove unneeded include of version.h [media] drivers: media: radio: radio-keene.c: Remove unneeded include of version.h [media] drivers: media: dvb: ddbridge: ddbridge-code: Remove unneeded include of version.h
Marek Szyprowski (1):
[media] v4l: s5p-tv: fix plane size calculation
Mark Brown (1):
[media] Convert I2C drivers to dev_pm_ops
Masahiro Nakai (1):
[media] V4L2: mt9t112: fixup JPEG initialization workaround
Mauro Carvalho Chehab (12):
Merge branch 'poll' into staging/for_v3.4
Merge tag 'v3.4-rc3' into staging/for_v3.5
[media] tlg2300: Remove usage of KERNEL_VERSION() [media] tm6000: don't use KERNEL_VERSION
Merge remote-tracking branch 'linus/master' into staging/for_v3.5 [media] saa7134: remove unused log_err() macro [media] smiapp: fix compilation breakage
[media] lg2160: Don't fill the legacy DVBv3 ops.type field [media] lg2160: Fix a few warnings
Revert "[media] staging: media: go7007: Adlink MPG24 board issues" [media] sta2x11_vip: Fix 60Hz video standard handling [media] saa7134-cards: Remove a PCI entry added by mistake
Michael Buesch (7):
[media] af9035: Add USB read checksumming [media] Add fc0011 tuner driver
[media] af9035: Add fc0011 tuner support [media] af9035: Add Afatech USB PIDs
[media] fc0011: use usleep_range()
[media] af9035: Use usleep_range() in fc0011 support code [media] fc0011: Reduce number of retries
Michael Krufky (18):
[media] xc5000: support 32MHz & 31.875MHz xtal using the 41.024.5 firmware [media] xc5000: log firmware upload failures in xc5000_fwupload [media] xc5000: xtal_khz should be a u16 rather than a u32 [media] au0828-dvb: attach tuner based on dev->board.tuner_type on hvr950q [media] au8522: build ATV/DTV demodulators as separate modules [media] au8522_common: add missing MODULE_LICENSE
[media] au8522_common: dont EXPORT_SYMBOL(au8522_led_gpio_enable) [media] smsusb: add autodetection support for USB ID 2040:c0a0 [media] linux-dvb v5 API support for ATSC-MH
[media] DocBook: document new DTV Properties for ATSC-MH delivery system [media] increment DVB API to version 5.6 for ATSC-MH frontend control [media] mxl111sf-tuner: tune SYS_ATSCMH just like SYS_ATSC [media] DVB: add support for the LG2160 ATSC-MH demodulator [media] dvb-demux: add functionality to send raw payload to the dvr device [media] dvb-usb: add support for dvb-usb-adapters that deliver raw payload [media] dvb-usb: increase MAX_NO_OF_FE_PER_ADAP from 2 to 3 [media] mxl111sf: add ATSC-MH support
[media] DVB: remove "stats" property bits from ATSC-MH API property additions
Michel Machado (1):
[media] rc-loopback: remove duplicate line
Mike Isely (9):
[media] pvrusb2: Stop statically initializing reserved struct fields to zero [media] pvrusb2: Clean up pvr2_hdw_get_detected_std()
[media] pvrusb2: Implement querystd for videodev_ioctl2
[media] pvrusb2: Transform video standard detection result into read-only control ID [media][trival] pvrusb2: Fix truncated video standard names
[media] pvrusb2: Base available video standards on what hardware supports [media] pvrusb2: Trivial tweak to get rid of some redundant dereferences [media] pvrusb2: Get rid of obsolete code for video standard enumeration [media] pvrusb2: For querystd, start with list of hardware-supported standards
Ondrej Zary (4):
[media] radio-isa: PnP support for the new ISA radio framework [media] radio-gemtek: add PnP support for AOpen FX-3D/Pro Radio [media] [resend] radio-sf16fmr2: add PnP support for SF16-FMD2 [media] radio-sf16fmi: add support for SF16-FMD
Pierangelo Terzulli (1):
[media] af9035: add AVerMedia Twinstar (A825) [07ca:0825]
Sachin Kamat (10):
[media] v4l: s5p-tv: Fix section mismatch warning in mixer_video.c [media] s5p-mfc: Fix NULL pointer warnings
[media] s5p-mfc: Add missing static storage class to silence warnings [media] s5p-g2d: Fix NULL pointer warnings in g2d.c file [media] s5p-g2d: Add missing static storage class in g2d.c file [media] s5p-jpeg: Make s5p_jpeg_g_selection function static [media] s5p-mfc: Add missing static storage class in s5p_mfc_enc.c file [media] s5p-g2d: Use devm_* functions in g2d.c file
[media] s5p-jpeg: Use devm_* functions in jpeg-core.c file [media] s5p-mfc: Use devm_* functions in s5p_mfc.c file
Sakari Ailus (45):
[media] v4l: Introduce integer menu controls
[media] v4l: Document integer menu controls
[media] vivi: Add an integer menu test control
[media] v4l: VIDIOC_SUBDEV_S_SELECTION and VIDIOC_SUBDEV_G_SELECTION IOCTLs [media] v4l: vdev_to_v4l2_subdev() should have return type "struct v4l2_subdev *" [media] v4l: Check pad number in get try pointer functions
[media] v4l: Support s_crop and g_crop through s/g_selection
[media] v4l: Add subdev selections documentation: svg and dia files [media] v4l: Add subdev selections documentation
[media] v4l: Mark VIDIOC_SUBDEV_G_CROP and VIDIOC_SUBDEV_S_CROP obsolete [media] omap3isp: Prevent crash at module unload
[media] omap3isp: Handle omap3isp_csi2_reset() errors
[media] v4l2: use __u32 rather than enums in ioctl() structs
[media] v4l: Image source control class
[media] v4l: Image processing control class
[media] v4l: Document raw bayer 4CC codes
[media] v4l: Add DPCM compressed raw bayer pixel formats
[media] media: Add link_validate() op to check links to the sink pad [media] v4l: Improve sub-device documentation for pad ops
[media] v4l: Implement v4l2_subdev_link_validate()
[media] v4l: Allow changing control handler lock
[media] omap3isp: Support additional in-memory compressed bayer formats [media] omap3isp: Move definitions required by board code under include/media [media] omap3isp: Move setting constaints above media_entity_pipeline_start [media] omap3isp: Assume media_entity_pipeline_start may fail
[media] omap3isp: Add lane configuration to platform data
[media] omap3isp: Refactor collecting information on entities in pipeline [media] omap3isp: Add information on external subdev to struct isp_pipeline [media] omap3isp: Introduce isp_video_check_external_subdevs()
[media] omap3isp: Use external rate instead of vpcfg
[media] omap3isp: Default link validation for ccp2, csi2, preview and resizer [media] omap3isp: Move CCDC link validation to ccdc_link_validate() [media] smiapp: Generic SMIA++/SMIA PLL calculator
[media] smiapp: Add driver
[media] smiapp: Remove smiapp-debug.h in favour of dynamic debug [media] smiapp: Allow using external clock from the clock framework [media] smiapp: Pass struct sensor to register writing commands instead of i2c_client [media] smiapp: Quirk for sensors that only do 8-bit reads
[media] smiapp: Use 8-bit reads only before identifying the sensor [media] smiapp: Round minimum pre_pll up rather than down in ip_clk_freq check [media] smiapp: Initialise rval in smiapp_read_nvm()
[media] smiapp: Use non-binning limits if the binning limit is zero [media] smiapp: Allow generic quirk registers
[media] smiapp: Add support for 8-bit uncompressed formats
[media] smiapp: Use v4l2_ctrl_new_int_menu() instead of v4l2_ctrl_new_custom()
Santosh Nayak (1):
[media] dib0700: Return -EINTR and unlock mutex if locking attempts fails
Srinivas Kandagatla (2):
[media] [3.3.0] ir-raw: remove BUG_ON in ir_raw_event_thread [media] kernel:kfifo: export __kfifo_max_r symbol
Sylwester Nawrocki (44):
[media] s5p-fimc: Don't use platform data for CSI data alignment configuration [media] s5p-fimc: Reinitialize the pipeline properly after VIDIOC_STREAMOFF [media] s5p-fimc: Simplify locking by removing the context data structure spinlock [media] s5p-fimc: Refactor hardware setup for m2m transaction [media] s5p-fimc: Remove unneeded fields from struct fimc_dev [media] s5p-fimc: Handle sub-device interdependencies using deferred probing [media] V4L: JPEG class documentation corrections
[media] s5p-fimc: Fix locking in subdev set_crop op
[media] V4L: Extend V4L2_CID_COLORFX with more image effects
[media] V4L: Add helper function for standard integer menu controls [media] V4L: Add camera exposure bias control
[media] V4L: Add an extended camera white balance control
[media] V4L: Add camera wide dynamic range control
[media] V4L: Add camera image stabilization control
[media] V4L: Add camera ISO sensitivity controls
[media] V4L: Add camera exposure metering control
[media] V4L: Add camera scene mode control
[media] V4L: Add camera 3A lock control
[media] V4L: Add camera auto focus controls
[media] m5mols: Convert macros to inline functions
[media] m5mols: Refactored controls handling
[media] m5mols: Use proper sensor mode for the controls
[media] m5mols: Add ISO sensitivity controls
[media] m5mols: Add auto and preset white balance control
[media] m5mols: Add exposure bias control
[media] m5mols: Add wide dynamic range control
[media] m5mols: Add image stabilization control
[media] m5mols: Add exposure metering control
[media] m5mols: Add JPEG compression quality control
[media] m5mols: Add 3A lock control
[media] V4L: JPEG class documentation corrections
[media] s5p-fimc: Avoid crash with null platform_data
[media] s5p-fimc: Move m2m node driver into separate file
[media] s5p-fimc: Use v4l2_subdev internal ops to register video nodes [media] s5p-fimc: Refactor the register interface functions
[media] s5p-fimc: Add FIMC-LITE register definitions
[media] s5p-fimc: Rework the video pipeline control functions [media] s5p-fimc: Prefix format enumerations with FIMC_FMT_
[media] s5p-fimc: Minor cleanups
[media] s5p-fimc: Make sure an interrupt is properly requested [media] s5p-fimc: Add support for Exynos4x12 FIMC-LITE
[media] s5p-fimc: Update copyright notices
[media] s5p-fimc: Add color effect control
[media] s5p-fimc: Use selection API in place of crop operations
Tim Gardner (2):
[media] staging: go7007: Add MODULE_FIRMWARE [media] video: vicam: Add MODULE_FIRMWARE
Tomasz Stanislawski (5):
[media] v4l: s5p-tv: mixer: fix compilation warning [media] v4l: s5p-tv: hdmiphy: add support for per-platform variants [media] v4l: s5p-tv: hdmi: parametrize DV timings [media] v4l: s5p-tv: hdmi: fix mode synchronization [media] v4l: s5p-tv: mixer: fix handling of interlaced modes
Uwe Kleine-König (1):
[media] s5p-tv: mark const init data with __initconst instead of __initdata
Volokh Konstantin (1):
[media] staging: media: go7007: Adlink MPG24 board issues
Xi Wang (3):
[media] v4l2-ctrls: fix integer overflow in v4l2_g_ext_ctrls() [media] v4l2-ctrls: fix integer overflow in try_set_ext_ctrls() [media] zoran: fix integer overflow in setup_window()
joseph daniel (2):
[media] staging/media/as102: removed else statements [media] staging/media/as102: remove version.h include at as102_fe.c
remi schwartz (1):
[media] patch for Asus My Cinema PS3-100 (1043:48cd)
Documentation/DocBook/media/Makefile | 4 +-
Documentation/DocBook/media/dvb/dvbproperty.xml | 160 ++
Documentation/DocBook/media/v4l/biblio.xml | 29 +
Documentation/DocBook/media/v4l/common.xml | 38 +-
Documentation/DocBook/media/v4l/compat.xml | 75 +
Documentation/DocBook/media/v4l/controls.xml | 708 +++++-
Documentation/DocBook/media/v4l/dev-subdev.xml | 202 ++-
Documentation/DocBook/media/v4l/io.xml | 12 +-
Documentation/DocBook/media/v4l/pixfmt-srggb10.xml | 2 +-
.../DocBook/media/v4l/pixfmt-srggb10dpcm8.xml | 29 +
Documentation/DocBook/media/v4l/pixfmt.xml | 6 +-
.../media/v4l/subdev-image-processing-crop.dia | 614 +++++
.../media/v4l/subdev-image-processing-crop.svg | 63 +
.../media/v4l/subdev-image-processing-full.dia | 1588 +++++++++++
.../media/v4l/subdev-image-processing-full.svg | 163 ++
...ubdev-image-processing-scaling-multi-source.dia | 1152 ++++++++
...ubdev-image-processing-scaling-multi-source.svg | 116 +
Documentation/DocBook/media/v4l/v4l2.xml | 44 +-
.../DocBook/media/v4l/vidioc-create-bufs.xml | 16 +-
Documentation/DocBook/media/v4l/vidioc-cropcap.xml | 4 +-
.../DocBook/media/v4l/vidioc-dv-timings-cap.xml | 211 ++
.../DocBook/media/v4l/vidioc-enum-dv-presets.xml | 4 +
.../DocBook/media/v4l/vidioc-enum-dv-timings.xml | 119 +
.../DocBook/media/v4l/vidioc-enum-fmt.xml | 4 +-
.../DocBook/media/v4l/vidioc-enuminput.xml | 2 +-
.../DocBook/media/v4l/vidioc-enumoutput.xml | 2 +-
Documentation/DocBook/media/v4l/vidioc-g-crop.xml | 4 +-
.../DocBook/media/v4l/vidioc-g-dv-preset.xml | 6 +
.../DocBook/media/v4l/vidioc-g-dv-timings.xml | 130 +-
.../DocBook/media/v4l/vidioc-g-ext-ctrls.xml | 26 +
Documentation/DocBook/media/v4l/vidioc-g-fmt.xml | 2 +-
.../DocBook/media/v4l/vidioc-g-frequency.xml | 6 +-
Documentation/DocBook/media/v4l/vidioc-g-parm.xml | 5 +-
.../DocBook/media/v4l/vidioc-g-sliced-vbi-cap.xml | 2 +-
Documentation/DocBook/media/v4l/vidioc-g-tuner.xml | 2 +-
.../DocBook/media/v4l/vidioc-prepare-buf.xml | 6 +
.../DocBook/media/v4l/vidioc-query-dv-preset.xml | 4 +
.../DocBook/media/v4l/vidioc-query-dv-timings.xml | 104 +
.../DocBook/media/v4l/vidioc-queryctrl.xml | 41 +-
Documentation/DocBook/media/v4l/vidioc-reqbufs.xml | 7 +-
.../DocBook/media/v4l/vidioc-s-hw-freq-seek.xml | 5 +-
.../DocBook/media/v4l/vidioc-subdev-g-crop.xml | 9 +-
.../media/v4l/vidioc-subdev-g-selection.xml | 228 ++
Documentation/dvb/get_dvb_firmware | 20 +-
Documentation/feature-removal-schedule.txt | 9 +
Documentation/media-framework.txt | 19 +
Documentation/video4linux/4CCs.txt | 32 +
Documentation/video4linux/gspca.txt | 1 +
Documentation/video4linux/v4l2-controls.txt | 21 +
Documentation/video4linux/v4l2-framework.txt | 106 +-
MAINTAINERS | 9 +-
arch/arm/mach-imx/mach-imx27_visstrim_m10.c | 2 +-
arch/arm/plat-mxc/include/mach/mx2_cam.h | 2 -
drivers/input/ff-memless.c | 3 +-
drivers/media/common/saa7146_fops.c | 126 +-
drivers/media/common/saa7146_hlp.c | 23 +-
drivers/media/common/saa7146_vbi.c | 54 +-
drivers/media/common/saa7146_video.c | 367 +--
drivers/media/common/tuners/Kconfig | 27 +
drivers/media/common/tuners/Makefile | 4 +
drivers/media/common/tuners/fc0011.c | 524 ++++
drivers/media/common/tuners/fc0011.h | 41 +
drivers/media/common/tuners/fc0012-priv.h | 43 +
drivers/media/common/tuners/fc0012.c | 467 ++++
drivers/media/common/tuners/fc0012.h | 44 +
drivers/media/common/tuners/fc0013-priv.h | 44 +
drivers/media/common/tuners/fc0013.c | 634 +++++
drivers/media/common/tuners/fc0013.h | 57 +
drivers/media/common/tuners/fc001x-common.h | 39 +
drivers/media/common/tuners/tua9001.c | 215 ++
drivers/media/common/tuners/tua9001.h | 46 +
drivers/media/common/tuners/tua9001_priv.h | 34 +
drivers/media/common/tuners/xc5000.c | 7 +-
drivers/media/common/tuners/xc5000.h | 2 +-
drivers/media/dvb/bt8xx/dst_ca.c | 2 -
drivers/media/dvb/ddbridge/ddbridge-core.c | 3 +-
drivers/media/dvb/dvb-core/dvb_demux.c | 10 +
drivers/media/dvb/dvb-core/dvb_demux.h | 2 +
drivers/media/dvb/dvb-core/dvb_frontend.c | 80 +-
drivers/media/dvb/dvb-core/dvb_frontend.h | 18 +
drivers/media/dvb/dvb-usb/Kconfig | 13 +
drivers/media/dvb/dvb-usb/Makefile | 3 +
drivers/media/dvb/dvb-usb/af9015.c | 495 ++--
drivers/media/dvb/dvb-usb/af9035.c | 1242 +++++++++
drivers/media/dvb/dvb-usb/af9035.h | 113 +
drivers/media/dvb/dvb-usb/dib0700_core.c | 24 +-
drivers/media/dvb/dvb-usb/dib0700_devices.c | 7 +-
drivers/media/dvb/dvb-usb/dvb-usb-ids.h | 12 +
drivers/media/dvb/dvb-usb/dvb-usb-urb.c | 12 +
drivers/media/dvb/dvb-usb/dvb-usb.h | 3 +-
drivers/media/dvb/dvb-usb/dw2102.c | 76 +-
drivers/media/dvb/dvb-usb/it913x.c | 4 +-
drivers/media/dvb/dvb-usb/lmedm04.c | 5 +-
drivers/media/dvb/dvb-usb/mxl111sf-tuner.c | 1 +
drivers/media/dvb/dvb-usb/mxl111sf.c | 872 ++++++-
drivers/media/dvb/dvb-usb/rtl28xxu.c | 28 +
drivers/media/dvb/frontends/Kconfig | 35 +-
drivers/media/dvb/frontends/Makefile | 7 +-
drivers/media/dvb/frontends/af9013.c | 13 +-
drivers/media/dvb/frontends/af9033.c | 980 +++++++
drivers/media/dvb/frontends/af9033.h | 75 +
drivers/media/dvb/frontends/af9033_priv.h | 470 ++++
drivers/media/dvb/frontends/au8522_common.c | 259 ++
drivers/media/dvb/frontends/au8522_dig.c | 215 --
drivers/media/dvb/frontends/au8522_priv.h | 2 +
drivers/media/dvb/frontends/cx24110.c | 7 +-
drivers/media/dvb/frontends/cxd2820r_core.c | 4 +-
drivers/media/dvb/frontends/dib7000p.c | 5 -
drivers/media/dvb/frontends/dib9000.c | 131 +-
drivers/media/dvb/frontends/drxd.h | 14 +
drivers/media/dvb/frontends/drxk_hard.c | 18 +-
drivers/media/dvb/frontends/drxk_map.h | 2 +
drivers/media/dvb/frontends/ds3000.c | 5 +-
drivers/media/dvb/frontends/it913x-fe.c | 26 +-
drivers/media/dvb/frontends/lg2160.c | 1468 ++++++++++
drivers/media/dvb/frontends/lg2160.h | 84 +
drivers/media/dvb/frontends/lgs8gxx.c | 3 +-
drivers/media/dvb/frontends/m88rs2000.c | 29 +-
drivers/media/dvb/frontends/rtl2830.c | 201 ++-
drivers/media/dvb/frontends/rtl2830_priv.h | 1 +
drivers/media/dvb/frontends/stb0899_drv.c | 8 +-
drivers/media/dvb/frontends/stb6100.c | 3 +-
drivers/media/dvb/frontends/stv0297.c | 2 -
drivers/media/dvb/frontends/stv0900_sw.c | 2 -
drivers/media/dvb/frontends/stv090x.c | 2 -
drivers/media/dvb/frontends/zl10353.c | 5 +-
drivers/media/dvb/mantis/hopper_cards.c | 3 +-
drivers/media/dvb/mantis/mantis_cards.c | 3 +-
drivers/media/dvb/mantis/mantis_dma.c | 4 -
drivers/media/dvb/mantis/mantis_evm.c | 3 +-
drivers/media/dvb/ngene/ngene-core.c | 4 +-
drivers/media/dvb/pluto2/pluto2.c | 8 -
drivers/media/dvb/siano/smssdio.c | 4 +-
drivers/media/dvb/siano/smsusb.c | 2 +
drivers/media/dvb/ttpci/av7110_v4l.c | 72 +-
drivers/media/dvb/ttpci/budget-av.c | 6 +-
drivers/media/media-entity.c | 57 +-
drivers/media/radio/Kconfig | 4 +-
drivers/media/radio/dsbr100.c | 528 ++---
drivers/media/radio/radio-gemtek.c | 25 +
drivers/media/radio/radio-isa.c | 173 +-
drivers/media/radio/radio-isa.h | 9 +
drivers/media/radio/radio-keene.c | 36 +-
drivers/media/radio/radio-mr800.c | 524 ++--
drivers/media/radio/radio-rtrack2.c | 1 +
drivers/media/radio/radio-sf16fmi.c | 14 +-
drivers/media/radio/radio-sf16fmr2.c | 144 +-
drivers/media/radio/radio-timb.c | 2 +-
drivers/media/radio/saa7706h.c | 2 +-
drivers/media/radio/si470x/radio-si470x-common.c | 305 +--
drivers/media/radio/si470x/radio-si470x-i2c.c | 65 +-
drivers/media/radio/si470x/radio-si470x-usb.c | 265 +-
drivers/media/radio/si470x/radio-si470x.h | 14 +-
drivers/media/radio/tef6862.c | 2 +-
drivers/media/radio/wl128x/fmdrv_v4l2.c | 4 +
drivers/media/rc/Kconfig | 1 +
drivers/media/rc/ati_remote.c | 146 +-
drivers/media/rc/fintek-cir.c | 13 +-
drivers/media/rc/imon.c | 2 +-
drivers/media/rc/ir-raw.c | 8 +-
drivers/media/rc/ir-sanyo-decoder.c | 4 +-
drivers/media/rc/ite-cir.c | 14 +-
drivers/media/rc/keymaps/Makefile | 3 +
drivers/media/rc/keymaps/rc-asus-ps3-100.c | 91 +
drivers/media/rc/keymaps/rc-it913x-v2.c | 2 +-
.../media/rc/keymaps/rc-medion-x10-digitainer.c | 123 +
drivers/media/rc/keymaps/rc-medion-x10-or2x.c | 108 +
drivers/media/rc/mceusb.c | 5 +-
drivers/media/rc/nuvoton-cir.c | 26 +-
drivers/media/rc/rc-loopback.c | 1 -
drivers/media/rc/redrat3.c | 2 +-
drivers/media/video/Kconfig | 48 +-
drivers/media/video/Makefile | 5 +-
drivers/media/video/adp1653.c | 9 +-
drivers/media/video/adv7180.c | 417 +++-
drivers/media/video/adv7343.c | 4 +-
drivers/media/video/aptina-pll.c | 5 +-
drivers/media/video/arv.c | 7 +-
drivers/media/video/as3645a.c | 10 +-
drivers/media/video/atmel-isi.c | 18 +-
drivers/media/video/au0828/Kconfig | 3 +-
drivers/media/video/au0828/au0828-cards.c | 2 +
drivers/media/video/au0828/au0828-dvb.c | 27 +-
drivers/media/video/au0828/au0828-video.c | 25 +-
drivers/media/video/blackfin/bfin_capture.c | 4 +
drivers/media/video/bt8xx/bttv-driver.c | 4 +-
drivers/media/video/bw-qcam.c | 132 +-
drivers/media/video/c-qcam.c | 140 +-
drivers/media/video/cpia2/cpia2.h | 34 +-
drivers/media/video/cpia2/cpia2_core.c | 142 +-
drivers/media/video/cpia2/cpia2_usb.c | 78 +-
drivers/media/video/cpia2/cpia2_v4l.c | 850 ++----
drivers/media/video/cpia2/cpia2dev.h | 50 -
drivers/media/video/cx18/cx18-alsa-main.c | 1 +
drivers/media/video/cx18/cx18-alsa-pcm.c | 10 +-
drivers/media/video/cx18/cx18-ioctl.c | 2 +-
drivers/media/video/cx18/cx18-mailbox.c | 6 +-
drivers/media/video/cx18/cx18-streams.c | 3 -
drivers/media/video/cx231xx/cx231xx-417.c | 18 +-
drivers/media/video/cx231xx/cx231xx-audio.c | 18 +-
drivers/media/video/cx231xx/cx231xx-avcore.c | 148 +-
drivers/media/video/cx231xx/cx231xx-core.c | 76 +-
drivers/media/video/cx231xx/cx231xx-vbi.c | 6 +-
drivers/media/video/cx231xx/cx231xx-video.c | 20 +-
drivers/media/video/cx23885/cx23885-cards.c | 9 +
drivers/media/video/cx23885/cx23885-core.c | 7 +
drivers/media/video/cx23885/cx23885-dvb.c | 7 +
drivers/media/video/cx23885/cx23885.h | 1 +
drivers/media/video/cx23885/cx23888-ir.c | 4 +-
drivers/media/video/cx25821/cx25821-alsa.c | 2 -
.../media/video/cx25821/cx25821-audio-upstream.c | 3 +-
drivers/media/video/cx25821/cx25821-core.c | 14 +-
drivers/media/video/cx25821/cx25821-i2c.c | 3 +-
drivers/media/video/cx25821/cx25821-medusa-video.c | 13 +-
.../video/cx25821/cx25821-video-upstream-ch2.c | 3 +-
.../media/video/cx25821/cx25821-video-upstream.c | 3 +-
drivers/media/video/cx25821/cx25821-video.c | 25 +-
drivers/media/video/cx25821/cx25821-video.h | 2 -
drivers/media/video/cx25840/cx25840-ir.c | 6 +-
drivers/media/video/davinci/Kconfig | 1 +
drivers/media/video/davinci/vpbe_display.c | 4 +
drivers/media/video/davinci/vpfe_capture.c | 2 +-
drivers/media/video/davinci/vpif_capture.c | 4 +
drivers/media/video/davinci/vpif_display.c | 4 +
drivers/media/video/em28xx/Kconfig | 4 +-
drivers/media/video/em28xx/Makefile | 5 +-
drivers/media/video/em28xx/em28xx-audio.c | 11 +-
drivers/media/video/em28xx/em28xx-cards.c | 81 +-
drivers/media/video/em28xx/em28xx-core.c | 30 +-
drivers/media/video/em28xx/em28xx-dvb.c | 11 +-
drivers/media/video/em28xx/em28xx-i2c.c | 3 -
drivers/media/video/em28xx/em28xx-input.c | 250 ++-
drivers/media/video/em28xx/em28xx-video.c | 13 +-
drivers/media/video/em28xx/em28xx.h | 60 +-
drivers/media/video/et61x251/Kconfig | 18 -
drivers/media/video/et61x251/Makefile | 4 -
drivers/media/video/et61x251/et61x251.h | 213 --
drivers/media/video/et61x251/et61x251_core.c | 2683 ------------------
drivers/media/video/et61x251/et61x251_sensor.h | 108 -
drivers/media/video/et61x251/et61x251_tas5130d1b.c | 143 -
drivers/media/video/fsl-viu.c | 4 +
drivers/media/video/gspca/Makefile | 2 +-
drivers/media/video/gspca/autogain_functions.c | 178 ++
drivers/media/video/gspca/autogain_functions.h | 6 +-
drivers/media/video/gspca/conex.c | 4 +-
drivers/media/video/gspca/finepix.c | 18 +-
drivers/media/video/gspca/gl860/gl860.c | 3 +
drivers/media/video/gspca/gspca.c | 545 ++---
drivers/media/video/gspca/gspca.h | 26 +-
drivers/media/video/gspca/jl2005bcd.c | 10 +-
drivers/media/video/gspca/mars.c | 292 +--
drivers/media/video/gspca/nw80x.c | 2 +
drivers/media/video/gspca/ov519.c | 10 +-
drivers/media/video/gspca/ov534.c | 146 +-
drivers/media/video/gspca/pac207.c | 336 +--
drivers/media/video/gspca/pac7302.c | 185 +-
drivers/media/video/gspca/pac7311.c | 505 ++---
drivers/media/video/gspca/sn9c20x.c | 594 ++---
drivers/media/video/gspca/sonixb.c | 2 +
drivers/media/video/gspca/sonixj.c | 5 +-
drivers/media/video/gspca/sq905.c | 12 +-
drivers/media/video/gspca/sq905c.c | 10 +-
drivers/media/video/gspca/stv06xx/stv06xx.c | 21 +-
drivers/media/video/gspca/stv06xx/stv06xx.h | 3 -
drivers/media/video/gspca/stv06xx/stv06xx_hdcs.c | 143 +-
drivers/media/video/gspca/stv06xx/stv06xx_hdcs.h | 7 +-
drivers/media/video/gspca/stv06xx/stv06xx_pb0100.c | 359 +--
drivers/media/video/gspca/stv06xx/stv06xx_pb0100.h | 12 +-
drivers/media/video/gspca/stv06xx/stv06xx_sensor.h | 4 +-
drivers/media/video/gspca/stv06xx/stv06xx_st6422.c | 236 +--
drivers/media/video/gspca/stv06xx/stv06xx_st6422.h | 4 +-
drivers/media/video/gspca/stv06xx/stv06xx_vv6410.c | 198 +-
drivers/media/video/gspca/stv06xx/stv06xx_vv6410.h | 8 +-
drivers/media/video/gspca/topro.c | 6 +-
drivers/media/video/gspca/vicam.c | 13 +-
drivers/media/video/gspca/zc3xx.c | 620 ++---
drivers/media/video/hdpvr/hdpvr-control.c | 2 +
drivers/media/video/hdpvr/hdpvr-video.c | 2 +-
drivers/media/video/hexium_gemini.c | 129 +-
drivers/media/video/hexium_orion.c | 24 +-
drivers/media/video/ivtv/ivtv-driver.c | 4 +-
drivers/media/video/ivtv/ivtv-fileops.c | 6 +-
drivers/media/video/ivtv/ivtv-ioctl.c | 8 +-
drivers/media/video/ivtv/ivtv-streams.c | 4 +
drivers/media/video/ivtv/ivtvfb.c | 2 +
drivers/media/video/m5mols/m5mols.h | 81 +-
drivers/media/video/m5mols/m5mols_capture.c | 11 +-
drivers/media/video/m5mols/m5mols_controls.c | 479 +++-
drivers/media/video/m5mols/m5mols_core.c | 93 +-
drivers/media/video/m5mols/m5mols_reg.h | 1 +
drivers/media/video/marvell-ccic/mcam-core.c | 1 -
drivers/media/video/mem2mem_testdev.c | 6 +-
drivers/media/video/meye.c | 2 +-
drivers/media/video/msp3400-driver.c | 15 +-
drivers/media/video/mt9m032.c | 4 +-
drivers/media/video/mt9p031.c | 161 +-
drivers/media/video/mt9t112.c | 1 +
drivers/media/video/mt9v032.c | 2 +-
drivers/media/video/mx1_camera.c | 14 +-
drivers/media/video/mx2_camera.c | 78 +-
drivers/media/video/mx2_emmaprp.c | 8 +-
drivers/media/video/mx3_camera.c | 41 +-
drivers/media/video/mxb.c | 351 ++--
drivers/media/video/mxb.h | 42 -
drivers/media/video/omap1_camera.c | 22 +-
drivers/media/video/omap24xxcam-dma.c | 20 +-
drivers/media/video/omap24xxcam.c | 3 +-
drivers/media/video/omap24xxcam.h | 14 +-
drivers/media/video/omap3isp/isp.c | 59 +-
drivers/media/video/omap3isp/isp.h | 8 +-
drivers/media/video/omap3isp/ispccdc.c | 256 ++-
drivers/media/video/omap3isp/ispccdc.h | 12 +-
drivers/media/video/omap3isp/ispccp2.c | 24 +-
drivers/media/video/omap3isp/ispcsi2.c | 21 +-
drivers/media/video/omap3isp/ispcsi2.h | 1 -
drivers/media/video/omap3isp/ispcsiphy.c | 4 +-
drivers/media/video/omap3isp/ispcsiphy.h | 15 +-
drivers/media/video/omap3isp/isppreview.c | 634 +++--
drivers/media/video/omap3isp/isppreview.h | 76 +-
drivers/media/video/omap3isp/ispqueue.h | 2 +-
drivers/media/video/omap3isp/ispresizer.c | 139 +-
drivers/media/video/omap3isp/ispstat.c | 2 +-
drivers/media/video/omap3isp/ispvideo.c | 303 ++-
drivers/media/video/omap3isp/ispvideo.h | 5 +
drivers/media/video/ov5642.c | 2 -
drivers/media/video/pms.c | 239 +-
drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h | 6 +-
drivers/media/video/pvrusb2/pvrusb2-hdw.c | 193 +--
drivers/media/video/pvrusb2/pvrusb2-hdw.h | 9 +-
drivers/media/video/pvrusb2/pvrusb2-v4l2.c | 1343 +++++-----
drivers/media/video/pwc/pwc-if.c | 191 +-
drivers/media/video/pwc/pwc-v4l.c | 145 +-
drivers/media/video/pwc/pwc.h | 21 +-
drivers/media/video/pxa_camera.c | 15 +-
drivers/media/video/s2255drv.c | 11 +-
drivers/media/video/s5p-fimc/Kconfig | 48 +
drivers/media/video/s5p-fimc/Makefile | 6 +-
drivers/media/video/s5p-fimc/fimc-capture.c | 506 +++--
drivers/media/video/s5p-fimc/fimc-core.c | 1159 ++-------
drivers/media/video/s5p-fimc/fimc-core.h | 272 +--
drivers/media/video/s5p-fimc/fimc-lite-reg.c | 300 ++
drivers/media/video/s5p-fimc/fimc-lite-reg.h | 150 +
drivers/media/video/s5p-fimc/fimc-lite.c | 1576 +++++++++++
drivers/media/video/s5p-fimc/fimc-lite.h | 213 ++
drivers/media/video/s5p-fimc/fimc-m2m.c | 824 ++++++
drivers/media/video/s5p-fimc/fimc-mdevice.c | 476 +++-
drivers/media/video/s5p-fimc/fimc-mdevice.h | 18 +-
drivers/media/video/s5p-fimc/fimc-reg.c | 616 +++--
drivers/media/video/s5p-fimc/fimc-reg.h | 326 +++
drivers/media/video/s5p-fimc/mipi-csis.c | 21 +-
drivers/media/video/s5p-fimc/regs-fimc.h | 301 --
drivers/media/video/s5p-g2d/g2d.c | 69 +-
drivers/media/video/s5p-g2d/g2d.h | 1 -
drivers/media/video/s5p-jpeg/jpeg-core.c | 68 +-
drivers/media/video/s5p-jpeg/jpeg-core.h | 2 -
drivers/media/video/s5p-mfc/s5p_mfc.c | 81 +-
drivers/media/video/s5p-mfc/s5p_mfc_common.h | 2 -
drivers/media/video/s5p-mfc/s5p_mfc_ctrl.c | 16 +-
drivers/media/video/s5p-mfc/s5p_mfc_enc.c | 6 +-
drivers/media/video/s5p-mfc/s5p_mfc_opr.c | 28 +-
drivers/media/video/s5p-tv/hdmi_drv.c | 480 ++--
drivers/media/video/s5p-tv/hdmiphy_drv.c | 225 ++-
drivers/media/video/s5p-tv/mixer.h | 3 +-
drivers/media/video/s5p-tv/mixer_drv.c | 2 +-
drivers/media/video/s5p-tv/mixer_reg.c | 15 +-
drivers/media/video/s5p-tv/mixer_video.c | 10 +-
drivers/media/video/s5p-tv/regs-hdmi.h | 1 +
drivers/media/video/saa7134/saa7134-cards.c | 45 +
drivers/media/video/saa7134/saa7134-dvb.c | 39 +
drivers/media/video/saa7134/saa7134-input.c | 7 +
drivers/media/video/saa7134/saa7134-video.c | 2 +-
drivers/media/video/saa7134/saa7134.h | 1 +
drivers/media/video/saa7164/saa7164-vbi.c | 4 +-
drivers/media/video/saa7164/saa7164.h | 5 -
drivers/media/video/sh_mobile_ceu_camera.c | 92 +-
drivers/media/video/sh_vou.c | 4 +
drivers/media/video/smiapp-pll.c | 418 +++
drivers/media/video/smiapp-pll.h | 103 +
drivers/media/video/smiapp/Kconfig | 6 +
drivers/media/video/smiapp/Makefile | 5 +
drivers/media/video/smiapp/smiapp-core.c | 2894 ++++++++++++++++++++
drivers/media/video/smiapp/smiapp-limits.c | 132 +
drivers/media/video/smiapp/smiapp-limits.h | 128 +
drivers/media/video/smiapp/smiapp-quirk.c | 306 +++
drivers/media/video/smiapp/smiapp-quirk.h | 83 +
drivers/media/video/smiapp/smiapp-reg-defs.h | 503 ++++
drivers/media/video/smiapp/smiapp-reg.h | 122 +
drivers/media/video/smiapp/smiapp-regs.c | 273 ++
drivers/media/video/smiapp/smiapp-regs.h | 49 +
drivers/media/video/smiapp/smiapp.h | 252 ++
drivers/media/video/sn9c102/sn9c102_core.c | 4 +-
drivers/media/video/soc_camera.c | 55 +-
drivers/media/video/soc_mediabus.c | 54 +
drivers/media/video/sta2x11_vip.c | 1550 +++++++++++
drivers/media/video/sta2x11_vip.h | 40 +
drivers/media/video/stk-webcam.c | 8 +-
drivers/media/video/tda9840.c | 75 +-
drivers/media/video/tlg2300/pd-video.c | 1 -
drivers/media/video/tm6000/tm6000-input.c | 3 +-
drivers/media/video/tm6000/tm6000-stds.c | 2 -
drivers/media/video/tm6000/tm6000-video.c | 14 +-
drivers/media/video/tm6000/tm6000.h | 2 -
drivers/media/video/tuner-core.c | 15 +-
drivers/media/video/tvp5150.c | 11 +-
drivers/media/video/tvp7002.c | 105 +-
drivers/media/video/usbvision/usbvision-core.c | 12 +-
drivers/media/video/usbvision/usbvision-video.c | 4 +
drivers/media/video/uvc/uvc_ctrl.c | 330 ++-
drivers/media/video/uvc/uvc_queue.c | 43 +-
drivers/media/video/uvc/uvc_v4l2.c | 50 +-
drivers/media/video/uvc/uvcvideo.h | 26 +-
drivers/media/video/v4l2-compat-ioctl32.c | 15 +-
drivers/media/video/v4l2-ctrls.c | 302 ++-
drivers/media/video/v4l2-dev.c | 218 ++-
drivers/media/video/v4l2-event.c | 71 +-
drivers/media/video/v4l2-ioctl.c | 662 ++---
drivers/media/video/v4l2-subdev.c | 143 +-
drivers/media/video/via-camera.c | 15 +-
drivers/media/video/videobuf-core.c | 3 +-
drivers/media/video/videobuf-dma-contig.c | 199 +-
drivers/media/video/videobuf-dvb.c | 3 +-
drivers/media/video/videobuf2-core.c | 50 +-
drivers/media/video/vivi.c | 223 ++-
drivers/media/video/w9966.c | 94 +-
drivers/media/video/zoran/zoran_device.c | 2 -
drivers/media/video/zoran/zoran_driver.c | 20 +-
drivers/media/video/zr364xx.c | 2 -
drivers/staging/android/ashmem.c | 2 +-
drivers/staging/media/as102/as102_fe.c | 2 -
drivers/staging/media/as102/as102_fw.c | 5 +-
drivers/staging/media/as102/as10x_cmd.c | 28 +-
drivers/staging/media/dt3155v4l/dt3155v4l.c | 4 +
drivers/staging/media/easycap/easycap_main.c | 1662 ++++++-----
drivers/staging/media/go7007/go7007-v4l2.c | 2 -
drivers/staging/media/go7007/s2250-loader.c | 2 +
drivers/staging/media/lirc/lirc_imon.c | 4 -
drivers/staging/media/lirc/lirc_sasem.c | 4 -
drivers/usb/gadget/uvc_queue.c | 2 +-
drivers/usb/gadget/uvc_v4l2.c | 2 +-
include/linux/Kbuild | 1 +
include/linux/dvb/frontend.h | 51 +-
include/linux/dvb/version.h | 2 +-
{drivers/input => include/linux}/fixp-arith.h | 0
include/linux/v4l2-dv-timings.h | 816 ++++++
include/linux/v4l2-subdev.h | 41 +
include/linux/videodev2.h | 372 ++-
include/media/media-entity.h | 5 +-
include/media/mt9p031.h | 19 +-
include/media/omap3isp.h | 29 +
include/media/rc-map.h | 3 +
include/media/s5p_fimc.h | 16 +
include/media/saa7146.h | 4 +-
include/media/saa7146_vv.h | 25 +-
include/media/sh_mobile_ceu.h | 1 +
include/media/smiapp.h | 84 +
include/media/soc_camera.h | 6 +-
include/media/soc_mediabus.h | 21 +
include/media/v4l2-ctrls.h | 40 +-
include/media/v4l2-dev.h | 25 +
include/media/v4l2-event.h | 24 +-
include/media/v4l2-ioctl.h | 6 +
include/media/v4l2-subdev.h | 55 +-
include/media/videobuf-dma-contig.h | 10 +
kernel/kfifo.c | 1 +
sound/i2c/other/tea575x-tuner.c | 3 +
465 files changed, 39196 insertions(+), 16784 deletions(-)
create mode 100644 Documentation/DocBook/media/v4l/pixfmt-srggb10dpcm8.xml
create mode 100644 Documentation/DocBook/media/v4l/subdev-image-processing-crop.dia
create mode 100644 Documentation/DocBook/media/v4l/subdev-image-processing-crop.svg
create mode 100644 Documentation/DocBook/media/v4l/subdev-image-processing-full.dia
create mode 100644 Documentation/DocBook/media/v4l/subdev-image-processing-full.svg
create mode 100644 Documentation/DocBook/media/v4l/subdev-image-processing-scaling-multi-source.dia
create mode 100644 Documentation/DocBook/media/v4l/subdev-image-processing-scaling-multi-source.svg
create mode 100644 Documentation/DocBook/media/v4l/vidioc-dv-timings-cap.xml
create mode 100644 Documentation/DocBook/media/v4l/vidioc-enum-dv-timings.xml
create mode 100644 Documentation/DocBook/media/v4l/vidioc-query-dv-timings.xml
create mode 100644 Documentation/DocBook/media/v4l/vidioc-subdev-g-selection.xml
create mode 100644 Documentation/video4linux/4CCs.txt
create mode 100644 drivers/media/common/tuners/fc0011.c
create mode 100644 drivers/media/common/tuners/fc0011.h
create mode 100644 drivers/media/common/tuners/fc0012-priv.h
create mode 100644 drivers/media/common/tuners/fc0012.c
create mode 100644 drivers/media/common/tuners/fc0012.h
create mode 100644 drivers/media/common/tuners/fc0013-priv.h
create mode 100644 drivers/media/common/tuners/fc0013.c
create mode 100644 drivers/media/common/tuners/fc0013.h
create mode 100644 drivers/media/common/tuners/fc001x-common.h
create mode 100644 drivers/media/common/tuners/tua9001.c
create mode 100644 drivers/media/common/tuners/tua9001.h
create mode 100644 drivers/media/common/tuners/tua9001_priv.h
create mode 100644 drivers/media/dvb/dvb-usb/af9035.c
create mode 100644 drivers/media/dvb/dvb-usb/af9035.h
create mode 100644 drivers/media/dvb/frontends/af9033.c
create mode 100644 drivers/media/dvb/frontends/af9033.h
create mode 100644 drivers/media/dvb/frontends/af9033_priv.h
create mode 100644 drivers/media/dvb/frontends/au8522_common.c
create mode 100644 drivers/media/dvb/frontends/lg2160.c
create mode 100644 drivers/media/dvb/frontends/lg2160.h
create mode 100644 drivers/media/rc/keymaps/rc-asus-ps3-100.c
create mode 100644 drivers/media/rc/keymaps/rc-medion-x10-digitainer.c
create mode 100644 drivers/media/rc/keymaps/rc-medion-x10-or2x.c
delete mode 100644 drivers/media/video/cpia2/cpia2dev.h
delete mode 100644 drivers/media/video/et61x251/Kconfig
delete mode 100644 drivers/media/video/et61x251/Makefile
delete mode 100644 drivers/media/video/et61x251/et61x251.h
delete mode 100644 drivers/media/video/et61x251/et61x251_core.c
delete mode 100644 drivers/media/video/et61x251/et61x251_sensor.h
delete mode 100644 drivers/media/video/et61x251/et61x251_tas5130d1b.c
create mode 100644 drivers/media/video/gspca/autogain_functions.c
delete mode 100644 drivers/media/video/mxb.h
create mode 100644 drivers/media/video/s5p-fimc/Kconfig
create mode 100644 drivers/media/video/s5p-fimc/fimc-lite-reg.c
create mode 100644 drivers/media/video/s5p-fimc/fimc-lite-reg.h
create mode 100644 drivers/media/video/s5p-fimc/fimc-lite.c
create mode 100644 drivers/media/video/s5p-fimc/fimc-lite.h
create mode 100644 drivers/media/video/s5p-fimc/fimc-m2m.c
create mode 100644 drivers/media/video/s5p-fimc/fimc-reg.h
delete mode 100644 drivers/media/video/s5p-fimc/regs-fimc.h
create mode 100644 drivers/media/video/smiapp-pll.c
create mode 100644 drivers/media/video/smiapp-pll.h
create mode 100644 drivers/media/video/smiapp/Kconfig
create mode 100644 drivers/media/video/smiapp/Makefile
create mode 100644 drivers/media/video/smiapp/smiapp-core.c
create mode 100644 drivers/media/video/smiapp/smiapp-limits.c
create mode 100644 drivers/media/video/smiapp/smiapp-limits.h
create mode 100644 drivers/media/video/smiapp/smiapp-quirk.c
create mode 100644 drivers/media/video/smiapp/smiapp-quirk.h
create mode 100644 drivers/media/video/smiapp/smiapp-reg-defs.h
create mode 100644 drivers/media/video/smiapp/smiapp-reg.h
create mode 100644 drivers/media/video/smiapp/smiapp-regs.c
create mode 100644 drivers/media/video/smiapp/smiapp-regs.h
create mode 100644 drivers/media/video/smiapp/smiapp.h
create mode 100644 drivers/media/video/sta2x11_vip.c
create mode 100644 drivers/media/video/sta2x11_vip.h
rename {drivers/input => include/linux}/fixp-arith.h (100%)
create mode 100644 include/linux/v4l2-dv-timings.h
create mode 100644 include/media/smiapp.hQuoted 5 lines · Mauro Carvalho Chehab
Hi Linus,
Please pull from:
git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-mediav4l_for_linus
Quoted 13 lines
For a series of patches for 3.5, including:
- some V4L2 API updates needed by embedded devices;
- DVB API extensions for ATSC-MH delivery system, used in US for mobile TV;
- new tuners for fc0011/0012/0013 and tua9001;
- a new dvb driver for af9033/9035;
- a new ATSC-MH frontend (lg2160);
- new remote controller keymaps;
- Removal of a few legacy webcam driver that got replaced by gspca on several kernel versions ago;
- a new driver for Exynos 4/5 webcams(s5pp fimc-lite);
- a new webcam sensor driver (smiapp);
- a new video input driver for embedded (sta2x1xx);
- several improvements, fixes, cleanups, etc inside the drivers.
Mauro,
Are you planning to PULL-request another set for the Kernel 3.5?
I wonder if it is possible to get in Thomas Mair Realtek RTL2832 DVB-T demod driver which adds support for few RTL2832U based designs.
http://patchwork.linuxtv.org/patch/11319/
http://patchwork.linuxtv.org/patch/11320/
http://patchwork.linuxtv.org/patch/11321/
http://patchwork.linuxtv.org/patch/11322/
http://patchwork.linuxtv.org/patch/11323/
regards
Antti
Signature · 1 line
http://palosaari.fi/
Hi Mauro,
Quoted 7 lines · Mauro Carvalho Chehab
Ezequiel Garcia (2):
[media] em28xx: Makecard_setup()andpre_card_setup()static [media] em28xx: Remove unusedlist_headstruct for queued buffersEzequiel García (19):
[media] em28xx: Remove redundantdev->ctl_inputset [media] em28xx: Export em28xx_[read,write]_reg functions asSYMBOL_GPL
Looks like I have a clone ;)
I wasn't sure how to handle the accentuated "i" in García. Perhaps this change obeys the fact in some point, I changed the way gmail sends my name.
I have always signed-off as Garcia (non accentuated), despite being wrong.
It's not really important, right?
Hi Ezequiel,
Em 24-05-2012 13:33, Ezequiel Garcia escreveu:
Quoted 8 lines
Hi Mauro,
Quoted 4 lines · Mauro Carvalho Chehab
Ezequiel Garcia (2):
[media] em28xx: Makecard_setup()andpre_card_setup()static [media] em28xx: Remove unusedlist_headstruct for queued buffers
Quoted 5 lines
Quoted 3 lines
Ezequiel García (19):
[media] em28xx: Remove redundantdev->ctl_inputset [media] em28xx: Export em28xx_[read,write]_reg functions asSYMBOL_GPLLooks like I have a clone ;)
:)
Quoted 3 lines
I wasn't sure how to handle the accentuated "i" in García. Perhaps this change obeys the fact in some point, I changed the way gmail sends my name.
The from: comes from the email header, so if you changed it on your emailer, it will affect the way it will be handled.
Quoted 3 lines
I have always signed-off as Garcia (non accentuated), despite being wrong.
It's not really important, right?
No, this is not relevant. It is not uncommon that the from: line is not matching the signed-off-by line, due to lowercase/upserspace and accents, among other issues.
Regards,
Mauro
Btw, I only noticed now, because I normally don't build DVB on my main machine with "oldconfig" - why the hell does DVB add tuners with "default m"?
Why would *anybody* with an old config ever want to get those new drivers as modules?
Get rid of all the stupid
default m if DVB_FE_CUSTOMISE
because there's no reason for them. If somebody wants that module, they can damn well press the 'm' button. There's absolutely no reason for it to default to on.
This is true of *all* drivers. No driver (and certainly DVB is not at all an exception) is so important that it should be "default m" (or y).
There are a few valid reasons to use "default m/y", but I don't see that that is the case here:
- if you have an *existing* driver that got split up, and "make
oldconfig" with that old driver enabled would result in it no longer supporting the same capability, then a
default OLD_DRIVER_WAS_ENABLED
is appropriate - it makes "oldconfig" work the way people expect it to work.
But this is only when that piece of hardware used to be supported
already, it's irrelevant for new hardware.
- if it's *such* a basic piece of hardware that you simply don't want
to bother the user with an insane default. Like supporting an ATKBD driver on a PC etc.
This simply isn't true for media devices.
So stop doing the silly "enable this driver by default for old configurations". It's *wrong*.
Linus
Hi Linus,
Em 24-05-2012 17:42, Linus Torvalds escreveu:
Quoted 33 lines
Btw, I only noticed now, because I normally don't build DVB on my main machine with "oldconfig" - why the hell does DVB add tuners with "default m"?
Why would *anybody* with an old config ever want to get those new drivers as modules?
Get rid of all the stupid
default m if
DVB_FE_CUSTOMISEbecause there's no reason for them. If somebody wants that module, they can damn well press the 'm' button. There's absolutely no reason for it to default to on.
This is true of *all* drivers. No driver (and certainly DVB is not at all an exception) is so important that it should be "default m" (or y).
There are a few valid reasons to use "default m/y", but I don't see that that is the case here:
- if you have an *existing* driver that got split up, and "make
oldconfig" with that old driver enabled would result in it no longer supporting the same capability, then adefault
OLD_DRIVER_WAS_ENABLEDis appropriate - it makes "oldconfig" work the way people expect it to work.
But this is only when that piece of hardware used to be supported
already, it's irrelevant for new hardware.
Quoted 8 lines
- if it's *such* a basic piece of hardware that you simply don't want
to bother the user with an insane default. Like supporting an ATKBD driver on a PC etc.This simply isn't true for media devices.
So stop doing the silly "enable this driver by default for old configurations". It's *wrong*.
For a DVB driver to work, it is generally required to select 3 drivers:
a bridge driver, a tuner driver and a demodulator driver.
The Kconfig default for DVB_FE_CUSTOMISE is 'n'. So, if no DVB bridge is selected, nothing will be compiled.
The same bridge driver can be used with several different tuner and demods. On almost all cases, the tuner and demod drivers are connected via an I2C bus.
The Kconfig logic was built in a way that, when a bridge driver is selected, all the drivers that might be required will also be selected.
For example:
config DVB_USB_DIB0700
tristate "DiBcom DiB0700 USB DVB devices (see help for supported devices)" depends on DVB_USB
select DVB_DIB7000P if !DVB_FE_CUSTOMISE
select DVB_DIB7000M if !DVB_FE_CUSTOMISE
select DVB_DIB8000 if !DVB_FE_CUSTOMISE
select DVB_DIB3000MC if !DVB_FE_CUSTOMISE
select DVB_S5H1411 if !DVB_FE_CUSTOMISE
select DVB_LGDT3305 if !DVB_FE_CUSTOMISE
select DVB_TUNER_DIB0070 if !DVB_FE_CUSTOMISE
select DVB_TUNER_DIB0090 if !DVB_FE_CUSTOMISE
select MEDIA_TUNER_MT2060 if !MEDIA_TUNER_CUSTOMISE
select MEDIA_TUNER_MT2266 if !MEDIA_TUNER_CUSTOMISE
select MEDIA_TUNER_XC2028 if !MEDIA_TUNER_CUSTOMISE
select MEDIA_TUNER_XC5000 if !MEDIA_TUNER_CUSTOMISE
select MEDIA_TUNER_XC4000 if !MEDIA_TUNER_CUSTOMISE
select MEDIA_TUNER_MXL5007T if !MEDIA_TUNER_CUSTOMISE
This driver supports 82 different types of devices. When this driver is selected, all supported variants of tuners and frontends are selected, meaning that any of the 82 types will work.
Keeping DVB_FE_CUSTOMISE not set is the recommended way, as the options DVB_FE_CUSTOMISE and MEDIA_TUNER_CUSTOMISE are there only to allow advanced users to disable the devices that aren't needed.
For example, one of the ISDB-T devices I have here requires only those drivers to work:
DVB_USB_DIB0700 - USB bridge and I2C controller
DVB_DIB8000 - ISDB-T demodulator
DVB_TUNER_DIB0070 - the PLL tuner driver
If just DVB_USB_DIB0700 is selected, the bridge driver will be loaded, but no DVB devices will appear, as the driver won't initialize properly.
On the other hand, if those tree modules are selected, the remaining tuners/demods can be disabled, as the bridge driver won't require them.
So, this is an option that it is useful for embedded systems, where there's just one specific hardware model to be used.
So, in order to avoid non embedded/advanced users that might enable DVB_FE_CUSTOMISE by mistake to generate lots of not-a-bug bugzillas, when the DVB customise options are enabled, all I2C modules are selected by default, using the "default m if DVB_FE_CUSTOMISE" logic.
So, I think that, in this specific case, the "default m if DVB_FE_CUSTOMISE" makes sense.
Regards,
Mauro
Quoted 3 lines · Mauro Carvalho Chehab
The
Kconfigdefault forDVB_FE_CUSTOMISEis 'n'. So, if no DVB bridge is selected, nothing will be compiled.
Sadly, it looks like the default for distro kernels is 'y'.
Which means that if you start with a distro kernel config, and then try to cut it down to match your system, you end up screwed in the future - all the new hardware will default to on.
At least that's how I noticed it. Very annoying.
Linus
Em 24-05-2012 19:40, Linus Torvalds escreveu:
Quoted 7 lines
Quoted 3 lines · Mauro Carvalho Chehab
The
Kconfigdefault forDVB_FE_CUSTOMISEis 'n'. So, if no DVB bridge is selected, nothing will be compiled.Sadly, it looks like the default for distro kernels is 'y'.
I'll change the default on Fedora (f16/f17/rawhide).
Quoted 5 lines
Which means that if you start with a distro kernel config, and then try to cut it down to match your system, you end up screwed in the future - all the new hardware will default to on.
At least that's how I noticed it. Very annoying.
A simple way to solve it seems to make those options dependent on CONFIG_EXPERT.
Not sure if all usual distributions disable it, but I guess most won't have EXPERT enabled.
The enclosed patch does that. If nobody complains, I'll submit it together with the next git pull request.
Regards,
Mauro
-
[RFC PATCH] Make tuner/frontend options dependent on EXPERT
The media CUSTOMISE options are there to allow embedded systems and advanced users to disable tuner/frontends that are supported by a bridge driver to be disabled, in order to save some disk space and memory, when compiled builtin.
However, distros are mistakenly enabling it, causing problems when a make oldconfig is used.
Make those options dependent on EXPERT, in order to avoid such annoyance behavior.
drivers/media/common/tuners/Kconfig +1 -0
@@ -35,6 +35,7 @@ config MEDIA_TUNER config MEDIA_TUNER_CUSTOMISE bool "Customize analog and hybrid tuner modules to build" depends on MEDIA_TUNER + depends on EXPERT default y if EXPERT help This allows the user to deselect tuner drivers unnecessary
drivers/media/dvb/frontends/Kconfig +1 -0
@@ -1,6 +1,7 @@ config DVB_FE_CUSTOMISE bool "Customise the frontend modules to build" depends on DVB_CORE + depends on EXPERT default y if EXPERT help This allows the user to select/deselect frontend drivers for their
25.05.2012 15:12, Mauro Carvalho Chehab kirjoitti:
Quoted 48 lines
Em 24-05-2012 19:40, Linus Torvalds escreveu:
Quoted 7 lines
Quoted 3 lines · Mauro Carvalho Chehab
The
Kconfigdefault forDVB_FE_CUSTOMISEis 'n'. So, if no DVB bridge is selected, nothing will be compiled.Sadly, it looks like the default for distro kernels is 'y'.
I'll change the default on Fedora (f16/f17/rawhide).
Quoted 5 lines
Which means that if you start with a distro kernel config, and then try to cut it down to match your system, you end up screwed in the future - all the new hardware will default to on.
At least that's how I noticed it. Very annoying.
A simple way to solve it seems to make those options dependent on
CONFIG_EXPERT.Not sure if all usual distributions disable it, but I guess most won't have EXPERT enabled.
The enclosed patch does that. If nobody complains, I'll submit it together with the next git pull request.
Regards,
Mauro-
[RFC PATCH] Make tuner/frontend options dependent on EXPERT
The media CUSTOMISE options are there to allow embedded systems and advanced users to disable tuner/frontends that are supported by a bridge driver to be disabled, in order to save some disk space and memory, when compiled builtin.
However, distros are mistakenly enabling it, causing problems when a make oldconfig is used.
Make those options dependent on EXPERT, in order to avoid such annoyance behavior.
Signed-off-by Mauro Carvalho Chehab <[email protected]>drivers/media/common/tuners/Kconfig +0
-0
drivers/media/common/tuners/Kconfig config MEDIA_TUNER · line 39
Quoted 5 lines
drivers/media/common/tuners/Kconfig +1
-0@@ -35,6 +35,7 @@ config MEDIA_TUNER config MEDIA_TUNER_CUSTOMISE bool "Customize analog and hybrid tuner modules to build" depends on MEDIA_TUNER + depends on EXPERT default y if EXPERT
^^^^^^^^^^^^^^^^^^^
Hmm, why should CONFIG_EXPERT automatically mean that the tuner modules should be customized? I'd think this shouldn't default to y even with EXPERT.
Not a biggie, just thought I'd point it out :)
(as a sidenote, on Mageia kernels CONFIG_EXPERT is on... didn't check why, could be just historical reasons)
drivers/media/dvb/frontends/Kconfig line 5
Quoted 12 lines
drivers/media/common/tuners/Kconfig +0
-0help This allows the user to deselect tuner drivers unnecessarydrivers/media/dvb/frontends/Kconfig +1
-0@@ -1,6 +1,7 @@ config DVB_FE_CUSTOMISE bool "Customise the frontend modules to build" depends on DVB_CORE + depends on EXPERT default y if EXPERT
Ditto.
Quoted 2 lines
drivers/media/dvb/frontends/Kconfig +0
-0help This allows the user to select/deselect frontend drivers for their
Signature · 1 line
Anssi Hannula
Em 25-05-2012 11:49, Anssi Hannula escreveu:
Quoted 65 lines
25.05.2012 15:12, Mauro Carvalho Chehab kirjoitti:
Quoted 48 lines
Em 24-05-2012 19:40, Linus Torvalds escreveu:
Quoted 7 lines
Quoted 3 lines · Mauro Carvalho Chehab
The
Kconfigdefault forDVB_FE_CUSTOMISEis 'n'. So, if no DVB bridge is selected, nothing will be compiled.Sadly, it looks like the default for distro kernels is 'y'.
I'll change the default on Fedora (f16/f17/rawhide).
Quoted 5 lines
Which means that if you start with a distro kernel config, and then try to cut it down to match your system, you end up screwed in the future - all the new hardware will default to on.
At least that's how I noticed it. Very annoying.
A simple way to solve it seems to make those options dependent on
CONFIG_EXPERT.Not sure if all usual distributions disable it, but I guess most won't have EXPERT enabled.
The enclosed patch does that. If nobody complains, I'll submit it together with the next git pull request.
Regards,
Mauro-
[RFC PATCH] Make tuner/frontend options dependent on EXPERT
The media CUSTOMISE options are there to allow embedded systems and advanced users to disable tuner/frontends that are supported by a bridge driver to be disabled, in order to save some disk space and memory, when compiled builtin.
However, distros are mistakenly enabling it, causing problems when a make oldconfig is used.
Make those options dependent on EXPERT, in order to avoid such annoyance behavior.
Signed-off-by Mauro Carvalho Chehab <[email protected]>drivers/media/common/tuners/Kconfig +0
-0drivers/media/common/tuners/Kconfig config MEDIA_TUNER · line 39
Quoted 5 lines
drivers/media/common/tuners/Kconfig +1
-0@@ -35,6 +35,7 @@ config MEDIA_TUNER config MEDIA_TUNER_CUSTOMISE bool "Customize analog and hybrid tuner modules to build" depends on MEDIA_TUNER + depends on EXPERT default y if EXPERT^^^^^^^^^^^^^^^^^^^Hmm, why should
CONFIG_EXPERTautomatically mean that the tuner modules should be customized? I'd think this shouldn't default to y even with EXPERT.Not a biggie, just thought I'd point it out :)
(as a sidenote, on Mageia kernels
CONFIG_EXPERTis on... didn't check why, could be just historical reasons)
Quoted 18 lines
drivers/media/dvb/frontends/Kconfig line 5
Quoted 12 lines
drivers/media/common/tuners/Kconfig +0
-0help This allows the user to deselect tuner drivers unnecessarydrivers/media/dvb/frontends/Kconfig +1
-0@@ -1,6 +1,7 @@ config DVB_FE_CUSTOMISE bool "Customise the frontend modules to build" depends on DVB_CORE + depends on EXPERT default y if EXPERTDitto.
Quoted 2 lines
drivers/media/dvb/frontends/Kconfig +0
-0help This allows the user to select/deselect frontend drivers for their
This was added on the changeset b3fc1782c8 (see below). A latter changeset (6a108a14fa3) renamed EMBEDDED to EXPERT.
For embedded systems, it makes more sense to customize the tuners/demods, in order to remove drivers that would never be used there. That's the rationale behind this patch.
Quoted 1 line
From my side, I don't mind removing the "default y if EXPERT", but, as I don't usually
work with embedded devices, I don't care much about that. It would be great to hear some comments from embedded people about that as well.
That's said, it is weird that Mageia is using CONFIG_EXPERT. Are they using those two Kconfig options enabled as well?
Regards,
Mauro
-
commit b3fc1782c8b84574e44cf5869c9afa75523e2db8
Author: Guennadi Liakhovetski <[email protected]> Date: Thu Aug 5 18:09:28 2010 -0300
V4L/DVB: V4L: do not autoselect components on embedded systems
Tuner, DVB frontend and video helper chip drivers are by default autoselected by their respective host cards, this, however, doesn't make much sense on SoC-based systems. Disable autoselection on EMBEDDED systems.
drivers/media/common/tuners/Kconfig +1 -1
@@ -34,7 +34,7 @@ config MEDIA_TUNER menuconfig MEDIA_TUNER_CUSTOMISE bool "Customize analog and hybrid tuner modules to build" depends on MEDIA_TUNER - default n + default y if EMBEDDED help This allows the user to deselect tuner drivers unnecessary for their hardware from the build. Use this option with care
drivers/media/dvb/frontends/Kconfig +1 -1
@@ -1,7 +1,7 @@ config DVB_FE_CUSTOMISE bool "Customise the frontend modules to build" depends on DVB_CORE - default N + default y if EMBEDDED help This allows the user to select/deselect frontend drivers for their hardware from the build.
drivers/media/video/Kconfig +1 -1
@@ -83,7 +83,7 @@ config VIDEO_FIXED_MINOR_RANGES config VIDEO_HELPER_CHIPS_AUTO bool "Autoselect pertinent encoders/decoders and other helper chips" - default y + default y if !EMBEDDED ---help--- Most video cards may require additional modules to encode or decode audio/video standards. This option will autoselect
25.05.2012 18:21, Mauro Carvalho Chehab kirjoitti:
Quoted 88 lines
Em 25-05-2012 11:49, Anssi Hannula escreveu:
Quoted 65 lines
25.05.2012 15:12, Mauro Carvalho Chehab kirjoitti:
Quoted 48 lines
Em 24-05-2012 19:40, Linus Torvalds escreveu:
Quoted 7 lines
Quoted 3 lines · Mauro Carvalho Chehab
The
Kconfigdefault forDVB_FE_CUSTOMISEis 'n'. So, if no DVB bridge is selected, nothing will be compiled.Sadly, it looks like the default for distro kernels is 'y'.
I'll change the default on Fedora (f16/f17/rawhide).
Quoted 5 lines
Which means that if you start with a distro kernel config, and then try to cut it down to match your system, you end up screwed in the future - all the new hardware will default to on.
At least that's how I noticed it. Very annoying.
A simple way to solve it seems to make those options dependent on
CONFIG_EXPERT.Not sure if all usual distributions disable it, but I guess most won't have EXPERT enabled.
The enclosed patch does that. If nobody complains, I'll submit it together with the next git pull request.
Regards,
Mauro-
[RFC PATCH] Make tuner/frontend options dependent on EXPERT
The media CUSTOMISE options are there to allow embedded systems and advanced users to disable tuner/frontends that are supported by a bridge driver to be disabled, in order to save some disk space and memory, when compiled builtin.
However, distros are mistakenly enabling it, causing problems when a make oldconfig is used.
Make those options dependent on EXPERT, in order to avoid such annoyance behavior.
Signed-off-by Mauro Carvalho Chehab <[email protected]>drivers/media/common/tuners/Kconfig +0
-0drivers/media/common/tuners/Kconfig config MEDIA_TUNER · line 39
Quoted 5 lines
drivers/media/common/tuners/Kconfig +1
-0@@ -35,6 +35,7 @@ config MEDIA_TUNER config MEDIA_TUNER_CUSTOMISE bool "Customize analog and hybrid tuner modules to build" depends on MEDIA_TUNER + depends on EXPERT default y if EXPERT^^^^^^^^^^^^^^^^^^^Hmm, why should
CONFIG_EXPERTautomatically mean that the tuner modules should be customized? I'd think this shouldn't default to y even with EXPERT.Not a biggie, just thought I'd point it out :)
(as a sidenote, on Mageia kernels
CONFIG_EXPERTis on... didn't check why, could be just historical reasons)Quoted 18 lines
drivers/media/dvb/frontends/Kconfig line 5
Quoted 12 lines
drivers/media/common/tuners/Kconfig +0
-0help This allows the user to deselect tuner drivers unnecessarydrivers/media/dvb/frontends/Kconfig +1
-0@@ -1,6 +1,7 @@ config DVB_FE_CUSTOMISE bool "Customise the frontend modules to build" depends on DVB_CORE + depends on EXPERT default y if EXPERTDitto.
Quoted 2 lines
drivers/media/dvb/frontends/Kconfig +0
-0help This allows the user to select/deselect frontend drivers for theirThis was added on the changeset
b3fc1782c8(see below). A latter changeset (6a108a14fa3) renamed EMBEDDED to EXPERT.
Quoted 6 lines
For embedded systems, it makes more sense to customize the tuners/demods, in order to remove drivers that would never be used there. That's the rationale behind this patch.
From my side, I don't mind removing the "default y if EXPERT", but, as I don't usually work with embedded devices, I don't care much about that. It would be great to hear some comments from embedded people about that as well.
OK.
Quoted 2 lines
That's said, it is weird that Mageia is using
CONFIG_EXPERT. Are they using those twoKconfigoptions enabled as well?
No, *_CUSTOMISE are unset. CC'd our kernel maintainer in case he remembers off-hand why CONFIG_EXPERT is enabled.
Quoted 18 lines
Regards,
Mauro-
commit
b3fc1782c8b84574e44cf5869c9afa75523e2db8Author: Guennadi Liakhovetski <[email protected]> Date: Thu Aug 5 18:09:28 2010 -0300V4L/DVB: V4L: do not autoselect components on embedded systems
Tuner, DVB frontend and video helper chip drivers are by default autoselected by their respective host cards, this, however, doesn't make much sense on SoC-based systems. Disable autoselection on EMBEDDED systems.
Signed-off-by Guennadi Liakhovetski <[email protected]>Signed-off-by Mauro Carvalho Chehab <[email protected]>
[...]
Signature · 1 line
Anssi Hannula
Hi Mauro
Quoted 2 lines · Mauro Carvalho Chehab
Em 25-05-2012 11:49, Anssi Hannula escreveu:
Quoted 1 line
25.05.2012 15:12, Mauro Carvalho Chehab kirjoitti:
[snip]
Quoted 56 lines
Quoted 34 lines
Quoted 18 lines
[RFC PATCH] Make tuner/frontend options dependent on EXPERT
The media CUSTOMISE options are there to allow embedded systems and advanced users to disable tuner/frontends that are supported by a bridge driver to be disabled, in order to save some disk space and memory, when compiled builtin.
However, distros are mistakenly enabling it, causing problems when a make oldconfig is used.
Make those options dependent on EXPERT, in order to avoid such annoyance behavior.
Signed-off-by Mauro Carvalho Chehab <[email protected]>drivers/media/common/tuners/Kconfig +0
-0drivers/media/common/tuners/Kconfig config MEDIA_TUNER · line 39
Quoted 5 lines
drivers/media/common/tuners/Kconfig +1
-0@@ -35,6 +35,7 @@ config MEDIA_TUNER config MEDIA_TUNER_CUSTOMISE bool "Customize analog and hybrid tuner modules to build" depends on MEDIA_TUNER + depends on EXPERT default y if EXPERT^^^^^^^^^^^^^^^^^^^Hmm, why should
CONFIG_EXPERTautomatically mean that the tuner modules should be customized? I'd think this shouldn't default to y even with EXPERT.Not a biggie, just thought I'd point it out :)
(as a sidenote, on Mageia kernels
CONFIG_EXPERTis on... didn't check why, could be just historical reasons)Quoted 18 lines
drivers/media/dvb/frontends/Kconfig line 5
Quoted 12 lines
drivers/media/common/tuners/Kconfig +0
-0help This allows the user to deselect tuner drivers unnecessarydrivers/media/dvb/frontends/Kconfig +1
-0@@ -1,6 +1,7 @@ config DVB_FE_CUSTOMISE bool "Customise the frontend modules to build" depends on DVB_CORE + depends on EXPERT default y if EXPERTDitto.
Quoted 2 lines
drivers/media/dvb/frontends/Kconfig +0
-0help This allows the user to select/deselect frontend drivers for theirThis was added on the changeset
b3fc1782c8(see below). A latter changeset (6a108a14fa3) renamed EMBEDDED to EXPERT.
Quoted 6 lines
For embedded systems, it makes more sense to customize the tuners/demods, in order to remove drivers that would never be used there. That's the rationale behind this patch.
Quoted 1 line
From my side, I don't mind removing the "default y if EXPERT", but, as I don't usually
work with embedded devices, I don't care much about that. It would be great to hear some comments from embedded people about that as well.
My opinion hasn't changed since then. I actually wanted an even larger change, but it has been shrunk to what we see below. Hans also wanted to reorganise Kconfig, so, I hoped, situation would improve after that, but it didn't. And with every new kernel new tuner modules get added, which automatically get enabled, so, every time I upgrade to a newer kernel I have to make sure to deselect them. This doesn't seem a very optimal situation to me. BTW, what is stated below (the commit message is not completely mine, it has been edited, Mauro, by you?) is also not always
true: tuner modules are not autoselected by host cards if customisation is on. They simply all default to "m" in this case.
Thanks
Guennadi
Quoted 59 lines
That's said, it is weird that Mageia is using
CONFIG_EXPERT. Are they using those twoKconfigoptions enabled as well?Regards,
Mauro-
commit
b3fc1782c8b84574e44cf5869c9afa75523e2db8Author: Guennadi Liakhovetski <[email protected]> Date: Thu Aug 5 18:09:28 2010 -0300V4L/DVB: V4L: do not autoselect components on embedded systems
Tuner, DVB frontend and video helper chip drivers are by default autoselected by their respective host cards, this, however, doesn't make much sense on SoC-based systems. Disable autoselection on EMBEDDED systems.
Signed-off-by Guennadi Liakhovetski <[email protected]>Signed-off-by Mauro Carvalho Chehab <[email protected]>drivers/media/common/tuners/Kconfig +1
-1@@ -34,7 +34,7 @@ config MEDIA_TUNER menuconfig MEDIA_TUNER_CUSTOMISE bool "Customize analog and hybrid tuner modules to build" depends on MEDIA_TUNER - default n + default y if EMBEDDED help This allows the user to deselect tuner drivers unnecessary for their hardware from the build. Use this option with caredrivers/media/dvb/frontends/Kconfig +1
-1@@ -1,7 +1,7 @@ config DVB_FE_CUSTOMISE bool "Customise the frontend modules to build" depends on DVB_CORE - default N + default y if EMBEDDED help This allows the user to select/deselect frontend drivers for their hardware from the build.drivers/media/video/Kconfig +0
-0
drivers/media/video/Kconfig config VIDEO_FIXED_MINOR_RANGES · line 89
Quoted 8 lines
drivers/media/video/Kconfig +1
-1@@ -83,7 +83,7 @@ config VIDEO_FIXED_MINOR_RANGES config VIDEO_HELPER_CHIPS_AUTO bool "Autoselect pertinent encoders/decoders and other helper chips" - default y + default y if !EMBEDDED ---help--- Most video cards may require additional modules to encode or decode audio/video standards. This option will autoselect
---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/
Quoted 7 lines · On May 25 Mauro Carvalho Chehab wrote:
A simple way to solve it seems to make those options dependent on
CONFIG_EXPERT.Not sure if all usual distributions disable it, but I guess most won't have EXPERT enabled.
The enclosed patch does that. If nobody complains, I'll submit it together with the next git pull request.
I only want dvb-core and firedtv. But when I switch off CONFIG_MEDIA_TUNER_CUSTOMISE, suddenly also
CC [M] drivers/media/common/tuners/tuner-xc2028.o CC [M] drivers/media/common/tuners/tuner-simple.o CC [M] drivers/media/common/tuners/tuner-types.o CC [M] drivers/media/common/tuners/mt20xx.o CC [M] drivers/media/common/tuners/tda8290.o CC [M] drivers/media/common/tuners/tea5767.o CC [M] drivers/media/common/tuners/tea5761.o CC [M] drivers/media/common/tuners/tda9887.o CC [M] drivers/media/common/tuners/tda827x.o CC [M] drivers/media/common/tuners/tda18271-maps.o CC [M] drivers/media/common/tuners/tda18271-common.o CC [M] drivers/media/common/tuners/tda18271-fe.o CC [M] drivers/media/common/tuners/xc5000.o CC [M] drivers/media/common/tuners/xc4000.o CC [M] drivers/media/common/tuners/mc44s803.o LD [M] drivers/media/common/tuners/tda18271.o
are built. Why is that?
$ grep DVB .config CONFIG_DVB_CORE=m # CONFIG_DVB_NET is not set CONFIG_DVB_MAX_ADAPTERS=8 # CONFIG_DVB_DYNAMIC_MINORS is not set CONFIG_DVB_CAPTURE_DRIVERS=y # CONFIG_DVB_BUDGET_CORE is not set # CONFIG_DVB_TTUSB_BUDGET is not set # CONFIG_DVB_TTUSB_DEC is not set # CONFIG_DVB_B2C2_FLEXCOP is not set # CONFIG_DVB_PLUTO2 is not set CONFIG_DVB_FIREDTV=m CONFIG_DVB_FIREDTV_INPUT=y # CONFIG_DVB_PT1 is not set # CONFIG_DVB_NGENE is not set # CONFIG_DVB_DDBRIDGE is not set # Supported DVB Frontends # CONFIG_DVB_FE_CUSTOMISE is not set # DVB-S (satellite) frontends # DVB-T (terrestrial) frontends # DVB-C (cable) frontends # SEC control devices for DVB-S # CONFIG_DVB_DUMMY_FE is not set
Signature · 3 lines
Stefan Richter -=====-===-- -=-= ==-=- http://arcgraph.de/sr/
Em 25-05-2012 19:38, Stefan Richter escreveu:
Quoted 29 lines · On May 25 Mauro Carvalho Chehab wrote:
Quoted 7 lines
A simple way to solve it seems to make those options dependent on
CONFIG_EXPERT.Not sure if all usual distributions disable it, but I guess most won't have EXPERT enabled.
The enclosed patch does that. If nobody complains, I'll submit it together with the next git pull request.
I only want dvb-core and firedtv. But when I switch off
CONFIG_MEDIA_TUNER_CUSTOMISE, suddenly alsoCC [M] drivers/media/common/tuners/tuner-xc2028.o CC [M] drivers/media/common/tuners/tuner-simple.o CC [M] drivers/media/common/tuners/tuner-types.o CC [M] drivers/media/common/tuners/mt20xx.o CC [M] drivers/media/common/tuners/tda8290.o CC [M] drivers/media/common/tuners/tea5767.o CC [M] drivers/media/common/tuners/tea5761.o CC [M] drivers/media/common/tuners/tda9887.o CC [M] drivers/media/common/tuners/tda827x.o CC [M] drivers/media/common/tuners/tda18271-maps.o CC [M] drivers/media/common/tuners/tda18271-common.o CC [M] drivers/media/common/tuners/tda18271-fe.o CC [M] drivers/media/common/tuners/xc5000.o CC [M] drivers/media/common/tuners/xc4000.o CC [M] drivers/media/common/tuners/mc44s803.o LD [M] drivers/media/common/tuners/tda18271.o
Quoted 1 line
are built. Why is that?
Those are the tuners supported by the tuner_core logic. The tuner_core module is required by all TV drivers that have analog support.
After the tuner rework to allow a driver under drivers/media/dvb to use the same tuner module as the ../v4l modules, there are now pure dvb drivers that don't use tune_core.
So, it makes sense to add a new config for tuner_core that will be selected only for devices with analog TV support.
Regards,
Mauro
Em 27-05-2012 11:47, Mauro Carvalho Chehab escreveu:
Quoted 35 lines
Em 25-05-2012 19:38, Stefan Richter escreveu:
Quoted 29 lines · On May 25 Mauro Carvalho Chehab wrote:
Quoted 7 lines
A simple way to solve it seems to make those options dependent on
CONFIG_EXPERT.Not sure if all usual distributions disable it, but I guess most won't have EXPERT enabled.
The enclosed patch does that. If nobody complains, I'll submit it together with the next git pull request.
I only want dvb-core and firedtv. But when I switch off
CONFIG_MEDIA_TUNER_CUSTOMISE, suddenly alsoCC [M] drivers/media/common/tuners/tuner-xc2028.o CC [M] drivers/media/common/tuners/tuner-simple.o CC [M] drivers/media/common/tuners/tuner-types.o CC [M] drivers/media/common/tuners/mt20xx.o CC [M] drivers/media/common/tuners/tda8290.o CC [M] drivers/media/common/tuners/tea5767.o CC [M] drivers/media/common/tuners/tea5761.o CC [M] drivers/media/common/tuners/tda9887.o CC [M] drivers/media/common/tuners/tda827x.o CC [M] drivers/media/common/tuners/tda18271-maps.o CC [M] drivers/media/common/tuners/tda18271-common.o CC [M] drivers/media/common/tuners/tda18271-fe.o CC [M] drivers/media/common/tuners/xc5000.o CC [M] drivers/media/common/tuners/xc4000.o CC [M] drivers/media/common/tuners/mc44s803.o LD [M] drivers/media/common/tuners/tda18271.oQuoted 1 line
are built. Why is that?
Those are the tuners supported by the
tuner_corelogic. Thetuner_coremodule is required by all TV drivers that have analog support.
Quoted 6 lines
After the tuner rework to allow a driver under
drivers/media/dvbto use the same tuner module as the ../v4l modules, there are now pure dvb drivers that don't usetune_core.So, it makes sense to add a new config for
tuner_corethat will be selected only for devices with analog TV support.
The correct fix for it seems to change the Kconfig menu to be like:
<m> Multimedia support --->
[ ] Webcams and video grabbers support [ ] Analog TV API and drivers support [ ] Digital TV support [ ] AM/FM radio receivers/transmitters support [ ] Remote Controller support
and only select the tuner-core drivers if analog TV is selected.
I'll write some RFC patches for it for 3.6, posting them at linux-media.
Regards,
Mauro
cover Improve Kconfig selection for media devices
The Kconfig building system is improperly selecting some drivers, like analog TV tuners even when this is not required.
Rearrange the Kconfig in a way to prevent that.
Mauro Carvalho Chehab (3):
media: reorganize the main Kconfig items
media: Remove VIDEO_MEDIA Kconfig option
media: only show V4L devices based on device type selection
drivers/media/Kconfig | 114 +++++++++++++++++++++++------------ drivers/media/common/tuners/Kconfig | 64 ++++++++++---------- drivers/media/dvb/frontends/Kconfig | 1 + drivers/media/radio/Kconfig | 1 + drivers/media/rc/Kconfig | 29 ++++----- drivers/media/video/Kconfig | 76 +++++++++++++++++------ drivers/media/video/m5mols/Kconfig | 1 + drivers/media/video/pvrusb2/Kconfig | 1 - drivers/media/video/smiapp/Kconfig | 1 + 9 files changed, 181 insertions(+), 107 deletions(-)
Signature · 1 line
1.7.8
RFC PATCH 1/3 media: reorganize the main Kconfig items
Change the main items to:
<m> Multimedia support --->
[ ] Webcams and video grabbers support [ ] Analog TV API and drivers support [ ] Digital TV support [ ] AM/FM radio receivers/transmitters support [ ] Remote Controller support
This provides an interface that is clearer to end users that are compiling the Kernel, and will allow the building system to automatically unselect drivers for unused functions.
--- drivers/media/Kconfig | 110 ++++++++++++++++++++++++----------- drivers/media/common/tuners/Kconfig | 1 + drivers/media/dvb/frontends/Kconfig | 1 + drivers/media/rc/Kconfig | 29 ++++----- 4 files changed, 90 insertions(+), 51 deletions(-)
drivers/media/Kconfig +75 -35
@@ -6,20 +6,83 @@ menuconfig MEDIA_SUPPORT tristate "Multimedia support" depends on HAS_IOMEM help - If you want to use Video for Linux, DVB for Linux, or DAB adapters, + If you want to use Webcams, Video grabber devices and/or TV devices enable this option and other options below. + Additional info and docs are available on the web at + <http://linuxtv.org> + if MEDIA_SUPPORT comment "Multimedia core support" # +# Multimedia support - automatically enable V4L2 and DVB core +# +config MEDIA_WEBCAM_SUPP + bool "Webcams and video grabbers support" + ---help--- + Enable support for webcams and video grabbers. + + Say Y when you have a webcam or a video capture grabber board. + +config MEDIA_ANALOG_TV_SUPP + bool "Analog TV API and drivers support" + ---help--- + Enable analog TV support. + + Say Y when you have a TV board with analog support of with an + hybrid analog/digital TV chipset. + + Note: There are several DVB cards that are based on chips that + supports both analog and digital TV. Disabling this option + will disable support for them. + +config MEDIA_DIGITAL_TV_SUPP + bool "Digital TV support" + ---help--- + Enable digital TV support. + + Say Y when you have a board with digital support or a board with + hybrid digital TV and analog TV. + +config MEDIA_RADIO_SUPP + bool "AM/FM radio receivers/transmitters support" + ---help--- + Enable AM/FM radio support. + + Additional info and docs are available on the web at + <http://linuxtv.org> + + Say Y when you have a board with radio support. + + Note: There are several TV cards that are based on chips that + supports radio reception Disabling this option will + disable support for them. + +menuconfig RC_CORE_SUPP + bool "Remote Controller support" + depends on INPUT + ---help--- + Enable support for Remote Controllers on Linux. This is + needed in order to support several video capture adapters, + standalone IR receivers/transmitters, and RF receivers. + + 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. + + Say Y when you have a TV or an IR device. + +# # Media controller +# Selectable only for webcam/grabbers, as other drivers don't use it # config MEDIA_CONTROLLER bool "Media Controller API (EXPERIMENTAL)" depends on EXPERIMENTAL + depends on MEDIA_WEBCAM_SUPP ---help--- Enable the media controller API used to query media devices internal topology and configure it dynamically.
@@ -27,26 +90,15 @@ config MEDIA_CONTROLLER This API is mostly used by camera interfaces in embedded platforms. # -# V4L core and enabled API's +# Video4Linux support +# Only enables if one of the V4L2 types (ATV, webcam, radio) is selected # config VIDEO_DEV - tristate "Video For Linux" - ---help--- - V4L core support for video capture and overlay devices, webcams and - AM/FM radio cards. - - This kernel includes support for the new Video for Linux Two API, - (V4L2). - - Additional info and docs are available on the web at - <http://linuxtv.org> - - Documentation for V4L2 is also available on the web at - <http://bytesex.org/v4l/>. - - To compile this driver as a module, choose M here: the - module will be called videodev. + tristate + depends on MEDIA_SUPPORT + depends on MEDIA_WEBCAM_SUPP || MEDIA_ANALOG_TV_SUPP || MEDIA_RADIO_SUPP + default y config VIDEO_V4L2_COMMON tristate
@@ -64,25 +116,15 @@ config VIDEO_V4L2_SUBDEV_API # # DVB Core +# Only enables if one of DTV is selected # config DVB_CORE - tristate "DVB for Linux" + tristate + depends on MEDIA_SUPPORT + depends on MEDIA_DIGITAL_TV_SUPP + default y select CRC32 - help - DVB core utility functions for device handling, software fallbacks etc. - - Enable this if you own a DVB/ATSC adapter and want to use it or if - you compile Linux for a digital SetTopBox. - - Say Y when you have a DVB or an ATSC card and want to use it. - - API specs and user tools are available from <http://www.linuxtv.org/>. - - Please report problems regarding this support to the LinuxDVB - mailing list. - - If unsure say N. config DVB_NET bool "DVB Network Support"
@@ -101,8 +143,6 @@ config VIDEO_MEDIA tristate default (DVB_CORE && (VIDEO_DEV = n)) || (VIDEO_DEV && (DVB_CORE = n)) || (DVB_CORE && VIDEO_DEV) -comment "Multimedia drivers" - source "drivers/media/common/Kconfig" source "drivers/media/rc/Kconfig"
drivers/media/common/tuners/Kconfig +1 -0
@@ -2,6 +2,7 @@ config MEDIA_ATTACH bool "Load and attach frontend and tuner driver modules as needed" depends on VIDEO_MEDIA depends on MODULES + default y if !EXPERT help Remove the static dependency of DVB card drivers on all frontend modules for all possible card variants. Instead,
drivers/media/dvb/frontends/Kconfig +1 -0
@@ -1,6 +1,7 @@ config DVB_FE_CUSTOMISE bool "Customise the frontend modules to build" depends on DVB_CORE + depends on EXPERT default y if EXPERT help This allows the user to select/deselect frontend drivers for their
drivers/media/rc/Kconfig +13 -16
@@ -1,21 +1,12 @@ -menuconfig RC_CORE - tristate "Remote Controller adapters" +config RC_CORE + tristate + depends on RC_CORE_SUPP depends on INPUT - default INPUT - ---help--- - Enable support for Remote Controllers on Linux. This is - needed in order to support several video capture adapters, - standalone IR receivers/transmitters, and RF receivers. - - 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. - -if RC_CORE + default y config LIRC - tristate - default y + tristate "LIRC interface driver" + depends on RC_CORE ---help--- Enable this option to build the Linux Infrared Remote
@@ -109,6 +100,12 @@ config IR_MCE_KBD_DECODER Windows Media Center Edition, which you would like to use with a raw IR receiver in your system. +menuconfig RC_DEVICES + bool "Remote Controller devices" + depends on RC_CORE + +if RC_DEVICES + config IR_LIRC_CODEC tristate "Enable IR to LIRC bridge" depends on RC_CORE
@@ -276,4 +273,4 @@ config IR_GPIO_CIR To compile this driver as a module, choose M here: the module will be called gpio-ir-recv. -endif #RC_CORE +endif #RC_DEVICES
Signature · 1 line
1.7.8
Re: [RFC PATCH 1/3] media: reorganize the main Kconfig items
Just a few typos...
Quoted 42 lines · On Sun May 27 2012 18:56:41 Mauro Carvalho Chehab wrote:
Change the main items to:
<m> Multimedia support --->
[ ] Webcams and video grabbers support [ ] Analog TV API and drivers support [ ] Digital TV support [ ] AM/FM radio receivers/transmitters support [ ] Remote Controller supportThis provides an interface that is clearer to end users that are compiling the Kernel, and will allow the building system to automatically unselect drivers for unused functions.
Signed-off-by Mauro Carvalho Chehab <[email protected]>--- drivers/media/Kconfig | 110 ++++++++++++++++++++++++----------- drivers/media/common/tuners/Kconfig | 1 + drivers/media/dvb/frontends/Kconfig | 1 + drivers/media/rc/Kconfig | 29 ++++----- 4 files changed, 90 insertions(+), 51 deletions(-)drivers/media/Kconfig +5
-1@@ -6,20 +6,83 @@ menuconfig MEDIA_SUPPORT tristate "Multimedia support" depends on HAS_IOMEM help - If you want to use Video for Linux, DVB for Linux, or DAB adapters, + If you want to use Webcams, Video grabber devices and/or TV devices enable this option and other options below. + Additional info and docs are available on the web at + <http://linuxtv.org> + if MEDIA_SUPPORT comment "Multimedia core support" # +# Multimedia support - automatically enable V4L2 and DVB core
drivers/media/Kconfig menuconfig MEDIA_SUPPORT · line 30
Quoted 10 lines
drivers/media/Kconfig +10
-0+# +config MEDIA_WEBCAM_SUPP + bool "Webcams and video grabbers support" + ---help--- + Enable support for webcams and video grabbers. + + Say Y when you have a webcam or a video capture grabber board. + +config MEDIA_ANALOG_TV_SUPP + bool "Analog TV API and drivers support"
I would rename this to "Analog TV support" to be consistent with the digital option.
drivers/media/Kconfig menuconfig MEDIA_SUPPORT · line 34
Quoted 4 lines
drivers/media/Kconfig +4
-0+ ---help--- + Enable analog TV support. + + Say Y when you have a TV board with analog support of with an
Typo: of with an -> or with a
drivers/media/Kconfig menuconfig MEDIA_SUPPORT · line 38
Quoted 4 lines
drivers/media/Kconfig +4
-0+ hybrid analog/digital TV chipset. + + Note: There are several DVB cards that are based on chips that + supports both analog and digital TV. Disabling this option
supports -> support
Quoted 12 lines
drivers/media/Kconfig +12
-0+ will disable support for them. + +config MEDIA_DIGITAL_TV_SUPP + bool "Digital TV support" + ---help--- + Enable digital TV support. + + Say Y when you have a board with digital support or a board with + hybrid digital TV and analog TV. + +config MEDIA_RADIO_SUPP + bool "AM/FM radio receivers/transmitters support"
drivers/media/Kconfig menuconfig MEDIA_SUPPORT · line 60
Quoted 10 lines
drivers/media/Kconfig +10
-0+ ---help--- + Enable AM/FM radio support. + + Additional info and docs are available on the web at + <http://linuxtv.org> + + Say Y when you have a board with radio support. + + Note: There are several TV cards that are based on chips that + supports radio reception Disabling this option will
supports -> support
Also add a period after reception.
Regards,
Hans
Re: [RFC PATCH 1/3] media: reorganize the main Kconfig items
Em 27-05-2012 14:15, Hans Verkuil escreveu:
Quoted 98 lines
Just a few typos...
Quoted 42 lines · On Sun May 27 2012 18:56:41 Mauro Carvalho Chehab wrote:
Change the main items to:
<m> Multimedia support --->
[ ] Webcams and video grabbers support [ ] Analog TV API and drivers support [ ] Digital TV support [ ] AM/FM radio receivers/transmitters support [ ] Remote Controller supportThis provides an interface that is clearer to end users that are compiling the Kernel, and will allow the building system to automatically unselect drivers for unused functions.
Signed-off-by Mauro Carvalho Chehab <[email protected]>--- drivers/media/Kconfig | 110 ++++++++++++++++++++++++----------- drivers/media/common/tuners/Kconfig | 1 + drivers/media/dvb/frontends/Kconfig | 1 + drivers/media/rc/Kconfig | 29 ++++----- 4 files changed, 90 insertions(+), 51 deletions(-)drivers/media/Kconfig +5
-1@@ -6,20 +6,83 @@ menuconfig MEDIA_SUPPORT tristate "Multimedia support" depends on HAS_IOMEM help - If you want to use Video for Linux, DVB for Linux, or DAB adapters, + If you want to use Webcams, Video grabber devices and/or TV devices enable this option and other options below. + Additional info and docs are available on the web at + <http://linuxtv.org> + if MEDIA_SUPPORT comment "Multimedia core support" # +# Multimedia support - automatically enable V4L2 and DVB coredrivers/media/Kconfig menuconfig MEDIA_SUPPORT · line 30
Quoted 10 lines
drivers/media/Kconfig +10
-0+# +config MEDIA_WEBCAM_SUPP + bool "Webcams and video grabbers support" + ---help--- + Enable support for webcams and video grabbers. + + Say Y when you have a webcam or a video capture grabber board. + +config MEDIA_ANALOG_TV_SUPP + bool "Analog TV API and drivers support"I would rename this to "Analog TV support" to be consistent with the digital option.
drivers/media/Kconfig menuconfig MEDIA_SUPPORT · line 34
Quoted 4 lines
drivers/media/Kconfig +4
-0+ ---help--- + Enable analog TV support. + + Say Y when you have a TV board with analog support of with anTypo: of with an -> or with a
drivers/media/Kconfig menuconfig MEDIA_SUPPORT · line 38
Quoted 4 lines
drivers/media/Kconfig +4
-0+ hybrid analog/digital TV chipset. + + Note: There are several DVB cards that are based on chips that + supports both analog and digital TV. Disabling this optionsupports -> support
Quoted 12 lines
drivers/media/Kconfig +12
-0+ will disable support for them. + +config MEDIA_DIGITAL_TV_SUPP + bool "Digital TV support" + ---help--- + Enable digital TV support. + + Say Y when you have a board with digital support or a board with + hybrid digital TV and analog TV. + +config MEDIA_RADIO_SUPP + bool "AM/FM radio receivers/transmitters support"drivers/media/Kconfig menuconfig MEDIA_SUPPORT · line 60
Quoted 10 lines
drivers/media/Kconfig +10
-0+ ---help--- + Enable AM/FM radio support. + + Additional info and docs are available on the web at + <http://linuxtv.org> + + Say Y when you have a board with radio support. + + Note: There are several TV cards that are based on chips that + supports radio reception Disabling this option willsupports -> support
Quoted 5 lines
Also add a period after reception.
Regards,
Hans
Thanks!
It follows v2 with the suggested fixes.
-
media: reorganize the main Kconfig items
From: Mauro Carvalho Chehab <[email protected]>
Change the main items to:
<m> Multimedia support --->
[ ] Webcams and video grabbers support [ ] Analog TV API and drivers support [ ] Digital TV support [ ] AM/FM radio receivers/transmitters support [ ] Remote Controller support
This provides an interface that is clearer to end users that are compiling the Kernel, and will allow the building system to automatically unselect drivers for unused functions.
drivers/media/Kconfig +75 -35
@@ -6,20 +6,83 @@ menuconfig MEDIA_SUPPORT tristate "Multimedia support" depends on HAS_IOMEM help - If you want to use Video for Linux, DVB for Linux, or DAB adapters, + If you want to use Webcams, Video grabber devices and/or TV devices enable this option and other options below. + Additional info and docs are available on the web at + <http://linuxtv.org> + if MEDIA_SUPPORT comment "Multimedia core support" # +# Multimedia support - automatically enable V4L2 and DVB core +# +config MEDIA_WEBCAM_SUPP + bool "Webcams and video grabbers support" + ---help--- + Enable support for webcams and video grabbers. + + Say Y when you have a webcam or a video capture grabber board. + +config MEDIA_ANALOG_TV_SUPP + bool "Analog TV support" + ---help--- + Enable analog TV support. + + Say Y when you have a TV board with analog support of with a + hybrid analog/digital TV chipset. + + Note: There are several DVB cards that are based on chips that + support both analog and digital TV. Disabling this option + will disable support for them. + +config MEDIA_DIGITAL_TV_SUPP + bool "Digital TV support" + ---help--- + Enable digital TV support. + + Say Y when you have a board with digital support or a board with + hybrid digital TV and analog TV. + +config MEDIA_RADIO_SUPP + bool "AM/FM radio receivers/transmitters support" + ---help--- + Enable AM/FM radio support. + + Additional info and docs are available on the web at + <http://linuxtv.org> + + Say Y when you have a board with radio support. + + Note: There are several TV cards that are based on chips that + support radio reception. Disabling this option will + disable support for them. + +menuconfig RC_CORE_SUPP + bool "Remote Controller support" + depends on INPUT + ---help--- + Enable support for Remote Controllers on Linux. This is + needed in order to support several video capture adapters, + standalone IR receivers/transmitters, and RF receivers. + + 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. + + Say Y when you have a TV or an IR device. + +# # Media controller +# Selectable only for webcam/grabbers, as other drivers don't use it # config MEDIA_CONTROLLER bool "Media Controller API (EXPERIMENTAL)" depends on EXPERIMENTAL + depends on MEDIA_WEBCAM_SUPP ---help--- Enable the media controller API used to query media devices internal topology and configure it dynamically.
@@ -27,26 +90,15 @@ config MEDIA_CONTROLLER This API is mostly used by camera interfaces in embedded platforms. # -# V4L core and enabled API's +# Video4Linux support +# Only enables if one of the V4L2 types (ATV, webcam, radio) is selected # config VIDEO_DEV - tristate "Video For Linux" - ---help--- - V4L core support for video capture and overlay devices, webcams and - AM/FM radio cards. - - This kernel includes support for the new Video for Linux Two API, - (V4L2). - - Additional info and docs are available on the web at - <http://linuxtv.org> - - Documentation for V4L2 is also available on the web at - <http://bytesex.org/v4l/>. - - To compile this driver as a module, choose M here: the - module will be called videodev. + tristate + depends on MEDIA_SUPPORT + depends on MEDIA_WEBCAM_SUPP || MEDIA_ANALOG_TV_SUPP || MEDIA_RADIO_SUPP + default y config VIDEO_V4L2_COMMON tristate
@@ -64,25 +116,15 @@ config VIDEO_V4L2_SUBDEV_API # # DVB Core +# Only enables if one of DTV is selected # config DVB_CORE - tristate "DVB for Linux" + tristate + depends on MEDIA_SUPPORT + depends on MEDIA_DIGITAL_TV_SUPP + default y select CRC32 - help - DVB core utility functions for device handling, software fallbacks etc. - - Enable this if you own a DVB/ATSC adapter and want to use it or if - you compile Linux for a digital SetTopBox. - - Say Y when you have a DVB or an ATSC card and want to use it. - - API specs and user tools are available from <http://www.linuxtv.org/>. - - Please report problems regarding this support to the LinuxDVB - mailing list. - - If unsure say N. config DVB_NET bool "DVB Network Support"
@@ -101,8 +143,6 @@ config VIDEO_MEDIA tristate default (DVB_CORE && (VIDEO_DEV = n)) || (VIDEO_DEV && (DVB_CORE = n)) || (DVB_CORE && VIDEO_DEV) -comment "Multimedia drivers" - source "drivers/media/common/Kconfig" source "drivers/media/rc/Kconfig"
drivers/media/common/tuners/Kconfig +1 -0
@@ -2,6 +2,7 @@ config MEDIA_ATTACH bool "Load and attach frontend and tuner driver modules as needed" depends on VIDEO_MEDIA depends on MODULES + default y if !EXPERT help Remove the static dependency of DVB card drivers on all frontend modules for all possible card variants. Instead,
drivers/media/dvb/frontends/Kconfig +1 -0
@@ -1,6 +1,7 @@ config DVB_FE_CUSTOMISE bool "Customise the frontend modules to build" depends on DVB_CORE + depends on EXPERT default y if EXPERT help This allows the user to select/deselect frontend drivers for their
drivers/media/rc/Kconfig +13 -16
@@ -1,21 +1,12 @@ -menuconfig RC_CORE - tristate "Remote Controller adapters" +config RC_CORE + tristate + depends on RC_CORE_SUPP depends on INPUT - default INPUT - ---help--- - Enable support for Remote Controllers on Linux. This is - needed in order to support several video capture adapters, - standalone IR receivers/transmitters, and RF receivers. - - 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. - -if RC_CORE + default y config LIRC - tristate - default y + tristate "LIRC interface driver" + depends on RC_CORE ---help--- Enable this option to build the Linux Infrared Remote
@@ -109,6 +100,12 @@ config IR_MCE_KBD_DECODER Windows Media Center Edition, which you would like to use with a raw IR receiver in your system. +menuconfig RC_DEVICES + bool "Remote Controller devices" + depends on RC_CORE + +if RC_DEVICES + config IR_LIRC_CODEC tristate "Enable IR to LIRC bridge" depends on RC_CORE
@@ -276,4 +273,4 @@ config IR_GPIO_CIR To compile this driver as a module, choose M here: the module will be called gpio-ir-recv. -endif #RC_CORE +endif #RC_DEVICES
Re: [RFC PATCH 1/3] media: reorganize the main Kconfig items
In reply to Mauro Carvalho ChehabHi Mauro,
Quoted 9 lines · Mauro Carvalho Chehab
Change the main items to:
<m> Multimedia support --->
[ ] Webcams and video grabbers support [ ] Analog TV API and drivers support [ ] Digital TV support [ ] AM/FM radio receivers/transmitters support [ ] Remote Controller support
Quoted 3 lines
This provides an interface that is clearer to end users that are compiling the Kernel, and will allow the building system to automatically unselect drivers for unused functions.
The change looks reasonable to me, however I have few doubts with regards to the naming. Is V4L2 really only for webcams? :)
How about renaming:
MEDIA_WEBCAM -> MEDIA_CAMERA,*_SUPP -> _SUPPORT (grep gives many more results for the full word), Webcams -> Cameras ?
Regards,
Sylwester
RFC PATCH 2/3 media: Remove VIDEO_MEDIA Kconfig option
In reply to Mauro Carvalho ChehabIn the past, it was possible to have either DVB or V4L2 core as module and the other as builtin. Such config never make much sense, and created several issues in order to make the Kconfig dependency to work, as all drivers that depend on both (most TV drivers) would need to be compiled as 'm'. Due to that, the VIDEO_MEDIA config option were added.
Instead of such weird approach, let's just use the MEDIA_SUPPORT =y or =m to select if the media subsystem core will be either builtin or module, simplifying the building system logic.
Also, fix the tuners configuration, by enabling them only if a tuner is required. So, if just webcam/grabbers support is selected, no tuner option will be selected. Also, if only digital TV is selected, no analog tuner support is selected.
That removes the need of using EXPERT customise options, when analog TV is not selected.
--- drivers/media/Kconfig | 4 -- drivers/media/common/tuners/Kconfig | 63 ++++++++++++++++++----------------- drivers/media/video/pvrusb2/Kconfig | 1 - 3 files changed, 32 insertions(+), 36 deletions(-)
drivers/media/Kconfig +0 -4
@@ -139,10 +139,6 @@ config DVB_NET You may want to disable the network support on embedded devices. If unsure say Y. -config VIDEO_MEDIA - tristate - default (DVB_CORE && (VIDEO_DEV = n)) || (VIDEO_DEV && (DVB_CORE = n)) || (DVB_CORE && VIDEO_DEV) - source "drivers/media/common/Kconfig" source "drivers/media/rc/Kconfig"
drivers/media/common/tuners/Kconfig +32 -31
238 lines not on this page · raw message
drivers/media/video/pvrusb2/Kconfig +0 -1
@@ -1,7 +1,6 @@ config VIDEO_PVRUSB2 tristate "Hauppauge WinTV-PVR USB2 support" depends on VIDEO_V4L2 && I2C - depends on VIDEO_MEDIA # Avoids pvrusb = Y / DVB = M select VIDEO_TUNER select VIDEO_TVEEPROM select VIDEO_CX2341X
Signature · 1 line
1.7.8
RFC PATCH 3/3 media: only show V4L devices based on device type selection
In reply to Mauro Carvalho ChehabAfter this patch, the MEDIA*_SUPP will be used as a filter, exposing only devices that are pertinent to one of the 3 V4L types: webcam/grabber, radio, analog TV.
--- drivers/media/radio/Kconfig | 1 + drivers/media/video/Kconfig | 76 ++++++++++++++++++++++++++--------- drivers/media/video/m5mols/Kconfig | 1 + drivers/media/video/smiapp/Kconfig | 1 + 4 files changed, 59 insertions(+), 20 deletions(-)
drivers/media/radio/Kconfig +1 -0
@@ -5,6 +5,7 @@ menuconfig RADIO_ADAPTERS bool "Radio Adapters" depends on VIDEO_V4L2 + depends on MEDIA_RADIO_SUPP default y ---help--- Say Y here to enable selecting AM/FM radio adapters.
drivers/media/video/Kconfig +56 -20
211 lines not on this page · raw message
drivers/media/video/m5mols/Kconfig +1 -0
@@ -1,5 +1,6 @@ config VIDEO_M5MOLS tristate "Fujitsu M-5MOLS 8MP sensor support" depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API + depends on MEDIA_WEBCAM_SUPP ---help--- This driver supports Fujitsu M-5MOLS camera sensor with ISP
drivers/media/video/smiapp/Kconfig +1 -0
@@ -1,6 +1,7 @@ config VIDEO_SMIAPP tristate "SMIA++/SMIA sensor support" depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API + depends on MEDIA_WEBCAM_SUPP select VIDEO_SMIAPP_PLL ---help--- This is a generic driver for SMIA++/SMIA camera modules.
Signature · 1 line
1.7.8
[RFC] file tree rearrangement - was: Re: [RFC PATCH 0/3] Improve Kconfig selection for media devices
In reply to Mauro Carvalho ChehabEm 27-05-2012 13:56, Mauro Carvalho Chehab escreveu:
Quoted 10 lines
The
Kconfigbuilding system is improperly selecting some drivers, like analog TV tuners even when this is not required.Rearrange the
Kconfigin a way to prevent that.Mauro Carvalho Chehab (3):
media: reorganize the mainKconfigitems
media: RemoveVIDEO_MEDIAKconfigoption
media: only show V4L devices based on device type selection
Quoted 11 lines
drivers/media/Kconfig | 114 +++++++++++++++++++++++------------ drivers/media/common/tuners/Kconfig | 64 ++++++++++---------- drivers/media/dvb/frontends/Kconfig | 1 + drivers/media/radio/Kconfig | 1 + drivers/media/rc/Kconfig | 29 ++++----- drivers/media/video/Kconfig | 76 +++++++++++++++++------ drivers/media/video/m5mols/Kconfig | 1 + drivers/media/video/pvrusb2/Kconfig | 1 - drivers/media/video/smiapp/Kconfig | 1 + 9 files changed, 181 insertions(+), 107 deletions(-)
The organization between DVB only, V4L only and hybrid devices are somewhat confusing on our tree. From time to time, someone proposes changing one driver from one place to another or complains that "his device is DVB only but it is inside the V4L tree" (and other similar requests). This sometimes happen because the same driver can support analog only, digital only or hybrid devices.
Also, one driver may start as a DVB only or as a V4L only and then it can be latter be converted into an hybrid driver.
So, the better is to rearrange the drivers tree, in order to fix this issue, removing them from /video and /dvb, and storing them on a better place.
So, my proposal is to move all radio, analog TV, digital TV, webcams and grabber bridge drivers to this arrangement:
drivers/media/isa - ISA driversdrivers/media/usb - USB driversdrivers/media/pci - PCI/PCIe driversdrivers/media/platform - platform drivers
Comments?
Regards,
Mauro
-
PS.: for now, I don't intend to touch at I2C/ancillary drivers. We may latter move the i2c drivers that aren't frontend/tuners to media/i2c or to media/common.
Re: [RFC] file tree rearrangement - was: Re: [RFC PATCH 0/3] Improve Kconfig selection for media devices
Quoted 35 lines · On Sun May 27 2012 19:13:38 Mauro Carvalho Chehab wrote:
Em 27-05-2012 13:56, Mauro Carvalho Chehab escreveu:
Quoted 10 lines
The
Kconfigbuilding system is improperly selecting some drivers, like analog TV tuners even when this is not required.Rearrange the
Kconfigin a way to prevent that.Mauro Carvalho Chehab (3):
media: reorganize the mainKconfigitems
media: RemoveVIDEO_MEDIAKconfigoption
media: only show V4L devices based on device type selectionQuoted 11 lines
drivers/media/Kconfig | 114 +++++++++++++++++++++++------------ drivers/media/common/tuners/Kconfig | 64 ++++++++++---------- drivers/media/dvb/frontends/Kconfig | 1 + drivers/media/radio/Kconfig | 1 + drivers/media/rc/Kconfig | 29 ++++----- drivers/media/video/Kconfig | 76 +++++++++++++++++------ drivers/media/video/m5mols/Kconfig | 1 + drivers/media/video/pvrusb2/Kconfig | 1 - drivers/media/video/smiapp/Kconfig | 1 + 9 files changed, 181 insertions(+), 107 deletions(-)The organization between DVB only, V4L only and hybrid devices are somewhat confusing on our tree. From time to time, someone proposes changing one driver from one place to another or complains that "his device is DVB only but it is inside the V4L tree" (and other similar requests). This sometimes happen because the same driver can support analog only, digital only or hybrid devices.
Also, one driver may start as a DVB only or as a V4L only and then it can be latter be converted into an hybrid driver.
So, the better is to rearrange the drivers tree, in order to fix this issue, removing them from /video and /dvb, and storing them on a better place.
Quoted 7 lines
So, my proposal is to move all radio, analog TV, digital TV, webcams and grabber bridge drivers to this arrangement:
drivers/media/isa- ISA driversdrivers/media/usb- USB driversdrivers/media/pci- PCI/PCIe driversdrivers/media/platform- platform drivers
drivers/media/parportdrivers/media/i2c
Also, if we do this then I would really like to separate the sub-device drivers from the main drivers. I find it very messy that those are mixed.
So: drivers/media/subdevs
We might subdivide /subdevs even further (sensors, encoders, decoders, etc.) but I am not sure if that is worthwhile.
Frankly, the current directory structure (other than the lack of a subdevs directory) doesn't bother me. But your proposal is a bit cleaner.
Regards,
Hans
Quoted 15 lines
Comments?
Regards,
Mauro-
PS.: for now, I don't intend to touch at I2C/ancillary drivers. We may latter move the i2c drivers that aren't frontend/tuners to media/i2c or to media/common. --
To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [RFC] file tree rearrangement - was: Re: [RFC PATCH 0/3] Improve Kconfig selection for media devices
Quoted 89 lines · Hans Verkuil
Quoted 12 lines · On Sun May 27 2012 19:13:38 Mauro Carvalho Chehab wrote:
Em 27-05-2012 13:56, Mauro Carvalho Chehab escreveu:
Quoted 11 lines
The
Kconfigbuilding system is improperly selecting some drivers, like analog TV tuners even when this is not required.Rearrange the
Kconfigin a way to prevent that.Mauro Carvalho Chehab (3):
media: reorganize the mainKconfigitems
media: RemoveVIDEO_MEDIAKconfigoption
media: only show V4L devices based on device type selectiondrivers/media/Kconfig | 114+++++++++++++++++++++++------------
Quoted 11 lines
Quoted 10 lines
drivers/media/common/tuners/Kconfig | 64 ++++++++++---------- drivers/media/dvb/frontends/Kconfig | 1 + drivers/media/radio/Kconfig | 1 + drivers/media/rc/Kconfig | 29 ++++----- drivers/media/video/Kconfig | 76 +++++++++++++++++------ drivers/media/video/m5mols/Kconfig | 1 + drivers/media/video/pvrusb2/Kconfig | 1 - drivers/media/video/smiapp/Kconfig | 1 + 9 files changed, 181 insertions(+), 107 deletions(-)Quoted 1 line
The organization between DVB only, V4L only and hybrid devices are
somewhat
Quoted 1 line
confusing on our tree. From time to time, someone proposes changing
one driver
Quoted 1 line
from one place to another or complains that "his device is DVB only
but it is
Quoted 1 line
inside the V4L tree" (and other similar requests). This sometimes
happen because
Quoted 1 line
the same driver can support analog only, digital only or hybrid
devices.
Quoted 5 lines
Also, one driver may start as a DVB only or as a V4L only and then it can be latter be converted into an hybrid driver.
So, the better is to rearrange the drivers tree, in order to fix this
issue,
Quoted 1 line
removing them from /video and /dvb, and storing them on a better
place.
Quoted 2 lines
So, my proposal is to move all radio, analog TV, digital TV, webcams
and grabber
Quoted 6 lines
bridge drivers to this arrangement:
drivers/media/isa- ISA driversdrivers/media/usb- USB driversdrivers/media/pci- PCI/PCIe driversdrivers/media/platform- platform drivers
drivers/media/parportdrivers/media/i2cAlso, if we do this then I would really like to separate the sub-device drivers
from the main drivers. I find it very messy that those are mixed.So:
drivers/media/subdevsWe might subdivide /subdevs even further (sensors, encoders, decoders, etc.) but
I am not sure if that is worthwhile.Frankly, the current directory structure (other than the lack of a subdevs
directory) doesn't bother me. But your proposal is a bit cleaner.Regards,
Hans
Quoted 9 lines
Comments?
Regards,
Mauro-
PS.: for now, I don't intend to touch at I2C/ancillary drivers. We
may latter move
Quoted 1 line
the i2c drivers that aren't frontend/tuners to media/i2c or to
media/common.
Quoted 2 lines
--
To unsubscribe from this list: send the line "unsubscribelinux-media" in
Quoted 8 lines
Quoted 3 lines
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Also
cx2341x and tveeprom
are oddballs. I can't think of any other exceptions at the moment.
Regards,
Andy
Re: [RFC] file tree rearrangement - was: Re: [RFC PATCH 0/3] Improve Kconfig selection for media devices
Em 27-05-2012 15:47, Andy Walls escreveu:
Quoted 100 lines
Quoted 89 lines · Hans Verkuil
Quoted 12 lines · On Sun May 27 2012 19:13:38 Mauro Carvalho Chehab wrote:
Em 27-05-2012 13:56, Mauro Carvalho Chehab escreveu:
Quoted 11 lines
The
Kconfigbuilding system is improperly selecting some drivers, like analog TV tuners even when this is not required.Rearrange the
Kconfigin a way to prevent that.Mauro Carvalho Chehab (3):
media: reorganize the mainKconfigitems
media: RemoveVIDEO_MEDIAKconfigoption
media: only show V4L devices based on device type selectiondrivers/media/Kconfig | 114+++++++++++++++++++++++------------
Quoted 11 lines
Quoted 10 lines
drivers/media/common/tuners/Kconfig | 64 ++++++++++---------- drivers/media/dvb/frontends/Kconfig | 1 + drivers/media/radio/Kconfig | 1 + drivers/media/rc/Kconfig | 29 ++++----- drivers/media/video/Kconfig | 76 +++++++++++++++++------ drivers/media/video/m5mols/Kconfig | 1 + drivers/media/video/pvrusb2/Kconfig | 1 - drivers/media/video/smiapp/Kconfig | 1 + 9 files changed, 181 insertions(+), 107 deletions(-)Quoted 1 line
The organization between DVB only, V4L only and hybrid devices are
somewhat
Quoted 1 line
confusing on our tree. From time to time, someone proposes changing
one driver
Quoted 1 line
from one place to another or complains that "his device is DVB only
but it is
Quoted 1 line
inside the V4L tree" (and other similar requests). This sometimes
happen because
Quoted 1 line
the same driver can support analog only, digital only or hybrid
devices.
Quoted 5 lines
Also, one driver may start as a DVB only or as a V4L only and then it can be latter be converted into an hybrid driver.
So, the better is to rearrange the drivers tree, in order to fix this
issue,
Quoted 1 line
removing them from /video and /dvb, and storing them on a better
place.
Quoted 2 lines
So, my proposal is to move all radio, analog TV, digital TV, webcams
and grabber
Quoted 6 lines
bridge drivers to this arrangement:
drivers/media/isa- ISA driversdrivers/media/usb- USB driversdrivers/media/pci- PCI/PCIe driversdrivers/media/platform- platform drivers
drivers/media/parportdrivers/media/i2cAlso, if we do this then I would really like to separate the sub-device drivers
from the main drivers. I find it very messy that those are mixed.So:
drivers/media/subdevsWe might subdivide /subdevs even further (sensors, encoders, decoders, etc.) but
I am not sure if that is worthwhile.Frankly, the current directory structure (other than the lack of a subdevs
directory) doesn't bother me. But your proposal is a bit cleaner.Regards,
Hans
Quoted 9 lines
Comments?
Regards,
Mauro-
PS.: for now, I don't intend to touch at I2C/ancillary drivers. We
may latter move
Quoted 1 line
the i2c drivers that aren't frontend/tuners to media/i2c or to
media/common.
Quoted 2 lines
--
To unsubscribe from this list: send the line "unsubscribelinux-media" in
Quoted 8 lines
Quoted 3 lines
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 3 lines
Also
cx2341x and tveeprom
cx2341x is a sub-device module. So, it can go to drivers/media/subdevs (ok, it has other problems, but solving them is not as simple as moving things from one place to the other - so let's not mix it here).
The case of tveeprom is different, because it is not really a sub-device.
Btw, this file is bad named - it should be called hauppauge-eeprom or something like that. Yet, I wouldn't move it out of drivers/media/video (or at least on this first step).
There are other similar cases. for example, btcx-risc is a common module used by both cx88 and bttv drivers to handle the RISC processor that exists on both. This is not a sub-device, so it won't fit on the above structure. .
Maybe we can create a drivers/media/v4l2-core and move everything that belongs to the core into it, and the things that won't fit elsewhere can be moved into drivers/media/common.
I would also move tuner, dvb-core and frontend to an upper level:
So, in summary, the final structure would be:
drivers/media
/common - drivers that are "common" to several ones, like tveeprom and btcx-risc
/dvb-core - what is already at dvb/dvb-core
/frontends - what is already at dvb/frontends
/isa - all ISA drivers
/parport - all parallel port drivers
/pci - all PCI/PCIe drivers
/platform - all platform drivers
/subdevice - all sub-device drivers
/tuner - what's currently at common/tuners
/usb - all USB drivers
/v4l2-core - V4L2 core
After doing that, the Kconfig options at isa, parport, pci, platform and usb can be optimized further, based on the media support "filters":
<m> Multimedia support --->
[ ] Webcams and video grabbers support
[ ] Analog TV support
[ ] Digital TV support
[ ] AM/FM radio receivers/transmitters support
[ ] Remote Controller support Comments?
Mauro
Re: [RFC] file tree rearrangement - was: Re: [RFC PATCH 0/3] Improve Kconfig selection for media devices
Quoted 101 lines · On Sun May 27 2012 22:15:08 Mauro Carvalho Chehab wrote:
Em 27-05-2012 15:47, Andy Walls escreveu:
Quoted 100 lines
Quoted 97 lines · Hans Verkuil
Quoted 12 lines · On Sun May 27 2012 19:13:38 Mauro Carvalho Chehab wrote:
Em 27-05-2012 13:56, Mauro Carvalho Chehab escreveu:
Quoted 11 lines
The
Kconfigbuilding system is improperly selecting some drivers, like analog TV tuners even when this is not required.Rearrange the
Kconfigin a way to prevent that.Mauro Carvalho Chehab (3):
media: reorganize the mainKconfigitems
media: RemoveVIDEO_MEDIAKconfigoption
media: only show V4L devices based on device type selectiondrivers/media/Kconfig | 114+++++++++++++++++++++++------------
Quoted 11 lines
Quoted 10 lines
drivers/media/common/tuners/Kconfig | 64 ++++++++++---------- drivers/media/dvb/frontends/Kconfig | 1 + drivers/media/radio/Kconfig | 1 + drivers/media/rc/Kconfig | 29 ++++----- drivers/media/video/Kconfig | 76 +++++++++++++++++------ drivers/media/video/m5mols/Kconfig | 1 + drivers/media/video/pvrusb2/Kconfig | 1 - drivers/media/video/smiapp/Kconfig | 1 + 9 files changed, 181 insertions(+), 107 deletions(-)Quoted 1 line
The organization between DVB only, V4L only and hybrid devices are
somewhat
Quoted 1 line
confusing on our tree. From time to time, someone proposes changing
one driver
Quoted 1 line
from one place to another or complains that "his device is DVB only
but it is
Quoted 1 line
inside the V4L tree" (and other similar requests). This sometimes
happen because
Quoted 1 line
the same driver can support analog only, digital only or hybrid
devices.
Quoted 5 lines
Also, one driver may start as a DVB only or as a V4L only and then it can be latter be converted into an hybrid driver.
So, the better is to rearrange the drivers tree, in order to fix this
issue,
Quoted 1 line
removing them from /video and /dvb, and storing them on a better
place.
Quoted 2 lines
So, my proposal is to move all radio, analog TV, digital TV, webcams
and grabber
Quoted 6 lines
bridge drivers to this arrangement:
drivers/media/isa- ISA driversdrivers/media/usb- USB driversdrivers/media/pci- PCI/PCIe driversdrivers/media/platform- platform drivers
drivers/media/parportdrivers/media/i2cAlso, if we do this then I would really like to separate the sub-device drivers
from the main drivers. I find it very messy that those are mixed.So:
drivers/media/subdevsWe might subdivide /subdevs even further (sensors, encoders, decoders, etc.) but
I am not sure if that is worthwhile.Frankly, the current directory structure (other than the lack of a subdevs
directory) doesn't bother me. But your proposal is a bit cleaner.Regards,
Hans
Quoted 9 lines
Comments?
Regards,
Mauro-
PS.: for now, I don't intend to touch at I2C/ancillary drivers. We
may latter move
Quoted 1 line
the i2c drivers that aren't frontend/tuners to media/i2c or to
media/common.
Quoted 2 lines
--
To unsubscribe from this list: send the line "unsubscribelinux-media" in
Quoted 3 lines
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 7 lines
Quoted 3 lines
Also
cx2341x and tveeprom
cx2341x is a sub-device module. So, it can go to
drivers/media/subdevs(ok, it has other problems, but solving them is not as simple as moving things from one place to the other - so let's not mix it here).
It's not a subdev. It's a helper module, so it should go to common (or 'helpers').
Quoted 6 lines
The case of tveeprom is different, because it is not really a sub-device.
Btw, this file is bad named - it should be called hauppauge-eeprom or something like that. Yet, I wouldn't move it out of
drivers/media/video(or at least on this first step).
Quoted 8 lines
There are other similar cases. for example, btcx-risc is a common module used by both cx88 and bttv drivers to handle the RISC processor that exists on both. This is not a sub-device, so it won't fit on the above structure. .
Maybe we can create a
drivers/media/v4l2-coreand move everything that belongs to the core into it, and the things that won't fit elsewhere can be moved intodrivers/media/common.
Ack.
Quoted 6 lines
I would also move tuner, dvb-core and frontend to an upper level:
So, in summary, the final structure would be:
drivers/media
/common - drivers that are "common" to several ones, like tveeprom and btcx-risc
And saa7146 sources in /common/saa7146. That will (finally!) make sense.
What can go in here:
- saa7146
- tveeprom
- cx2341x
- btcx-risc
- radio-isa
- smiapp-pll (?)
We should probably also try and get tea575x-tuner.c in here. But that can be done in a separate step.
Quoted 4 lines
/dvb-core - what is already at dvb/dvb-core
/frontends - what is already at dvb/frontends
/isa - all ISA drivers
/parport - all parallel port drivers
I propose to replace /parport with a /others directory for things of which we have only a very few (parport, i2c) or are hard to classify (si470x, vivi, mem2mem_testdev).
Quoted 3 lines
/pci - all PCI/PCIe drivers
/platform - all platform drivers
/subdevice - all sub-device drivers
Either /subdevices or /subdevs. It should definitely be plural.
Quoted 1 line
/tuner - what's currently at common/tuners
Ditto: /tuners
Quoted 2 lines
/usb - all USB drivers /v4l2-core - V4L2 core
/media-core for the media*.c sources.
Quoted 10 lines
After doing that, the
Kconfigoptions at isa, parport, pci, platform and usb can be optimized further, based on the media support "filters":<m> Multimedia support --->
[ ] Webcams and video grabbers support [ ] Analog TV support [ ] Digital TV support [ ] AM/FM radio receivers/transmitters support [ ] Remote Controller support
One thing wasn't clear to me: if I have a hybrid device I gathered that it be enabled only if both analog and digital are set, right? But is that also true for radio and RC support? So if I have a card with all of the above, will it be enabled only if I check all four items?
That doesn't really make sense to me. I think the average end-user just cares about the hardware that he wants to enable, and if a hybrid device is selected, then that should select all the various core configs that it needs. Not the other way around.
Another thing: I would move 'video grabber' away from webcams and to 'Analog TV/Video support'. And rename 'Digital TV' to 'Digital TV/Video' as well. A video grabber driver has much more to do with TV then it does with webcams.
But basically I would do away with filters altogether and just present a menu with bus type (usb/pci/platform/isa/others) and subdivide each bus either by captions:
*** Webcams ***
*** Analog TV/Video Capture ***
or corresponding submenus. This could be decided based on the number of devices in each category.
Regards,
Hans
Re: [RFC] file tree rearrangement - was: Re: [RFC PATCH 0/3] Improve Kconfig selection for media devices
Em 28-05-2012 06:42, Hans Verkuil escreveu:
Quoted 150 lines · On Sun May 27 2012 22:15:08 Mauro Carvalho Chehab wrote:
Quoted 101 lines
Em 27-05-2012 15:47, Andy Walls escreveu:
Quoted 100 lines
Quoted 97 lines · Hans Verkuil
Quoted 12 lines · On Sun May 27 2012 19:13:38 Mauro Carvalho Chehab wrote:
Em 27-05-2012 13:56, Mauro Carvalho Chehab escreveu:
Quoted 11 lines
The
Kconfigbuilding system is improperly selecting some drivers, like analog TV tuners even when this is not required.Rearrange the
Kconfigin a way to prevent that.Mauro Carvalho Chehab (3):
media: reorganize the mainKconfigitems
media: RemoveVIDEO_MEDIAKconfigoption
media: only show V4L devices based on device type selectiondrivers/media/Kconfig | 114+++++++++++++++++++++++------------
Quoted 11 lines
Quoted 10 lines
drivers/media/common/tuners/Kconfig | 64 ++++++++++---------- drivers/media/dvb/frontends/Kconfig | 1 + drivers/media/radio/Kconfig | 1 + drivers/media/rc/Kconfig | 29 ++++----- drivers/media/video/Kconfig | 76 +++++++++++++++++------ drivers/media/video/m5mols/Kconfig | 1 + drivers/media/video/pvrusb2/Kconfig | 1 - drivers/media/video/smiapp/Kconfig | 1 + 9 files changed, 181 insertions(+), 107 deletions(-)Quoted 1 line
The organization between DVB only, V4L only and hybrid devices are
somewhat
Quoted 1 line
confusing on our tree. From time to time, someone proposes changing
one driver
Quoted 1 line
from one place to another or complains that "his device is DVB only
but it is
Quoted 1 line
inside the V4L tree" (and other similar requests). This sometimes
happen because
Quoted 1 line
the same driver can support analog only, digital only or hybrid
devices.
Quoted 5 lines
Also, one driver may start as a DVB only or as a V4L only and then it can be latter be converted into an hybrid driver.
So, the better is to rearrange the drivers tree, in order to fix this
issue,
Quoted 1 line
removing them from /video and /dvb, and storing them on a better
place.
Quoted 2 lines
So, my proposal is to move all radio, analog TV, digital TV, webcams
and grabber
Quoted 6 lines
bridge drivers to this arrangement:
drivers/media/isa- ISA driversdrivers/media/usb- USB driversdrivers/media/pci- PCI/PCIe driversdrivers/media/platform- platform drivers
drivers/media/parportdrivers/media/i2cAlso, if we do this then I would really like to separate the sub-device drivers
from the main drivers. I find it very messy that those are mixed.So:
drivers/media/subdevsWe might subdivide /subdevs even further (sensors, encoders, decoders, etc.) but
I am not sure if that is worthwhile.Frankly, the current directory structure (other than the lack of a subdevs
directory) doesn't bother me. But your proposal is a bit cleaner.Regards,
Hans
Quoted 9 lines
Comments?
Regards,
Mauro-
PS.: for now, I don't intend to touch at I2C/ancillary drivers. We
may latter move
Quoted 1 line
the i2c drivers that aren't frontend/tuners to media/i2c or to
media/common.
Quoted 2 lines
--
To unsubscribe from this list: send the line "unsubscribelinux-media" in
Quoted 3 lines
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.htmlQuoted 7 lines
Quoted 3 lines
Also
cx2341x and tveeprom
cx2341x is a sub-device module. So, it can go to
drivers/media/subdevs(ok, it has other problems, but solving them is not as simple as moving things from one place to the other - so let's not mix it here).It's not a subdev. It's a helper module, so it should go to common (or 'helpers').
Quoted 6 lines
The case of tveeprom is different, because it is not really a sub-device.
Btw, this file is bad named - it should be called hauppauge-eeprom or something like that. Yet, I wouldn't move it out of
drivers/media/video(or at least on this first step).Quoted 8 lines
There are other similar cases. for example, btcx-risc is a common module used by both cx88 and bttv drivers to handle the RISC processor that exists on both. This is not a sub-device, so it won't fit on the above structure. .
Maybe we can create a
drivers/media/v4l2-coreand move everything that belongs to the core into it, and the things that won't fit elsewhere can be moved intodrivers/media/common.Ack.
Quoted 6 lines
I would also move tuner, dvb-core and frontend to an upper level:
So, in summary, the final structure would be:
drivers/media
/common - drivers that are "common" to several ones, like tveeprom and btcx-riscAnd saa7146 sources in /common/saa7146. That will (finally!) make sense.
What can go in here:
- saa7146
- tveeprom
- cx2341x
- btcx-risc
- radio-isa
- smiapp-pll (?)We should probably also try and get
tea575x-tuner.cin here. But that can be done in a separate step.
Quoted 8 lines
Quoted 4 lines
/dvb-core - what is already at dvb/dvb-core
/frontends - what is already at dvb/frontends
/isa - all ISA drivers
/parport - all parallel port driversI propose to replace /parport with a /others directory for things of which we have only a very few (parport, i2c) or are hard to classify (si470x, vivi,
mem2mem_testdev).
It makes sense to group those drivers that use other buses together. However, the term 'other' could have other meanings than "other bus" or "other drivers".
I think "other-bus" could be an appropriate name for that.
Quoted 6 lines
Quoted 4 lines
/pci - all PCI/PCIe drivers
/platform - all platform drivers
/subdevice - all sub-device driversEither /subdevices or /subdevs. It should definitely be plural.
I prefer to put all names in singular, but as "frontends" and "tuners" are already in plural, "subdevices" should follow it.
Quoted 8 lines
Quoted 1 line
/tuner - what's currently at common/tuners
Ditto: /tuners
Quoted 2 lines
/usb - all USB drivers /v4l2-core - V4L2 core/media-core for the media*.c sources.
"media-core" is a very bad name, as "media" is the name of the subsystem. maybe "media-ctrl-core" or something similar.
Quoted 11 lines
Quoted 10 lines
After doing that, the
Kconfigoptions at isa, parport, pci, platform and usb can be optimized further, based on the media support "filters":<m> Multimedia support --->
[ ] Webcams and video grabbers support [ ] Analog TV support [ ] Digital TV support [ ] AM/FM radio receivers/transmitters support [ ] Remote Controller support
Quoted 4 lines
One thing wasn't clear to me: if I have a hybrid device I gathered that it be enabled only if both analog and digital are set, right? But is that also true for radio and RC support? So if I have a card with all of the above, will it be enabled only if I check all four items?
No.
The tendency is to break drivers into RC support, analog TV support and DVB support. There are several requirements for that, and it actually makes sense to allow disabling what's not needed.
So, the idea here is that, if only analog TV is selected, only the analog part of a board will be enabled. For example, if you select only analog TV, this is how the USB menu will show, for em28xx:
--- V4L USB devices
*** Webcam and/or TV USB devices ***
< > Empia EM28xx USB video capture support (NEW)
(em28xx has the RC part and the DTV part as separate Kconfig options)
Currently, radio will be enabled together with em28xx, but it would be easy to add a logic inside em28xx-video to disable radio, if RADIO_SUPPORT is disabled.
Unfortunately, all hybrid drivers currently require analog TV, although most of them implements the analog support on a separate file (foo-video.c). It shouldn't be hard and it makes sense to split hybrid drivers into a core driver, an analog driver, rc driver and a dvb driver. I don't think it makes sense to split radio into a separate driver, but it shouldn't be hard to do that too.
This is actually one of the issues I want to solve: there are several em28xx devices that don't support analog TV at all. Yet, V4L2 is not selected, the driver won't even appear to the user.
Of course, just renaming the directories won't help with hybrid cards itself. A further work is required on each hybrid drivers.
Quoted 3 lines
That doesn't really make sense to me. I think the average end-user just cares about the hardware that he wants to enable, and if a hybrid device is selected, then that should select all the various core configs that it needs. Not the other way around.
We can add an option for "hybrid TV support" that would enable all 4 cores, in order to help the average end-user, although I don't think he would have any troubles to understand that, if his board has analog TV, digital TV and Remote Controller, that all those 3 options need to be selected, for full device support.
Quoted 5 lines
Another thing: I would move 'video grabber' away from webcams and to 'Analog TV/Video support'. And rename 'Digital TV' to 'Digital TV/Video' as well. A video grabber driver has much more to do with TV then it does with webcams.
From the
Kconfigperspective, the difference between the 3 video categories is that:
- analog TV: tuner-core is required, and 10 other tuner drivers that are listed inside tuner core;
- digital TV: tuners are needed, but those are either customised or auto-selected;
- camera/grabber: no tuner is needed.
Also, there are several professional camera devices at bttv, cx88, saa7134 and cx25821 that don't require tuners, and support for them can be compiled without tuner support.
In other words, a camera driver and a grabber driver are very similar. Of course, a webcam will also require a sensor (on several drivers, the sensor is internal to the driver, so no extra modules are needed). Of course, a platform camera driver will also require "media controller", "subdev API", but those features are already enabled via other config options.
So, from tuners' perspective, and from Kconfig's perspective, a video grabber is just like a professional camera driver, a cellphone camera or a webcam driver.
Quoted 8 lines
But basically I would do away with filters altogether and just present a menu with bus type (usb/pci/platform/isa/others) and subdivide each bus either by captions:
*** Webcams ***
*** Analog TV/Video Capture ***or corresponding submenus. This could be decided based on the number of devices in each category.
The Kconfig logic for doing that would be a nightmare, as "select" doesn't auto-select the dependencies, and a logic using "depends on" would be very hard to maintain.
So, assuming for example, the em28xx Kconfig, the logic would need to be something like:
config VIDEO_EM28XX
select VIDEO_DEV
select MEDIA_TUNER
config VIDEO_EM28XX_DVB
select DVB_CORE
config VIDEO_EM28XX_RC
select RC_CORE
But MEDIA_TUNER selects 11 drivers, so the above won't work, as select doesn't do dependency check.
Moving all tuner-core dependencies to all analog drivers will be a big and hard-to-maintain patch, as new tuners are added all the times, and they may require changes for all boards.
A reverse depends on might be used for it, but then:
config MEDIA_TUNER
depends on VIDEO_EM28XX || VIDEO_BTTV || ...
would be counter-intuitive for developers and that would bring a long list of dependencies.
Also, if RC_CORE is selected, the RC hardware decoders drivers list should appear, but the list will only appear after selecting the hardware, with will look weird and counter-intuitive for the end-user.
So, I don't think we can get rid of asking the user about what core features are needed by the driver he wants to compile.
Regards,
Mauro
Re: [RFC] file tree rearrangement - was: Re: [RFC PATCH 0/3] Improve Kconfig selection for media devices
Quoted 2 lines · On Mon May 28 2012 13:03:42 Mauro Carvalho Chehab wrote:
Em 28-05-2012 06:42, Hans Verkuil escreveu:
Quoted 1 line · On Sun May 27 2012 22:15:08 Mauro Carvalho Chehab wrote:
...
Quoted 9 lines
Quoted 8 lines
Quoted 4 lines
/dvb-core - what is already at dvb/dvb-core
/frontends - what is already at dvb/frontends
/isa - all ISA drivers
/parport - all parallel port driversI propose to replace /parport with a /others directory for things of which we have only a very few (parport, i2c) or are hard to classify (si470x, vivi,
mem2mem_testdev).
Quoted 5 lines
It makes sense to group those drivers that use other buses together. However, the term 'other' could have other meanings than "other bus" or "other drivers".
I think "other-bus" could be an appropriate name for that.
OK.
Quoted 5 lines
Quoted 1 line
/media-core for the media*.c sources.
"media-core" is a very bad name, as "media" is the name of the subsystem. maybe "media-ctrl-core" or something similar.
mc-core?
Quoted 33 lines
Quoted 12 lines
Quoted 11 lines
After doing that, the
Kconfigoptions at isa, parport, pci, platform and usb can be optimized further, based on the media support "filters":<m> Multimedia support --->
[ ] Webcams and video grabbers support [ ] Analog TV support [ ] Digital TV support [ ] AM/FM radio receivers/transmitters support [ ] Remote Controller supportQuoted 4 lines
One thing wasn't clear to me: if I have a hybrid device I gathered that it be enabled only if both analog and digital are set, right? But is that also true for radio and RC support? So if I have a card with all of the above, will it be enabled only if I check all four items?
No.
The tendency is to break drivers into RC support, analog TV support and DVB support. There are several requirements for that, and it actually makes sense to allow disabling what's not needed.
So, the idea here is that, if only analog TV is selected, only the analog part of a board will be enabled. For example, if you select only analog TV, this is how the USB menu will show, for em28xx:
--- V4L USB devices
*** Webcam and/or TV USB devices ***
< > Empia EM28xx USB video capture support (NEW)(em28xx has the RC part and the DTV part as separate
Kconfigoptions)
Quoted 8 lines
Currently, radio will be enabled together with em28xx, but it would be easy to add a logic inside em28xx-video to disable radio, if
RADIO_SUPPORTis disabled.Unfortunately, all hybrid drivers currently require analog TV, although most of them implements the analog support on a separate file (
foo-video.c). It shouldn't be hard and it makes sense to split hybrid drivers into a core driver, an analog driver, rc driver and a dvb driver. I don't think it makes sense to split radio into a separate driver, but it shouldn't be hard to do that too.
OK, I misunderstood your original description.
Quoted 32 lines
This is actually one of the issues I want to solve: there are several em28xx devices that don't support analog TV at all. Yet, V4L2 is not selected, the driver won't even appear to the user.
Of course, just renaming the directories won't help with hybrid cards itself. A further work is required on each hybrid drivers.
Quoted 3 lines
That doesn't really make sense to me. I think the average end-user just cares about the hardware that he wants to enable, and if a hybrid device is selected, then that should select all the various core configs that it needs. Not the other way around.
We can add an option for "hybrid TV support" that would enable all 4 cores, in order to help the average end-user, although I don't think he would have any troubles to understand that, if his board has analog TV, digital TV and Remote Controller, that all those 3 options need to be selected, for full device support.
Quoted 3 lines
Another thing: I would move 'video grabber' away from webcams and to 'Analog TV/Video support'. And rename 'Digital TV' to 'Digital TV/Video' as well. A video grabber driver has much more to do with TV then it does with webcams.
From the
Kconfigperspective, the difference between the 3 video categories is that:- analog TV: tuner-core is required, and 10 other tuner drivers that are listed inside tuner core;
- digital TV: tuners are needed, but those are either customised or auto-selected;
- camera/grabber: no tuner is needed.
Also, there are several professional camera devices at bttv, cx88, saa7134 and cx25821 that don't require tuners, and support for them can be compiled without tuner support.
Quoted 7 lines
In other words, a camera driver and a grabber driver are very similar. Of course, a webcam will also require a sensor (on several drivers, the sensor is internal to the driver, so no extra modules are needed). Of course, a platform camera driver will also require "media controller", "subdev API", but those features are already enabled via other config options.
So, from tuners' perspective, and from Kconfig's perspective, a video grabber is just like a professional camera driver, a cellphone camera or a webcam driver.
I would never have understood that from the menu names. In particular that 'Analog TV' implies a tuner. For me it could just as well imply a composite input video grabber.
How about this:
[ ] Video (aka V4L2) support
[ ] Digital TV Tuner (aka DVB) support
[ ] Analog TV Tuner support
[ ] Radio Tuner/Modulator support
[ ] Remote Controller support
I didn't like the term 'Webcams and video grabbers' as that description is never 100%. The help text can clarify this in more detail, of course.
Regards,
Hans
Re: [RFC] file tree rearrangement - was: Re: [RFC PATCH 0/3] Improve Kconfig selection for media devices
Em 28-05-2012 08:45, Hans Verkuil escreveu:
Quoted 3 lines · On Mon May 28 2012 13:03:42 Mauro Carvalho Chehab wrote:
Quoted 2 lines
Em 28-05-2012 06:42, Hans Verkuil escreveu:
Quoted 1 line · On Sun May 27 2012 22:15:08 Mauro Carvalho Chehab wrote:
<skip/>
Quoted 7 lines
Quoted 5 lines
Quoted 1 line
/media-core for the media*.c sources.
"media-core" is a very bad name, as "media" is the name of the subsystem. maybe "media-ctrl-core" or something similar.
mc-core?
Ok.
<skip/>
Quoted 21 lines
Quoted 21 lines
Quoted 3 lines
Another thing: I would move 'video grabber' away from webcams and to 'Analog TV/Video support'. And rename 'Digital TV' to 'Digital TV/Video' as well. A video grabber driver has much more to do with TV then it does with webcams.
From the
Kconfigperspective, the difference between the 3 video categories is that:- analog TV: tuner-core is required, and 10 other tuner drivers that are listed inside tuner core;
- digital TV: tuners are needed, but those are either customised or auto-selected;
- camera/grabber: no tuner is needed.
Also, there are several professional camera devices at bttv, cx88, saa7134 and cx25821 that don't require tuners, and support for them can be compiled without tuner support.
In other words, a camera driver and a grabber driver are very similar. Of course, a webcam will also require a sensor (on several drivers, the sensor is internal to the driver, so no extra modules are needed). Of course, a platform camera driver will also require "media controller", "subdev API", but those features are already enabled via other config options.
Quoted 5 lines
Quoted 2 lines
So, from tuners' perspective, and from Kconfig's perspective, a video grabber is just like a professional camera driver, a cellphone camera or a webcam driver.
I would never have understood that from the menu names. In particular that 'Analog TV' implies a tuner. For me it could just as well imply a composite input video grabber.
(the discussion below is a little OT for file rearrangement - It belongs to the Kconfig selection patches - I'm about to post a version 2 of it)
Can you use analog TV without a tuner? ;)
Analog TV is a clear concept for the end user: it is something that allows tuning a channel and watch it. So, enabling this feature should enable both functionality.
For us, this term causes some confusion as we generally use both "analog TV" and "V4L2" to refer to the same thing.
Quoted 3 lines
How about this:
[ ] Video (aka V4L2) support
DVB is also video. Also Radio is also V4L2 support. So, this seems confusing.
Quoted 1 line
[ ] Digital TV Tuner (aka DVB) support
On both above, I don't like the idea of using an acronym, as it limits the scope.
DVB, btw, is a bad name for the user interface, as users with other digital standards like ATSC may not select it, as they don't have "DVB" standard.
Also, calling it as "tuner" also limits the scope and, worse than that, enforces the idea to the user to call the entire device as "tuner" (ok, some manufacturers do that, but, for us, when someone reports a problem at the tuner, we genrally think about the PLL, and not about the entire device).
Quoted 6 lines
[ ] Analog TV Tuner support
[ ] Radio Tuner/Modulator support
[ ] Remote Controller supportI didn't like the term 'Webcams and video grabbers' as that description is never 100%. The help text can clarify this in more detail, of course.
At version 2, I renamed it to: "Cameras/video grabbers support". Maybe we can use "video capture devices" instead of "video grabbers" to be even more clearer.
Regards,
Mauro
Re: [RFC] file tree rearrangement - was: Re: [RFC PATCH 0/3] Improve Kconfig selection for media devices
In reply to Hans VerkuilEm 27-05-2012 14:25, Hans Verkuil escreveu:
Quoted 39 lines · On Sun May 27 2012 19:13:38 Mauro Carvalho Chehab wrote:
Quoted 38 lines
Em 27-05-2012 13:56, Mauro Carvalho Chehab escreveu:
Quoted 10 lines
The
Kconfigbuilding system is improperly selecting some drivers, like analog TV tuners even when this is not required.Rearrange the
Kconfigin a way to prevent that.Mauro Carvalho Chehab (3):
media: reorganize the mainKconfigitems
media: RemoveVIDEO_MEDIAKconfigoption
media: only show V4L devices based on device type selectionQuoted 11 lines
drivers/media/Kconfig | 114 +++++++++++++++++++++++------------ drivers/media/common/tuners/Kconfig | 64 ++++++++++---------- drivers/media/dvb/frontends/Kconfig | 1 + drivers/media/radio/Kconfig | 1 + drivers/media/rc/Kconfig | 29 ++++----- drivers/media/video/Kconfig | 76 +++++++++++++++++------ drivers/media/video/m5mols/Kconfig | 1 + drivers/media/video/pvrusb2/Kconfig | 1 - drivers/media/video/smiapp/Kconfig | 1 + 9 files changed, 181 insertions(+), 107 deletions(-)The organization between DVB only, V4L only and hybrid devices are somewhat confusing on our tree. From time to time, someone proposes changing one driver from one place to another or complains that "his device is DVB only but it is inside the V4L tree" (and other similar requests). This sometimes happen because the same driver can support analog only, digital only or hybrid devices.
Also, one driver may start as a DVB only or as a V4L only and then it can be latter be converted into an hybrid driver.
So, the better is to rearrange the drivers tree, in order to fix this issue, removing them from /video and /dvb, and storing them on a better place.
So, my proposal is to move all radio, analog TV, digital TV, webcams and grabber bridge drivers to this arrangement:
Quoted 6 lines
Quoted 4 lines
drivers/media/isa- ISA driversdrivers/media/usb- USB driversdrivers/media/pci- PCI/PCIe driversdrivers/media/platform- platform drivers
drivers/media/parport
Ok.
Quoted 1 line
drivers/media/i2c
See below.
Quoted 7 lines
Also, if we do this then I would really like to separate the sub-device drivers from the main drivers. I find it very messy that those are mixed.
So:
drivers/media/subdevsWe might subdivide /subdevs even further (sensors, encoders, decoders, etc.) but I am not sure if that is worthwhile.
I think all subdevs (being i2c or not) should be under the same directory. drivers/media/subdevs seems reasonable.
Sub-dividing them doesn't seem a good idea, as some subdevs may have more than one function.
Quoted 2 lines
Frankly, the current directory structure (other than the lack of a subdevs directory) doesn't bother me. But your proposal is a bit cleaner.
It doesn't bother me either[1], with regards to the existing drivers, but it is confusing for someone that wants to write a new driver.
[1] with exception to the saa7146 driver under media/common - that looks really weird.
Also, for example, Antti proposed to add V4L2 support for dvb-usb. I think he ended by discarding it for his GoC scope of work, but, anyway, with the current arrangement, that would mean that dvb-usb won't fit well at media/dvb (as all other hybrid cards aren't there).
So, as we're removing the explicit Kconfig logic for compiling V4L2 core/DVB core, it makes sense to rearrange the rest of the structure and improve the building system to better handle the media cards, removing the artificial and imperfect divisions that it is used there.
Regards,
Mauro
Re: [RFC] file tree rearrangement - was: Re: [RFC PATCH 0/3] Improve Kconfig selection for media devices
Quoted 56 lines · On Sun May 27 2012 21:54:58 Mauro Carvalho Chehab wrote:
Em 27-05-2012 14:25, Hans Verkuil escreveu:
Quoted 39 lines · On Sun May 27 2012 19:13:38 Mauro Carvalho Chehab wrote:
Quoted 38 lines
Em 27-05-2012 13:56, Mauro Carvalho Chehab escreveu:
Quoted 10 lines
The
Kconfigbuilding system is improperly selecting some drivers, like analog TV tuners even when this is not required.Rearrange the
Kconfigin a way to prevent that.Mauro Carvalho Chehab (3):
media: reorganize the mainKconfigitems
media: RemoveVIDEO_MEDIAKconfigoption
media: only show V4L devices based on device type selectionQuoted 11 lines
drivers/media/Kconfig | 114 +++++++++++++++++++++++------------ drivers/media/common/tuners/Kconfig | 64 ++++++++++---------- drivers/media/dvb/frontends/Kconfig | 1 + drivers/media/radio/Kconfig | 1 + drivers/media/rc/Kconfig | 29 ++++----- drivers/media/video/Kconfig | 76 +++++++++++++++++------ drivers/media/video/m5mols/Kconfig | 1 + drivers/media/video/pvrusb2/Kconfig | 1 - drivers/media/video/smiapp/Kconfig | 1 + 9 files changed, 181 insertions(+), 107 deletions(-)The organization between DVB only, V4L only and hybrid devices are somewhat confusing on our tree. From time to time, someone proposes changing one driver from one place to another or complains that "his device is DVB only but it is inside the V4L tree" (and other similar requests). This sometimes happen because the same driver can support analog only, digital only or hybrid devices.
Also, one driver may start as a DVB only or as a V4L only and then it can be latter be converted into an hybrid driver.
So, the better is to rearrange the drivers tree, in order to fix this issue, removing them from /video and /dvb, and storing them on a better place.
So, my proposal is to move all radio, analog TV, digital TV, webcams and grabber bridge drivers to this arrangement:
Quoted 6 lines
Quoted 4 lines
drivers/media/isa- ISA driversdrivers/media/usb- USB driversdrivers/media/pci- PCI/PCIe driversdrivers/media/platform- platform drivers
drivers/media/parportOk.
Quoted 1 line
drivers/media/i2cSee below.
Quoted 3 lines
Also, if we do this then I would really like to separate the sub-device drivers from the main drivers. I find it very messy that those are mixed.
Quoted 7 lines
Quoted 4 lines
So:
drivers/media/subdevsWe might subdivide /subdevs even further (sensors, encoders, decoders, etc.) but I am not sure if that is worthwhile.
I think all subdevs (being i2c or not) should be under the same directory.
drivers/media/subdevsseems reasonable.
What I meant with media/i2c was not for subdevices but for a few drivers that are pure i2c V4L drivers (radio-tea5764.c, radio-si470x-i2c.c).
I am not sure whether we should bother though. What might be more useful is to have a 'others' subdirectory containing 'odds 'n ends' like parport and i2c drivers, and also drivers like the radio-si470x which comes in a i2c (as I mentioned above) and a usb variant and so is hard to classify (and splitting it up doesn't seem useful).
Quoted 2 lines
Sub-dividing them doesn't seem a good idea, as some subdevs may have more than one function.
I agree (for now :-) ).
Quoted 8 lines
Quoted 2 lines
Frankly, the current directory structure (other than the lack of a subdevs directory) doesn't bother me. But your proposal is a bit cleaner.
It doesn't bother me either[1], with regards to the existing drivers, but it is confusing for someone that wants to write a new driver.
[1] with exception to the saa7146 driver under media/common - that looks really weird.
Things like saa7146, cx2341x, tveeprom, radio-isa are all helper modules for particular types of hardware. So they should go to a 'common' or 'helpers' directory.
Quoted 9 lines
Also, for example, Antti proposed to add V4L2 support for dvb-usb. I think he ended by discarding it for his GoC scope of work, but, anyway, with the current arrangement, that would mean that dvb-usb won't fit well at media/dvb (as all other hybrid cards aren't there).
So, as we're removing the explicit
Kconfiglogic for compiling V4L2 core/DVB core, it makes sense to rearrange the rest of the structure and improve the building system to better handle the media cards, removing the artificial and imperfect divisions that it is used there.
Go for it!
:-)
Regards,
Hans
Re: [RFC PATCH 0/3] Improve Kconfig selection for media devices
In reply to Mauro Carvalho ChehabQuoted 9 lines · On May 27 Mauro Carvalho Chehab wrote:
The
Kconfigbuilding system is improperly selecting some drivers, like analog TV tuners even when this is not required.Rearrange the
Kconfigin a way to prevent that.Mauro Carvalho Chehab (3):
media: reorganize the mainKconfigitems
media: RemoveVIDEO_MEDIAKconfigoption
media: only show V4L devices based on device type selection
On 1/3 "media: reorganize the main Kconfig items":
a) I agree with Sylvester that the MEDIA_WEBCAM_SUPP variable, prompt text, and help text should be worded a bit more general. Wouldn't this variable also cover industrial cameras and who knows what other kinds of video inputs? I also agree with Sylvester about the SUPP vs. SUPPORT thing.
b) Small typo in the MEDIA_ANALOG_TV_SUPP help text: of -> or.
c) The RC_CORE_SUPP help text gives the impression that RC core is always needed if there is hardware with an IR feature. But the firedtv driver is a case where the driver directly works on top of the input subsystem rather than on RC core. Maybe there are more such cases. (Currently we don't ask whether FireDTV owners want IR support; we silently build the IR part of firedtv in if CONFIG_INPUT is set, and silently omit the IR part of firedtv if CONFIG_INPUT was disabled, which requires CONFIG_EXPERT.)
How about turning the "Remote Controller support" option into merely a filter for standalone IR and RF receivers and transmitters, whereas Kconfig options in the analog and digital TV categories silently do "select RC_CORE if INPUT" for combined tuner + IR/RF rx/tx hardware?
Signature · 3 lines
Stefan Richter -=====-===-- -=-= ===-- http://arcgraph.de/sr/
Re: [RFC PATCH 0/3] Improve Kconfig selection for media devices
Em 28-05-2012 06:48, Stefan Richter escreveu:
Quoted 13 lines · On May 27 Mauro Carvalho Chehab wrote:
Quoted 9 lines
The
Kconfigbuilding system is improperly selecting some drivers, like analog TV tuners even when this is not required.Rearrange the
Kconfigin a way to prevent that.Mauro Carvalho Chehab (3):
media: reorganize the mainKconfigitems
media: RemoveVIDEO_MEDIAKconfigoption
media: only show V4L devices based on device type selectionOn 1/3 "media: reorganize the main
Kconfigitems":
Quoted 7 lines
a) I agree with Sylvester that the
MEDIA_WEBCAM_SUPPvariable, prompt text, and help text should be worded a bit more general. Wouldn't this variable also cover industrial cameras and who knows what other kinds of video inputs? I also agree with Sylvester about the SUPP vs. SUPPORT thing.b) Small typo in the
MEDIA_ANALOG_TV_SUPPhelp text: of -> or.
Ok, fixed both above issues. I'll post a version 2 patch series soon.
Quoted 4 lines
c) The
RC_CORE_SUPPhelp text gives the impression that RC core is always needed if there is hardware with an IR feature. But the firedtv driver is a case where the driver directly works on top of the input subsystem rather than on RC core. Maybe there are more such cases.
All other drivers use RC_CORE, as we've replaced the existing implementations to use it, removing bad/inconsistent IR code implementations everywhere. The only driver left is firedtv.
Quoted 9 lines
(Currently we don't ask whether FireDTV owners want IR support; we silently build the IR part of firedtv in if
CONFIG_INPUTis set, and silently omit the IR part of firedtv ifCONFIG_INPUTwas disabled, which requiresCONFIG_EXPERT.)How about turning the "Remote Controller support" option into merely a filter for standalone IR and RF receivers and transmitters, whereas
Kconfigoptions in the analog and digital TV categories silently do "selectRC_COREif INPUT" for combined tuner + IR/RF rx/tx hardware?
The right thing to do is to convert drivers/media/dvb/firewire/firedtv-rc.c to use rc-core. There are several issues with the current implementation:
- IR keycode tables are hardcoded;
- There is a "magic" to convert a 16 bits scancode (NEC protocol?) into a key;
- There's no way to replace the existing table to an user-provided one;
- The IR userspace tools won't work, as it doesn't export the needed sysfs nodes to report an IR.
If you want, I can write a patch doing that, but I can't test it here, as I don't have a firedtv device.
Regards,
Mauro
Re: [RFC PATCH 0/3] Improve Kconfig selection for media devices
Quoted 9 lines · On May 28 Mauro Carvalho Chehab wrote:
Em 28-05-2012 06:48, Stefan Richter escreveu:
Quoted 4 lines
c) The
RC_CORE_SUPPhelp text gives the impression that RC core is always needed if there is hardware with an IR feature. But the firedtv driver is a case where the driver directly works on top of the input subsystem rather than on RC core. Maybe there are more such cases.All other drivers use
RC_CORE, as we've replaced the existing implementations to use it, removing bad/inconsistent IR code implementations everywhere. The only driver left is firedtv.
[...]
Quoted 8 lines
The right thing to do is to convert
drivers/media/dvb/firewire/firedtv-rc.cto use rc-core. There are several issues with the current implementation:- IR keycode tables are hardcoded;
- There is a "magic" to convert a 16 bits scancode (NEC protocol?) into a key;
- There's no way to replace the existing table to an user-provided one;
There are two tables: An old mapping and a new mapping. The new mapping is copied into a newly allocated writable array. It should be possible to overwrite this array by means of EVIOCSKEYCODE ioctls.
If I remember correctly, the firedtv driver sources came only with the old mapping table when they were submitted for upstream merge. When I helped to clean up the driver, I noticed that the two FireDTV C/CI and T/CI (which I newly purchased at the time as test devices) emitted entirely different scan codes than what the sources suggested. I suppose the original driver sources were written against older firmware or maybe older hardware revisions, possibly even prototype hardware. We would have to get hold of the original authors if we wanted to find out.
Anyway, I implemented the new scancode->keycode mapping in a way that followed Dimitry's (?) review advice at that time, but left the old immutable mapping in there as fallback if an old scancode was received.
If it is a burden, we could rip out the old table and see if anybody complains.
Quoted 2 lines
- The IR userspace tools won't work, as it doesn't export the needed sysfs nodes to report an IR.
But at least keypad/ keyboard related userspace should work.
Quoted 2 lines
If you want, I can write a patch doing that, but I can't test it here, as I don't have a firedtv device.
I can test such a patch as spare time permits if you point me to particular tools that I should test.
Signature · 3 lines
Stefan Richter -=====-===-- -=-= ===-- http://arcgraph.de/sr/
Re: [RFC PATCH 0/3] Improve Kconfig selection for media devices
Em 28-05-2012 09:17, Stefan Richter escreveu:
Quoted 20 lines · On May 28 Mauro Carvalho Chehab wrote:
Quoted 9 lines
Em 28-05-2012 06:48, Stefan Richter escreveu:
Quoted 4 lines
c) The
RC_CORE_SUPPhelp text gives the impression that RC core is always needed if there is hardware with an IR feature. But the firedtv driver is a case where the driver directly works on top of the input subsystem rather than on RC core. Maybe there are more such cases.All other drivers use
RC_CORE, as we've replaced the existing implementations to use it, removing bad/inconsistent IR code implementations everywhere. The only driver left is firedtv.[...]
Quoted 8 lines
The right thing to do is to convert
drivers/media/dvb/firewire/firedtv-rc.cto use rc-core. There are several issues with the current implementation:- IR keycode tables are hardcoded;
- There is a "magic" to convert a 16 bits scancode (NEC protocol?) into a key;
- There's no way to replace the existing table to an user-provided one;
Quoted 3 lines
There are two tables: An old mapping and a new mapping. The new mapping is copied into a newly allocated writable array. It should be possible to overwrite this array by means of EVIOCSKEYCODE ioctls.
You can replace, but only if the keycode is inside the 0x0300-0x031f or 0x45xx range:
void fdtv_handle_rc(struct firedtv *fdtv, unsigned int code) {
...
if (code >= 0x0300 && code <= 0x031f)
code = keycode[code - 0x0300];
else if (code >= 0x0340 && code <= 0x0354)
code = keycode[code - 0x0320];
else if (code >= 0x4501 && code <= 0x451f)
code = oldtable[code - 0x4501];
else if (code >= 0x4540 && code <= 0x4542)
code = oldtable[code - 0x4521];
else {
printk(KERN_DEBUG "firedtv: invalid key code 0x%04x "
"from remote control\n", code);
return;
}So, you can't, for example, get some other NEC remote controller and use it there.
Also, the userspace IR tool won't recognize it as an IR, so the existing tables at userspace can't be loaded.
Quoted 8 lines
If I remember correctly, the firedtv driver sources came only with the old mapping table when they were submitted for upstream merge. When I helped to clean up the driver, I noticed that the two FireDTV C/CI and T/CI (which I newly purchased at the time as test devices) emitted entirely different scan codes than what the sources suggested. I suppose the original driver sources were written against older firmware or maybe older hardware revisions, possibly even prototype hardware. We would have to get hold of the original authors if we wanted to find out.
It is very common to the vendors to replace the remote controllers that are shipped together with the device.
Also, several advanced users prefer to not use the IR provided by the vendor, but to use other IR's, assigning other keys to the driver to allow them to control more things on their systems.
Quoted 3 lines
Anyway, I implemented the new
scancode->keycodemapping in a way that followed Dimitry's (?) review advice at that time, but left the old immutable mapping in there as fallback if an old scancode was received.
The newer way you used only works fine if the scancode table is not sparsed. That's why you needed to remove the higher bits on your RC handling code, generating a table with 34 elements.
The RC core dynamically allocates the scancode table in runtime, allowing users to use very big or very short scan tables. It also doesn't waste space with sparsed keycodes.
Users can even merge several different keytables together, in order to allow the device to be used by different remote controllers, at the same time.
Quoted 6 lines
If it is a burden, we could rip out the old table and see if anybody complains.
Quoted 2 lines
- The IR userspace tools won't work, as it doesn't export the needed sysfs nodes to report an IR.
Quoted 7 lines
But at least keypad/ keyboard related userspace should work.
Quoted 2 lines
If you want, I can write a patch doing that, but I can't test it here, as I don't have a firedtv device.
I can test such a patch as spare time permits if you point me to particular tools that I should test.
Ok, I'll write a patch for you to test.
Regards,
Mauro