* [GIT PULL for v3.5-rc1] media updates for v3.5
@ 2012-05-24 15:34 Mauro Carvalho Chehab
2012-05-24 15:52 ` Antti Palosaari
` (2 more replies)
0 siblings, 3 replies; 36+ messages in thread
From: Mauro Carvalho Chehab @ 2012-05-24 15:34 UTC (permalink / raw)
To: Linus Torvalds
Cc: Andrew Morton, Linux Media Mailing List,
Linux Kernel Mailing List
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 sensors
Jesper 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 try
Marcos 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.h
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [GIT PULL for v3.5-rc1] media updates for v3.5
2012-05-24 15:34 [GIT PULL for v3.5-rc1] media updates for v3.5 Mauro Carvalho Chehab
@ 2012-05-24 15:52 ` Antti Palosaari
2012-05-24 16:33 ` Ezequiel Garcia
2012-05-24 20:42 ` Linus Torvalds
2 siblings, 0 replies; 36+ messages in thread
From: Antti Palosaari @ 2012-05-24 15:52 UTC (permalink / raw)
To: Mauro Carvalho Chehab; +Cc: Thomas Mair, Linux Media Mailing List
On 24.05.2012 18:34, Mauro Carvalho Chehab wrote:
> 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.
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
--
http://palosaari.fi/
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [GIT PULL for v3.5-rc1] media updates for v3.5
2012-05-24 15:34 [GIT PULL for v3.5-rc1] media updates for v3.5 Mauro Carvalho Chehab
2012-05-24 15:52 ` Antti Palosaari
@ 2012-05-24 16:33 ` Ezequiel Garcia
2012-05-24 16:44 ` Mauro Carvalho Chehab
2012-05-24 20:42 ` Linus Torvalds
2 siblings, 1 reply; 36+ messages in thread
From: Ezequiel Garcia @ 2012-05-24 16:33 UTC (permalink / raw)
To: Mauro Carvalho Chehab; +Cc: Linux Media Mailing List
Hi Mauro,
On Thu, May 24, 2012 at 12:34 PM, Mauro Carvalho Chehab
<mchehab@redhat.com> wrote:
> 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
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?
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [GIT PULL for v3.5-rc1] media updates for v3.5
2012-05-24 16:33 ` Ezequiel Garcia
@ 2012-05-24 16:44 ` Mauro Carvalho Chehab
0 siblings, 0 replies; 36+ messages in thread
From: Mauro Carvalho Chehab @ 2012-05-24 16:44 UTC (permalink / raw)
To: Ezequiel Garcia; +Cc: Linux Media Mailing List
Hi Ezequiel,
Em 24-05-2012 13:33, Ezequiel Garcia escreveu:
> Hi Mauro,
>
> On Thu, May 24, 2012 at 12:34 PM, Mauro Carvalho Chehab
> <mchehab@redhat.com> wrote:
>> 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
>
> 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.
The from: comes from the email header, so if you changed it on your emailer, it
will affect the way it will be handled.
> 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
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [GIT PULL for v3.5-rc1] media updates for v3.5
2012-05-24 15:34 [GIT PULL for v3.5-rc1] media updates for v3.5 Mauro Carvalho Chehab
2012-05-24 15:52 ` Antti Palosaari
2012-05-24 16:33 ` Ezequiel Garcia
@ 2012-05-24 20:42 ` Linus Torvalds
2012-05-24 22:33 ` Mauro Carvalho Chehab
2 siblings, 1 reply; 36+ messages in thread
From: Linus Torvalds @ 2012-05-24 20:42 UTC (permalink / raw)
To: Mauro Carvalho Chehab
Cc: Andrew Morton, Linux Media Mailing List,
Linux Kernel Mailing List
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
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [GIT PULL for v3.5-rc1] media updates for v3.5
2012-05-24 20:42 ` Linus Torvalds
@ 2012-05-24 22:33 ` Mauro Carvalho Chehab
2012-05-24 22:40 ` Linus Torvalds
0 siblings, 1 reply; 36+ messages in thread
From: Mauro Carvalho Chehab @ 2012-05-24 22:33 UTC (permalink / raw)
To: Linus Torvalds
Cc: Andrew Morton, Linux Media Mailing List,
Linux Kernel Mailing List
Hi Linus,
Em 24-05-2012 17:42, Linus Torvalds escreveu:
> 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*.
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
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [GIT PULL for v3.5-rc1] media updates for v3.5
2012-05-24 22:33 ` Mauro Carvalho Chehab
@ 2012-05-24 22:40 ` Linus Torvalds
2012-05-25 12:12 ` Mauro Carvalho Chehab
0 siblings, 1 reply; 36+ messages in thread
From: Linus Torvalds @ 2012-05-24 22:40 UTC (permalink / raw)
To: Mauro Carvalho Chehab
Cc: Andrew Morton, Linux Media Mailing List,
Linux Kernel Mailing List
On Thu, May 24, 2012 at 3:33 PM, Mauro Carvalho Chehab
<mchehab@redhat.com> wrote:
>
> The Kconfig default for DVB_FE_CUSTOMISE is '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
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [GIT PULL for v3.5-rc1] media updates for v3.5
2012-05-24 22:40 ` Linus Torvalds
@ 2012-05-25 12:12 ` Mauro Carvalho Chehab
2012-05-25 14:49 ` Anssi Hannula
2012-05-25 22:38 ` Stefan Richter
0 siblings, 2 replies; 36+ messages in thread
From: Mauro Carvalho Chehab @ 2012-05-25 12:12 UTC (permalink / raw)
To: Linus Torvalds
Cc: Andrew Morton, Linux Media Mailing List,
Linux Kernel Mailing List
Em 24-05-2012 19:40, Linus Torvalds escreveu:
> On Thu, May 24, 2012 at 3:33 PM, Mauro Carvalho Chehab
> <mchehab@redhat.com> wrote:
>>
>> The Kconfig default for DVB_FE_CUSTOMISE is '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).
> 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 <mchehab@redhat.com>
diff --git a/drivers/media/common/tuners/Kconfig b/drivers/media/common/tuners/Kconfig
index bbf4945..702a3bf 100644
--- a/drivers/media/common/tuners/Kconfig
+++ b/drivers/media/common/tuners/Kconfig
@@ -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
diff --git a/drivers/media/dvb/frontends/Kconfig b/drivers/media/dvb/frontends/Kconfig
index b98ebb2..6d3c2f7 100644
--- a/drivers/media/dvb/frontends/Kconfig
+++ b/drivers/media/dvb/frontends/Kconfig
@@ -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
^ permalink raw reply related [flat|nested] 36+ messages in thread
* Re: [GIT PULL for v3.5-rc1] media updates for v3.5
2012-05-25 12:12 ` Mauro Carvalho Chehab
@ 2012-05-25 14:49 ` Anssi Hannula
2012-05-25 15:21 ` Mauro Carvalho Chehab
2012-05-25 22:38 ` Stefan Richter
1 sibling, 1 reply; 36+ messages in thread
From: Anssi Hannula @ 2012-05-25 14:49 UTC (permalink / raw)
To: Mauro Carvalho Chehab
Cc: Linus Torvalds, Andrew Morton, Linux Media Mailing List,
Linux Kernel Mailing List
25.05.2012 15:12, Mauro Carvalho Chehab kirjoitti:
> Em 24-05-2012 19:40, Linus Torvalds escreveu:
>> On Thu, May 24, 2012 at 3:33 PM, Mauro Carvalho Chehab
>> <mchehab@redhat.com> wrote:
>>>
>>> The Kconfig default for DVB_FE_CUSTOMISE is '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).
>
>> 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 <mchehab@redhat.com>
>
> diff --git a/drivers/media/common/tuners/Kconfig b/drivers/media/common/tuners/Kconfig
> index bbf4945..702a3bf 100644
> --- a/drivers/media/common/tuners/Kconfig
> +++ b/drivers/media/common/tuners/Kconfig
> @@ -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)
> help
> This allows the user to deselect tuner drivers unnecessary
> diff --git a/drivers/media/dvb/frontends/Kconfig b/drivers/media/dvb/frontends/Kconfig
> index b98ebb2..6d3c2f7 100644
> --- a/drivers/media/dvb/frontends/Kconfig
> +++ b/drivers/media/dvb/frontends/Kconfig
> @@ -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.
> help
> This allows the user to select/deselect frontend drivers for their
--
Anssi Hannula
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [GIT PULL for v3.5-rc1] media updates for v3.5
2012-05-25 14:49 ` Anssi Hannula
@ 2012-05-25 15:21 ` Mauro Carvalho Chehab
2012-05-25 16:01 ` Anssi Hannula
2012-05-25 21:20 ` Guennadi Liakhovetski
0 siblings, 2 replies; 36+ messages in thread
From: Mauro Carvalho Chehab @ 2012-05-25 15:21 UTC (permalink / raw)
To: Anssi Hannula
Cc: Linus Torvalds, Andrew Morton, Linux Media Mailing List,
Linux Kernel Mailing List, Guennadi Liakhovetski
Em 25-05-2012 11:49, Anssi Hannula escreveu:
> 25.05.2012 15:12, Mauro Carvalho Chehab kirjoitti:
>> Em 24-05-2012 19:40, Linus Torvalds escreveu:
>>> On Thu, May 24, 2012 at 3:33 PM, Mauro Carvalho Chehab
>>> <mchehab@redhat.com> wrote:
>>>>
>>>> The Kconfig default for DVB_FE_CUSTOMISE is '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).
>>
>>> 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 <mchehab@redhat.com>
>>
>> diff --git a/drivers/media/common/tuners/Kconfig b/drivers/media/common/tuners/Kconfig
>> index bbf4945..702a3bf 100644
>> --- a/drivers/media/common/tuners/Kconfig
>> +++ b/drivers/media/common/tuners/Kconfig
>> @@ -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)
>
>> help
>> This allows the user to deselect tuner drivers unnecessary
>> diff --git a/drivers/media/dvb/frontends/Kconfig b/drivers/media/dvb/frontends/Kconfig
>> index b98ebb2..6d3c2f7 100644
>> --- a/drivers/media/dvb/frontends/Kconfig
>> +++ b/drivers/media/dvb/frontends/Kconfig
>> @@ -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.
>
>> help
>> 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.
>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 <lyakh@extensa5220.grange>
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.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
diff --git a/drivers/media/common/tuners/Kconfig b/drivers/media/common/tuners/Kconfig
index 409a426..b3ed5da 100644
--- a/drivers/media/common/tuners/Kconfig
+++ b/drivers/media/common/tuners/Kconfig
@@ -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
diff --git a/drivers/media/dvb/frontends/Kconfig b/drivers/media/dvb/frontends/Kconfig
index 51d578a..b5f6a04 100644
--- a/drivers/media/dvb/frontends/Kconfig
+++ b/drivers/media/dvb/frontends/Kconfig
@@ -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.
diff --git a/drivers/media/video/Kconfig b/drivers/media/video/Kconfig
index c70b67d..9d55fef 100644
--- a/drivers/media/video/Kconfig
+++ b/drivers/media/video/Kconfig
@@ -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
^ permalink raw reply related [flat|nested] 36+ messages in thread
* Re: [GIT PULL for v3.5-rc1] media updates for v3.5
2012-05-25 15:21 ` Mauro Carvalho Chehab
@ 2012-05-25 16:01 ` Anssi Hannula
2012-05-25 21:20 ` Guennadi Liakhovetski
1 sibling, 0 replies; 36+ messages in thread
From: Anssi Hannula @ 2012-05-25 16:01 UTC (permalink / raw)
To: Mauro Carvalho Chehab
Cc: Linus Torvalds, Andrew Morton, Linux Media Mailing List,
Linux Kernel Mailing List, Guennadi Liakhovetski, Thomas Backlund
25.05.2012 18:21, Mauro Carvalho Chehab kirjoitti:
> Em 25-05-2012 11:49, Anssi Hannula escreveu:
>> 25.05.2012 15:12, Mauro Carvalho Chehab kirjoitti:
>>> Em 24-05-2012 19:40, Linus Torvalds escreveu:
>>>> On Thu, May 24, 2012 at 3:33 PM, Mauro Carvalho Chehab
>>>> <mchehab@redhat.com> wrote:
>>>>>
>>>>> The Kconfig default for DVB_FE_CUSTOMISE is '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).
>>>
>>>> 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 <mchehab@redhat.com>
>>>
>>> diff --git a/drivers/media/common/tuners/Kconfig b/drivers/media/common/tuners/Kconfig
>>> index bbf4945..702a3bf 100644
>>> --- a/drivers/media/common/tuners/Kconfig
>>> +++ b/drivers/media/common/tuners/Kconfig
>>> @@ -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)
>>
>>> help
>>> This allows the user to deselect tuner drivers unnecessary
>>> diff --git a/drivers/media/dvb/frontends/Kconfig b/drivers/media/dvb/frontends/Kconfig
>>> index b98ebb2..6d3c2f7 100644
>>> --- a/drivers/media/dvb/frontends/Kconfig
>>> +++ b/drivers/media/dvb/frontends/Kconfig
>>> @@ -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.
>>
>>> help
>>> 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.
>
> 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.
> That's said, it is weird that Mageia is using CONFIG_EXPERT. Are they using those
> two Kconfig options enabled as well?
No, *_CUSTOMISE are unset. CC'd our kernel maintainer in case he
remembers off-hand why CONFIG_EXPERT is enabled.
> Regards,
> Mauro
>
> -
>
> commit b3fc1782c8b84574e44cf5869c9afa75523e2db8
> Author: Guennadi Liakhovetski <lyakh@extensa5220.grange>
> 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.
>
> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
[...]
--
Anssi Hannula
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [GIT PULL for v3.5-rc1] media updates for v3.5
2012-05-25 15:21 ` Mauro Carvalho Chehab
2012-05-25 16:01 ` Anssi Hannula
@ 2012-05-25 21:20 ` Guennadi Liakhovetski
1 sibling, 0 replies; 36+ messages in thread
From: Guennadi Liakhovetski @ 2012-05-25 21:20 UTC (permalink / raw)
To: Mauro Carvalho Chehab
Cc: Anssi Hannula, Linus Torvalds, Andrew Morton,
Linux Media Mailing List, Linux Kernel Mailing List, Hans Verkuil
Hi Mauro
On Fri, 25 May 2012, Mauro Carvalho Chehab wrote:
> Em 25-05-2012 11:49, Anssi Hannula escreveu:
> > 25.05.2012 15:12, Mauro Carvalho Chehab kirjoitti:
[snip]
> >> [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 <mchehab@redhat.com>
> >>
> >> diff --git a/drivers/media/common/tuners/Kconfig b/drivers/media/common/tuners/Kconfig
> >> index bbf4945..702a3bf 100644
> >> --- a/drivers/media/common/tuners/Kconfig
> >> +++ b/drivers/media/common/tuners/Kconfig
> >> @@ -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)
> >
> >> help
> >> This allows the user to deselect tuner drivers unnecessary
> >> diff --git a/drivers/media/dvb/frontends/Kconfig b/drivers/media/dvb/frontends/Kconfig
> >> index b98ebb2..6d3c2f7 100644
> >> --- a/drivers/media/dvb/frontends/Kconfig
> >> +++ b/drivers/media/dvb/frontends/Kconfig
> >> @@ -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.
> >
> >> help
> >> 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.
>
> >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
> 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 <lyakh@extensa5220.grange>
> 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.
>
> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
>
> diff --git a/drivers/media/common/tuners/Kconfig b/drivers/media/common/tuners/Kconfig
> index 409a426..b3ed5da 100644
> --- a/drivers/media/common/tuners/Kconfig
> +++ b/drivers/media/common/tuners/Kconfig
> @@ -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
> diff --git a/drivers/media/dvb/frontends/Kconfig b/drivers/media/dvb/frontends/Kconfig
> index 51d578a..b5f6a04 100644
> --- a/drivers/media/dvb/frontends/Kconfig
> +++ b/drivers/media/dvb/frontends/Kconfig
> @@ -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.
> diff --git a/drivers/media/video/Kconfig b/drivers/media/video/Kconfig
> index c70b67d..9d55fef 100644
> --- a/drivers/media/video/Kconfig
> +++ b/drivers/media/video/Kconfig
> @@ -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/
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [GIT PULL for v3.5-rc1] media updates for v3.5
2012-05-25 12:12 ` Mauro Carvalho Chehab
2012-05-25 14:49 ` Anssi Hannula
@ 2012-05-25 22:38 ` Stefan Richter
2012-05-27 14:47 ` Mauro Carvalho Chehab
1 sibling, 1 reply; 36+ messages in thread
From: Stefan Richter @ 2012-05-25 22:38 UTC (permalink / raw)
To: Mauro Carvalho Chehab
Cc: Linus Torvalds, Andrew Morton, Linux Media Mailing List,
Linux Kernel Mailing List
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
--
Stefan Richter
-=====-===-- -=-= ==-=-
http://arcgraph.de/sr/
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [GIT PULL for v3.5-rc1] media updates for v3.5
2012-05-25 22:38 ` Stefan Richter
@ 2012-05-27 14:47 ` Mauro Carvalho Chehab
2012-05-27 15:54 ` Mauro Carvalho Chehab
0 siblings, 1 reply; 36+ messages in thread
From: Mauro Carvalho Chehab @ 2012-05-27 14:47 UTC (permalink / raw)
To: Stefan Richter
Cc: Linus Torvalds, Andrew Morton, Linux Media Mailing List,
Linux Kernel Mailing List
Em 25-05-2012 19:38, Stefan Richter escreveu:
> 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?
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
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [GIT PULL for v3.5-rc1] media updates for v3.5
2012-05-27 14:47 ` Mauro Carvalho Chehab
@ 2012-05-27 15:54 ` Mauro Carvalho Chehab
2012-05-27 16:56 ` [RFC PATCH 0/3] Improve Kconfig selection for media devices Mauro Carvalho Chehab
0 siblings, 1 reply; 36+ messages in thread
From: Mauro Carvalho Chehab @ 2012-05-27 15:54 UTC (permalink / raw)
To: Stefan Richter
Cc: Linus Torvalds, Andrew Morton, Linux Media Mailing List,
Linux Kernel Mailing List
Em 27-05-2012 11:47, Mauro Carvalho Chehab escreveu:
> Em 25-05-2012 19:38, Stefan Richter escreveu:
>> 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?
>
> 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.
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
^ permalink raw reply [flat|nested] 36+ messages in thread
* [RFC PATCH 0/3] Improve Kconfig selection for media devices
2012-05-27 15:54 ` Mauro Carvalho Chehab
@ 2012-05-27 16:56 ` Mauro Carvalho Chehab
2012-05-27 16:56 ` [RFC PATCH 1/3] media: reorganize the main Kconfig items Mauro Carvalho Chehab
` (4 more replies)
0 siblings, 5 replies; 36+ messages in thread
From: Mauro Carvalho Chehab @ 2012-05-27 16:56 UTC (permalink / raw)
Cc: Mauro Carvalho Chehab, Linux Media Mailing List, Stefan Richter
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(-)
--
1.7.8
^ permalink raw reply [flat|nested] 36+ messages in thread
* [RFC PATCH 1/3] media: reorganize the main Kconfig items
2012-05-27 16:56 ` [RFC PATCH 0/3] Improve Kconfig selection for media devices Mauro Carvalho Chehab
@ 2012-05-27 16:56 ` Mauro Carvalho Chehab
2012-05-27 17:15 ` Hans Verkuil
2012-05-27 17:27 ` Sylwester Nawrocki
2012-05-27 16:56 ` [RFC PATCH 2/3] media: Remove VIDEO_MEDIA Kconfig option Mauro Carvalho Chehab
` (3 subsequent siblings)
4 siblings, 2 replies; 36+ messages in thread
From: Mauro Carvalho Chehab @ 2012-05-27 16:56 UTC (permalink / raw)
Cc: Mauro Carvalho Chehab, Linux Media Mailing List
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.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
---
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(-)
diff --git a/drivers/media/Kconfig b/drivers/media/Kconfig
index 9575db4..8deddcd 100644
--- a/drivers/media/Kconfig
+++ b/drivers/media/Kconfig
@@ -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"
diff --git a/drivers/media/common/tuners/Kconfig b/drivers/media/common/tuners/Kconfig
index bbf4945..16ee1a4 100644
--- a/drivers/media/common/tuners/Kconfig
+++ b/drivers/media/common/tuners/Kconfig
@@ -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,
diff --git a/drivers/media/dvb/frontends/Kconfig b/drivers/media/dvb/frontends/Kconfig
index b98ebb2..6d3c2f7 100644
--- a/drivers/media/dvb/frontends/Kconfig
+++ b/drivers/media/dvb/frontends/Kconfig
@@ -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
diff --git a/drivers/media/rc/Kconfig b/drivers/media/rc/Kconfig
index f97eeb8..d6a0290 100644
--- a/drivers/media/rc/Kconfig
+++ b/drivers/media/rc/Kconfig
@@ -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
--
1.7.8
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [RFC PATCH 2/3] media: Remove VIDEO_MEDIA Kconfig option
2012-05-27 16:56 ` [RFC PATCH 0/3] Improve Kconfig selection for media devices Mauro Carvalho Chehab
2012-05-27 16:56 ` [RFC PATCH 1/3] media: reorganize the main Kconfig items Mauro Carvalho Chehab
@ 2012-05-27 16:56 ` Mauro Carvalho Chehab
2012-05-27 16:56 ` [RFC PATCH 3/3] media: only show V4L devices based on device type selection Mauro Carvalho Chehab
` (2 subsequent siblings)
4 siblings, 0 replies; 36+ messages in thread
From: Mauro Carvalho Chehab @ 2012-05-27 16:56 UTC (permalink / raw)
Cc: Mauro Carvalho Chehab, Linux Media Mailing List
In 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.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
---
drivers/media/Kconfig | 4 --
drivers/media/common/tuners/Kconfig | 63 ++++++++++++++++++-----------------
drivers/media/video/pvrusb2/Kconfig | 1 -
3 files changed, 32 insertions(+), 36 deletions(-)
diff --git a/drivers/media/Kconfig b/drivers/media/Kconfig
index 8deddcd..fe59b49 100644
--- a/drivers/media/Kconfig
+++ b/drivers/media/Kconfig
@@ -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"
diff --git a/drivers/media/common/tuners/Kconfig b/drivers/media/common/tuners/Kconfig
index 16ee1a4..35780df 100644
--- a/drivers/media/common/tuners/Kconfig
+++ b/drivers/media/common/tuners/Kconfig
@@ -1,6 +1,6 @@
config MEDIA_ATTACH
bool "Load and attach frontend and tuner driver modules as needed"
- depends on VIDEO_MEDIA
+ depends on MEDIA_ANALOG_TV_SUPP || MEDIA_DIGITAL_TV_SUPP || MEDIA_RADIO_SUPP
depends on MODULES
default y if !EXPERT
help
@@ -20,15 +20,15 @@ config MEDIA_ATTACH
config MEDIA_TUNER
tristate
- default VIDEO_MEDIA && I2C
- depends on VIDEO_MEDIA && I2C
+ depends on (MEDIA_ANALOG_TV_SUPP || MEDIA_RADIO_SUPP) && I2C
+ default y
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_MT20XX if !MEDIA_TUNER_CUSTOMISE
select MEDIA_TUNER_TDA8290 if !MEDIA_TUNER_CUSTOMISE
- select MEDIA_TUNER_TEA5761 if !MEDIA_TUNER_CUSTOMISE && EXPERIMENTAL
- select MEDIA_TUNER_TEA5767 if !MEDIA_TUNER_CUSTOMISE
+ select MEDIA_TUNER_TEA5761 if !MEDIA_TUNER_CUSTOMISE && MEDIA_RADIO_SUPP && EXPERIMENTAL
+ select MEDIA_TUNER_TEA5767 if !MEDIA_TUNER_CUSTOMISE && MEDIA_RADIO_SUPP
select MEDIA_TUNER_SIMPLE if !MEDIA_TUNER_CUSTOMISE
select MEDIA_TUNER_TDA9887 if !MEDIA_TUNER_CUSTOMISE
select MEDIA_TUNER_MC44S803 if !MEDIA_TUNER_CUSTOMISE
@@ -48,10 +48,11 @@ config MEDIA_TUNER_CUSTOMISE
menu "Customize TV tuners"
visible if MEDIA_TUNER_CUSTOMISE
+ depends on MEDIA_ANALOG_TV_SUPP || MEDIA_DIGITAL_TV_SUPP || MEDIA_RADIO_SUPP
config MEDIA_TUNER_SIMPLE
tristate "Simple tuner support"
- depends on VIDEO_MEDIA && I2C
+ depends on MEDIA_SUPPORT && I2C
select MEDIA_TUNER_TDA9887
default m if MEDIA_TUNER_CUSTOMISE
help
@@ -59,7 +60,7 @@ config MEDIA_TUNER_SIMPLE
config MEDIA_TUNER_TDA8290
tristate "TDA 8290/8295 + 8275(a)/18271 tuner combo"
- depends on VIDEO_MEDIA && I2C
+ depends on MEDIA_SUPPORT && I2C
select MEDIA_TUNER_TDA827X
select MEDIA_TUNER_TDA18271
default m if MEDIA_TUNER_CUSTOMISE
@@ -68,21 +69,21 @@ config MEDIA_TUNER_TDA8290
config MEDIA_TUNER_TDA827X
tristate "Philips TDA827X silicon tuner"
- depends on VIDEO_MEDIA && I2C
+ depends on MEDIA_SUPPORT && I2C
default m if MEDIA_TUNER_CUSTOMISE
help
A DVB-T silicon tuner module. Say Y when you want to support this tuner.
config MEDIA_TUNER_TDA18271
tristate "NXP TDA18271 silicon tuner"
- depends on VIDEO_MEDIA && I2C
+ depends on MEDIA_SUPPORT && I2C
default m if MEDIA_TUNER_CUSTOMISE
help
A silicon tuner module. Say Y when you want to support this tuner.
config MEDIA_TUNER_TDA9887
tristate "TDA 9885/6/7 analog IF demodulator"
- depends on VIDEO_MEDIA && I2C
+ depends on MEDIA_SUPPORT && I2C
default m if MEDIA_TUNER_CUSTOMISE
help
Say Y here to include support for Philips TDA9885/6/7
@@ -90,7 +91,7 @@ config MEDIA_TUNER_TDA9887
config MEDIA_TUNER_TEA5761
tristate "TEA 5761 radio tuner (EXPERIMENTAL)"
- depends on VIDEO_MEDIA && I2C
+ depends on MEDIA_SUPPORT && I2C
depends on EXPERIMENTAL
default m if MEDIA_TUNER_CUSTOMISE
help
@@ -98,63 +99,63 @@ config MEDIA_TUNER_TEA5761
config MEDIA_TUNER_TEA5767
tristate "TEA 5767 radio tuner"
- depends on VIDEO_MEDIA && I2C
+ depends on MEDIA_SUPPORT && I2C
default m if MEDIA_TUNER_CUSTOMISE
help
Say Y here to include support for the Philips TEA5767 radio tuner.
config MEDIA_TUNER_MT20XX
tristate "Microtune 2032 / 2050 tuners"
- depends on VIDEO_MEDIA && I2C
+ depends on MEDIA_SUPPORT && I2C
default m if MEDIA_TUNER_CUSTOMISE
help
Say Y here to include support for the MT2032 / MT2050 tuner.
config MEDIA_TUNER_MT2060
tristate "Microtune MT2060 silicon IF tuner"
- depends on VIDEO_MEDIA && I2C
+ depends on MEDIA_SUPPORT && I2C
default m if MEDIA_TUNER_CUSTOMISE
help
A driver for the silicon IF tuner MT2060 from Microtune.
config MEDIA_TUNER_MT2063
tristate "Microtune MT2063 silicon IF tuner"
- depends on VIDEO_MEDIA && I2C
+ depends on MEDIA_SUPPORT && I2C
default m if MEDIA_TUNER_CUSTOMISE
help
A driver for the silicon IF tuner MT2063 from Microtune.
config MEDIA_TUNER_MT2266
tristate "Microtune MT2266 silicon tuner"
- depends on VIDEO_MEDIA && I2C
+ depends on MEDIA_SUPPORT && I2C
default m if MEDIA_TUNER_CUSTOMISE
help
A driver for the silicon baseband tuner MT2266 from Microtune.
config MEDIA_TUNER_MT2131
tristate "Microtune MT2131 silicon tuner"
- depends on VIDEO_MEDIA && I2C
+ depends on MEDIA_SUPPORT && I2C
default m if MEDIA_TUNER_CUSTOMISE
help
A driver for the silicon baseband tuner MT2131 from Microtune.
config MEDIA_TUNER_QT1010
tristate "Quantek QT1010 silicon tuner"
- depends on VIDEO_MEDIA && I2C
+ depends on MEDIA_SUPPORT && I2C
default m if MEDIA_TUNER_CUSTOMISE
help
A driver for the silicon tuner QT1010 from Quantek.
config MEDIA_TUNER_XC2028
tristate "XCeive xc2028/xc3028 tuners"
- depends on VIDEO_MEDIA && I2C
+ depends on MEDIA_SUPPORT && I2C
default m if MEDIA_TUNER_CUSTOMISE
help
Say Y here to include support for the xc2028/xc3028 tuners.
config MEDIA_TUNER_XC5000
tristate "Xceive XC5000 silicon tuner"
- depends on VIDEO_MEDIA && I2C
+ depends on MEDIA_SUPPORT && I2C
default m if MEDIA_TUNER_CUSTOMISE
help
A driver for the silicon tuner XC5000 from Xceive.
@@ -163,7 +164,7 @@ config MEDIA_TUNER_XC5000
config MEDIA_TUNER_XC4000
tristate "Xceive XC4000 silicon tuner"
- depends on VIDEO_MEDIA && I2C
+ depends on MEDIA_SUPPORT && I2C
default m if MEDIA_TUNER_CUSTOMISE
help
A driver for the silicon tuner XC4000 from Xceive.
@@ -172,70 +173,70 @@ config MEDIA_TUNER_XC4000
config MEDIA_TUNER_MXL5005S
tristate "MaxLinear MSL5005S silicon tuner"
- depends on VIDEO_MEDIA && I2C
+ depends on MEDIA_SUPPORT && I2C
default m if MEDIA_TUNER_CUSTOMISE
help
A driver for the silicon tuner MXL5005S from MaxLinear.
config MEDIA_TUNER_MXL5007T
tristate "MaxLinear MxL5007T silicon tuner"
- depends on VIDEO_MEDIA && I2C
+ depends on MEDIA_SUPPORT && I2C
default m if MEDIA_TUNER_CUSTOMISE
help
A driver for the silicon tuner MxL5007T from MaxLinear.
config MEDIA_TUNER_MC44S803
tristate "Freescale MC44S803 Low Power CMOS Broadband tuners"
- depends on VIDEO_MEDIA && I2C
+ depends on MEDIA_SUPPORT && I2C
default m if MEDIA_TUNER_CUSTOMISE
help
Say Y here to support the Freescale MC44S803 based tuners
config MEDIA_TUNER_MAX2165
tristate "Maxim MAX2165 silicon tuner"
- depends on VIDEO_MEDIA && I2C
+ depends on MEDIA_SUPPORT && I2C
default m if MEDIA_TUNER_CUSTOMISE
help
A driver for the silicon tuner MAX2165 from Maxim.
config MEDIA_TUNER_TDA18218
tristate "NXP TDA18218 silicon tuner"
- depends on VIDEO_MEDIA && I2C
+ depends on MEDIA_SUPPORT && I2C
default m if MEDIA_TUNER_CUSTOMISE
help
NXP TDA18218 silicon tuner driver.
config MEDIA_TUNER_FC0011
tristate "Fitipower FC0011 silicon tuner"
- depends on VIDEO_MEDIA && I2C
+ depends on MEDIA_SUPPORT && I2C
default m if MEDIA_TUNER_CUSTOMISE
help
Fitipower FC0011 silicon tuner driver.
config MEDIA_TUNER_FC0012
tristate "Fitipower FC0012 silicon tuner"
- depends on VIDEO_MEDIA && I2C
+ depends on MEDIA_SUPPORT && I2C
default m if MEDIA_TUNER_CUSTOMISE
help
Fitipower FC0012 silicon tuner driver.
config MEDIA_TUNER_FC0013
tristate "Fitipower FC0013 silicon tuner"
- depends on VIDEO_MEDIA && I2C
+ depends on MEDIA_SUPPORT && I2C
default m if MEDIA_TUNER_CUSTOMISE
help
Fitipower FC0013 silicon tuner driver.
config MEDIA_TUNER_TDA18212
tristate "NXP TDA18212 silicon tuner"
- depends on VIDEO_MEDIA && I2C
+ depends on MEDIA_SUPPORT && I2C
default m if MEDIA_TUNER_CUSTOMISE
help
NXP TDA18212 silicon tuner driver.
config MEDIA_TUNER_TUA9001
tristate "Infineon TUA 9001 silicon tuner"
- depends on VIDEO_MEDIA && I2C
+ depends on MEDIA_SUPPORT && I2C
default m if MEDIA_TUNER_CUSTOMISE
help
Infineon TUA 9001 silicon tuner driver.
diff --git a/drivers/media/video/pvrusb2/Kconfig b/drivers/media/video/pvrusb2/Kconfig
index f9b6001..25e412e 100644
--- a/drivers/media/video/pvrusb2/Kconfig
+++ b/drivers/media/video/pvrusb2/Kconfig
@@ -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
--
1.7.8
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [RFC PATCH 3/3] media: only show V4L devices based on device type selection
2012-05-27 16:56 ` [RFC PATCH 0/3] Improve Kconfig selection for media devices Mauro Carvalho Chehab
2012-05-27 16:56 ` [RFC PATCH 1/3] media: reorganize the main Kconfig items Mauro Carvalho Chehab
2012-05-27 16:56 ` [RFC PATCH 2/3] media: Remove VIDEO_MEDIA Kconfig option Mauro Carvalho Chehab
@ 2012-05-27 16:56 ` Mauro Carvalho Chehab
2012-05-27 17:13 ` [RFC] file tree rearrangement - was: Re: [RFC PATCH 0/3] Improve Kconfig selection for media devices Mauro Carvalho Chehab
2012-05-28 9:48 ` Stefan Richter
4 siblings, 0 replies; 36+ messages in thread
From: Mauro Carvalho Chehab @ 2012-05-27 16:56 UTC (permalink / raw)
Cc: Mauro Carvalho Chehab, Linux Media Mailing List
After 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.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
---
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(-)
diff --git a/drivers/media/radio/Kconfig b/drivers/media/radio/Kconfig
index c257da1..ac4f627 100644
--- a/drivers/media/radio/Kconfig
+++ b/drivers/media/radio/Kconfig
@@ -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.
diff --git a/drivers/media/video/Kconfig b/drivers/media/video/Kconfig
index 99937c9..bc7f55e 100644
--- a/drivers/media/video/Kconfig
+++ b/drivers/media/video/Kconfig
@@ -5,7 +5,7 @@
config VIDEO_V4L2
tristate
depends on VIDEO_DEV && VIDEO_V4L2_COMMON
- default VIDEO_DEV && VIDEO_V4L2_COMMON
+ default y
config VIDEOBUF_GEN
tristate
@@ -73,6 +73,7 @@ config VIDEOBUF2_DMA_SG
menuconfig VIDEO_CAPTURE_DRIVERS
bool "Video capture adapters"
depends on VIDEO_V4L2
+ depends on MEDIA_WEBCAM_SUPP || MEDIA_ANALOG_TV_SUPP
default y
---help---
Say Y here to enable selecting the video adapters for
@@ -478,6 +479,7 @@ config VIDEO_SMIAPP_PLL
config VIDEO_OV7670
tristate "OmniVision OV7670 sensor support"
depends on I2C && VIDEO_V4L2
+ depends on MEDIA_WEBCAM_SUPP
---help---
This is a Video4Linux2 sensor-level driver for the OmniVision
OV7670 VGA camera. It currently only works with the M88ALP01
@@ -486,6 +488,7 @@ config VIDEO_OV7670
config VIDEO_VS6624
tristate "ST VS6624 sensor support"
depends on VIDEO_V4L2 && I2C
+ depends on MEDIA_WEBCAM_SUPP
---help---
This is a Video4Linux2 sensor-level driver for the ST VS6624
camera.
@@ -496,6 +499,7 @@ config VIDEO_VS6624
config VIDEO_MT9M032
tristate "MT9M032 camera sensor support"
depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API
+ depends on MEDIA_WEBCAM_SUPP
select VIDEO_APTINA_PLL
---help---
This driver supports MT9M032 camera sensors from Aptina, monochrome
@@ -504,6 +508,7 @@ config VIDEO_MT9M032
config VIDEO_MT9P031
tristate "Aptina MT9P031 support"
depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API
+ depends on MEDIA_WEBCAM_SUPP
select VIDEO_APTINA_PLL
---help---
This is a Video4Linux2 sensor-level driver for the Aptina
@@ -512,6 +517,7 @@ config VIDEO_MT9P031
config VIDEO_MT9T001
tristate "Aptina MT9T001 support"
depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API
+ depends on MEDIA_WEBCAM_SUPP
---help---
This is a Video4Linux2 sensor-level driver for the Aptina
(Micron) mt0t001 3 Mpixel camera.
@@ -519,6 +525,7 @@ config VIDEO_MT9T001
config VIDEO_MT9V011
tristate "Micron mt9v011 sensor support"
depends on I2C && VIDEO_V4L2
+ depends on MEDIA_WEBCAM_SUPP
---help---
This is a Video4Linux2 sensor-level driver for the Micron
mt0v011 1.3 Mpixel camera. It currently only works with the
@@ -527,6 +534,7 @@ config VIDEO_MT9V011
config VIDEO_MT9V032
tristate "Micron MT9V032 sensor support"
depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API
+ depends on MEDIA_WEBCAM_SUPP
---help---
This is a Video4Linux2 sensor-level driver for the Micron
MT9V032 752x480 CMOS sensor.
@@ -534,6 +542,7 @@ config VIDEO_MT9V032
config VIDEO_TCM825X
tristate "TCM825x camera sensor support"
depends on I2C && VIDEO_V4L2
+ depends on MEDIA_WEBCAM_SUPP
---help---
This is a driver for the Toshiba TCM825x VGA camera sensor.
It is used for example in Nokia N800.
@@ -541,12 +550,14 @@ config VIDEO_TCM825X
config VIDEO_SR030PC30
tristate "Siliconfile SR030PC30 sensor support"
depends on I2C && VIDEO_V4L2
+ depends on MEDIA_WEBCAM_SUPP
---help---
This driver supports SR030PC30 VGA camera from Siliconfile
config VIDEO_NOON010PC30
tristate "Siliconfile NOON010PC30 sensor support"
depends on I2C && VIDEO_V4L2 && EXPERIMENTAL && VIDEO_V4L2_SUBDEV_API
+ depends on MEDIA_WEBCAM_SUPP
---help---
This driver supports NOON010PC30 CIF camera from Siliconfile
@@ -554,6 +565,7 @@ source "drivers/media/video/m5mols/Kconfig"
config VIDEO_S5K6AA
tristate "Samsung S5K6AAFX sensor support"
+ depends on MEDIA_WEBCAM_SUPP
depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API
---help---
This is a V4L2 sensor-level driver for Samsung S5K6AA(FX) 1.3M
@@ -566,6 +578,7 @@ comment "Flash devices"
config VIDEO_ADP1653
tristate "ADP1653 flash support"
depends on I2C && VIDEO_V4L2 && MEDIA_CONTROLLER
+ depends on MEDIA_WEBCAM_SUPP
---help---
This is a driver for the ADP1653 flash controller. It is used for
example in Nokia N900.
@@ -573,6 +586,7 @@ config VIDEO_ADP1653
config VIDEO_AS3645A
tristate "AS3645A flash driver support"
depends on I2C && VIDEO_V4L2 && MEDIA_CONTROLLER
+ depends on MEDIA_WEBCAM_SUPP
---help---
This is a driver for the AS3645A and LM3555 flash controllers. It has
build in control for flash, torch and indicator LEDs.
@@ -647,30 +661,14 @@ menuconfig V4L_USB_DRIVERS
depends on USB
default y
-if V4L_USB_DRIVERS
+if V4L_USB_DRIVERS && MEDIA_WEBCAM_SUPP
-source "drivers/media/video/au0828/Kconfig"
+ comment "Webcam devices"
source "drivers/media/video/uvc/Kconfig"
source "drivers/media/video/gspca/Kconfig"
-source "drivers/media/video/pvrusb2/Kconfig"
-
-source "drivers/media/video/hdpvr/Kconfig"
-
-source "drivers/media/video/em28xx/Kconfig"
-
-source "drivers/media/video/tlg2300/Kconfig"
-
-source "drivers/media/video/cx231xx/Kconfig"
-
-source "drivers/media/video/tm6000/Kconfig"
-
-source "drivers/media/video/usbvision/Kconfig"
-
-source "drivers/media/video/sn9c102/Kconfig"
-
source "drivers/media/video/pwc/Kconfig"
source "drivers/media/video/cpia2/Kconfig"
@@ -711,15 +709,46 @@ config USB_S2255
Say Y here if you want support for the Sensoray 2255 USB device.
This driver can be compiled as a module, called s2255drv.
+source "drivers/media/video/sn9c102/Kconfig"
+
+endif # V4L_USB_DRIVERS && MEDIA_WEBCAM_SUPP
+
+if V4L_USB_DRIVERS
+
+ comment "Webcam and/or TV USB devices"
+
+source "drivers/media/video/em28xx/Kconfig"
+
+endif
+
+if V4L_USB_DRIVERS && MEDIA_ANALOG_TV_SUPP
+
+ comment "TV USB devices"
+
+source "drivers/media/video/au0828/Kconfig"
+
+source "drivers/media/video/pvrusb2/Kconfig"
+
+source "drivers/media/video/hdpvr/Kconfig"
+
+source "drivers/media/video/tlg2300/Kconfig"
+
+source "drivers/media/video/cx231xx/Kconfig"
+
+source "drivers/media/video/tm6000/Kconfig"
+
+source "drivers/media/video/usbvision/Kconfig"
+
endif # V4L_USB_DRIVERS
#
-# PCI drivers configuration
+# PCI drivers configuration - No devices here are for webcams
#
menuconfig V4L_PCI_DRIVERS
bool "V4L PCI(e) devices"
depends on PCI
+ depends on MEDIA_ANALOG_TV_SUPP
default y
---help---
Say Y here to enable support for these PCI(e) drivers.
@@ -814,11 +843,13 @@ endif # V4L_PCI_DRIVERS
#
# ISA & parallel port drivers configuration
+# All devices here are webcam or grabber devices
#
menuconfig V4L_ISA_PARPORT_DRIVERS
bool "V4L ISA and parallel port devices"
depends on ISA || PARPORT
+ depends on MEDIA_WEBCAM_SUPP
default n
---help---
Say Y here to enable support for these ISA and parallel port drivers.
@@ -871,8 +902,13 @@ config VIDEO_W9966
endif # V4L_ISA_PARPORT_DRIVERS
+#
+# Platform drivers
+# All drivers here are currently for webcam support
+
menuconfig V4L_PLATFORM_DRIVERS
bool "V4L platform devices"
+ depends on MEDIA_WEBCAM_SUPP
default n
---help---
Say Y here to enable support for platform-specific V4L drivers.
diff --git a/drivers/media/video/m5mols/Kconfig b/drivers/media/video/m5mols/Kconfig
index 302dc3d..5d8ce31 100644
--- a/drivers/media/video/m5mols/Kconfig
+++ b/drivers/media/video/m5mols/Kconfig
@@ -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
diff --git a/drivers/media/video/smiapp/Kconfig b/drivers/media/video/smiapp/Kconfig
index f7b35ff..209e824 100644
--- a/drivers/media/video/smiapp/Kconfig
+++ b/drivers/media/video/smiapp/Kconfig
@@ -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.
--
1.7.8
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [RFC] file tree rearrangement - was: Re: [RFC PATCH 0/3] Improve Kconfig selection for media devices
2012-05-27 16:56 ` [RFC PATCH 0/3] Improve Kconfig selection for media devices Mauro Carvalho Chehab
` (2 preceding siblings ...)
2012-05-27 16:56 ` [RFC PATCH 3/3] media: only show V4L devices based on device type selection Mauro Carvalho Chehab
@ 2012-05-27 17:13 ` Mauro Carvalho Chehab
2012-05-27 17:25 ` Hans Verkuil
2012-05-28 9:48 ` Stefan Richter
4 siblings, 1 reply; 36+ messages in thread
From: Mauro Carvalho Chehab @ 2012-05-27 17:13 UTC (permalink / raw)
To: Mauro Carvalho Chehab; +Cc: Linux Media Mailing List
Em 27-05-2012 13:56, Mauro Carvalho Chehab escreveu:
> 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(-)
>
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 drivers
drivers/media/usb - USB drivers
drivers/media/pci - PCI/PCIe drivers
drivers/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.
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [RFC PATCH 1/3] media: reorganize the main Kconfig items
2012-05-27 16:56 ` [RFC PATCH 1/3] media: reorganize the main Kconfig items Mauro Carvalho Chehab
@ 2012-05-27 17:15 ` Hans Verkuil
2012-05-27 17:20 ` Mauro Carvalho Chehab
2012-05-27 17:27 ` Sylwester Nawrocki
1 sibling, 1 reply; 36+ messages in thread
From: Hans Verkuil @ 2012-05-27 17:15 UTC (permalink / raw)
To: Mauro Carvalho Chehab, Linux Media Mailing List
Just a few typos...
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 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.
>
> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
> ---
> 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(-)
>
> diff --git a/drivers/media/Kconfig b/drivers/media/Kconfig
> index 9575db4..8deddcd 100644
> --- a/drivers/media/Kconfig
> +++ b/drivers/media/Kconfig
> @@ -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"
I would rename this to "Analog TV support" to be consistent with the digital
option.
> + ---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
> + 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
> + 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
supports -> support
Also add a period after reception.
Regards,
Hans
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [RFC PATCH 1/3] media: reorganize the main Kconfig items
2012-05-27 17:15 ` Hans Verkuil
@ 2012-05-27 17:20 ` Mauro Carvalho Chehab
0 siblings, 0 replies; 36+ messages in thread
From: Mauro Carvalho Chehab @ 2012-05-27 17:20 UTC (permalink / raw)
To: Hans Verkuil; +Cc: Linux Media Mailing List
Em 27-05-2012 14:15, Hans Verkuil escreveu:
> Just a few typos...
>
> 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 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.
>>
>> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
>> ---
>> 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(-)
>>
>> diff --git a/drivers/media/Kconfig b/drivers/media/Kconfig
>> index 9575db4..8deddcd 100644
>> --- a/drivers/media/Kconfig
>> +++ b/drivers/media/Kconfig
>> @@ -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"
>
> I would rename this to "Analog TV support" to be consistent with the digital
> option.
>
>> + ---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
>
>> + 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
>
>> + 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
>
> supports -> support
>
> 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 <mchehab@redhat.com>
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.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
diff --git a/drivers/media/Kconfig b/drivers/media/Kconfig
index 9575db4..2ac4c9a 100644
--- a/drivers/media/Kconfig
+++ b/drivers/media/Kconfig
@@ -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"
diff --git a/drivers/media/common/tuners/Kconfig b/drivers/media/common/tuners/Kconfig
index bbf4945..16ee1a4 100644
--- a/drivers/media/common/tuners/Kconfig
+++ b/drivers/media/common/tuners/Kconfig
@@ -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,
diff --git a/drivers/media/dvb/frontends/Kconfig b/drivers/media/dvb/frontends/Kconfig
index b98ebb2..6d3c2f7 100644
--- a/drivers/media/dvb/frontends/Kconfig
+++ b/drivers/media/dvb/frontends/Kconfig
@@ -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
diff --git a/drivers/media/rc/Kconfig b/drivers/media/rc/Kconfig
index f97eeb8..d6a0290 100644
--- a/drivers/media/rc/Kconfig
+++ b/drivers/media/rc/Kconfig
@@ -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
^ permalink raw reply related [flat|nested] 36+ messages in thread
* Re: [RFC] file tree rearrangement - was: Re: [RFC PATCH 0/3] Improve Kconfig selection for media devices
2012-05-27 17:13 ` [RFC] file tree rearrangement - was: Re: [RFC PATCH 0/3] Improve Kconfig selection for media devices Mauro Carvalho Chehab
@ 2012-05-27 17:25 ` Hans Verkuil
2012-05-27 18:47 ` Andy Walls
2012-05-27 19:54 ` Mauro Carvalho Chehab
0 siblings, 2 replies; 36+ messages in thread
From: Hans Verkuil @ 2012-05-27 17:25 UTC (permalink / raw)
To: Mauro Carvalho Chehab; +Cc: Linux Media Mailing List
On Sun May 27 2012 19:13:38 Mauro Carvalho Chehab wrote:
> Em 27-05-2012 13:56, Mauro Carvalho Chehab escreveu:
> > 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(-)
> >
>
> 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 drivers
> drivers/media/usb - USB drivers
> drivers/media/pci - PCI/PCIe drivers
> drivers/media/platform - platform drivers
drivers/media/parport
drivers/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
>
> 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 majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [RFC PATCH 1/3] media: reorganize the main Kconfig items
2012-05-27 16:56 ` [RFC PATCH 1/3] media: reorganize the main Kconfig items Mauro Carvalho Chehab
2012-05-27 17:15 ` Hans Verkuil
@ 2012-05-27 17:27 ` Sylwester Nawrocki
1 sibling, 0 replies; 36+ messages in thread
From: Sylwester Nawrocki @ 2012-05-27 17:27 UTC (permalink / raw)
To: Mauro Carvalho Chehab; +Cc: Linux Media Mailing List
Hi Mauro,
On 05/27/2012 06:56 PM, 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 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.
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
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [RFC] file tree rearrangement - was: Re: [RFC PATCH 0/3] Improve Kconfig selection for media devices
2012-05-27 17:25 ` Hans Verkuil
@ 2012-05-27 18:47 ` Andy Walls
2012-05-27 20:15 ` Mauro Carvalho Chehab
2012-05-27 19:54 ` Mauro Carvalho Chehab
1 sibling, 1 reply; 36+ messages in thread
From: Andy Walls @ 2012-05-27 18:47 UTC (permalink / raw)
To: Hans Verkuil, Mauro Carvalho Chehab; +Cc: Linux Media Mailing List
Hans Verkuil <hverkuil@xs4all.nl> wrote:
>On Sun May 27 2012 19:13:38 Mauro Carvalho Chehab wrote:
>> Em 27-05-2012 13:56, Mauro Carvalho Chehab escreveu:
>> > 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(-)
>> >
>>
>> 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 drivers
>> drivers/media/usb - USB drivers
>> drivers/media/pci - PCI/PCIe drivers
>> drivers/media/platform - platform drivers
>
>drivers/media/parport
>drivers/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
>
>>
>> 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 majordomo@vger.kernel.org
>> 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 majordomo@vger.kernel.org
>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
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [RFC] file tree rearrangement - was: Re: [RFC PATCH 0/3] Improve Kconfig selection for media devices
2012-05-27 17:25 ` Hans Verkuil
2012-05-27 18:47 ` Andy Walls
@ 2012-05-27 19:54 ` Mauro Carvalho Chehab
2012-05-28 9:12 ` Hans Verkuil
1 sibling, 1 reply; 36+ messages in thread
From: Mauro Carvalho Chehab @ 2012-05-27 19:54 UTC (permalink / raw)
To: Hans Verkuil; +Cc: Linux Media Mailing List
Em 27-05-2012 14:25, Hans Verkuil escreveu:
> On Sun May 27 2012 19:13:38 Mauro Carvalho Chehab wrote:
>> Em 27-05-2012 13:56, Mauro Carvalho Chehab escreveu:
>>> 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(-)
>>>
>>
>> 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 drivers
>> drivers/media/usb - USB drivers
>> drivers/media/pci - PCI/PCIe drivers
>> drivers/media/platform - platform drivers
>
> drivers/media/parport
Ok.
> drivers/media/i2c
See below.
> 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.
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.
> 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
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [RFC] file tree rearrangement - was: Re: [RFC PATCH 0/3] Improve Kconfig selection for media devices
2012-05-27 18:47 ` Andy Walls
@ 2012-05-27 20:15 ` Mauro Carvalho Chehab
2012-05-28 9:42 ` Hans Verkuil
0 siblings, 1 reply; 36+ messages in thread
From: Mauro Carvalho Chehab @ 2012-05-27 20:15 UTC (permalink / raw)
To: Andy Walls; +Cc: Hans Verkuil, Linux Media Mailing List
Em 27-05-2012 15:47, Andy Walls escreveu:
> Hans Verkuil <hverkuil@xs4all.nl> wrote:
>
>> On Sun May 27 2012 19:13:38 Mauro Carvalho Chehab wrote:
>>> Em 27-05-2012 13:56, Mauro Carvalho Chehab escreveu:
>>>> 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(-)
>>>>
>>>
>>> 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 drivers
>>> drivers/media/usb - USB drivers
>>> drivers/media/pci - PCI/PCIe drivers
>>> drivers/media/platform - platform drivers
>>
>> drivers/media/parport
>> drivers/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
>>
>>>
>>> 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 majordomo@vger.kernel.org
>>> 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 majordomo@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
> 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
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [RFC] file tree rearrangement - was: Re: [RFC PATCH 0/3] Improve Kconfig selection for media devices
2012-05-27 19:54 ` Mauro Carvalho Chehab
@ 2012-05-28 9:12 ` Hans Verkuil
0 siblings, 0 replies; 36+ messages in thread
From: Hans Verkuil @ 2012-05-28 9:12 UTC (permalink / raw)
To: Mauro Carvalho Chehab; +Cc: Linux Media Mailing List
On Sun May 27 2012 21:54:58 Mauro Carvalho Chehab wrote:
> Em 27-05-2012 14:25, Hans Verkuil escreveu:
> > On Sun May 27 2012 19:13:38 Mauro Carvalho Chehab wrote:
> >> Em 27-05-2012 13:56, Mauro Carvalho Chehab escreveu:
> >>> 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(-)
> >>>
> >>
> >> 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 drivers
> >> drivers/media/usb - USB drivers
> >> drivers/media/pci - PCI/PCIe drivers
> >> drivers/media/platform - platform drivers
> >
> > drivers/media/parport
>
> Ok.
>
> > drivers/media/i2c
>
> See below.
>
> > 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.
>
> I think all subdevs (being i2c or not) should be under the same directory.
> drivers/media/subdevs seems 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).
> Sub-dividing them doesn't seem a good idea, as some subdevs may have more than
> one function.
I agree (for now :-) ).
> > 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.
> 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.
Go for it!
:-)
Regards,
Hans
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [RFC] file tree rearrangement - was: Re: [RFC PATCH 0/3] Improve Kconfig selection for media devices
2012-05-27 20:15 ` Mauro Carvalho Chehab
@ 2012-05-28 9:42 ` Hans Verkuil
2012-05-28 11:03 ` Mauro Carvalho Chehab
0 siblings, 1 reply; 36+ messages in thread
From: Hans Verkuil @ 2012-05-28 9:42 UTC (permalink / raw)
To: Mauro Carvalho Chehab; +Cc: Andy Walls, Linux Media Mailing List
On Sun May 27 2012 22:15:08 Mauro Carvalho Chehab wrote:
> Em 27-05-2012 15:47, Andy Walls escreveu:
> > Hans Verkuil <hverkuil@xs4all.nl> wrote:
> >
> >> On Sun May 27 2012 19:13:38 Mauro Carvalho Chehab wrote:
> >>> Em 27-05-2012 13:56, Mauro Carvalho Chehab escreveu:
> >>>> 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(-)
> >>>>
> >>>
> >>> 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 drivers
> >>> drivers/media/usb - USB drivers
> >>> drivers/media/pci - PCI/PCIe drivers
> >>> drivers/media/platform - platform drivers
> >>
> >> drivers/media/parport
> >> drivers/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
> >>
> >>>
> >>> 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 majordomo@vger.kernel.org
> >>> 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 majordomo@vger.kernel.org
> >> More majordomo info at http://vger.kernel.org/majordomo-info.html
> >
> > 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').
> 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.
Ack.
> 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.
> /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).
> /pci - all PCI/PCIe drivers
> /platform - all platform drivers
> /subdevice - all sub-device drivers
Either /subdevices or /subdevs. It should definitely be plural.
> /tuner - what's currently at common/tuners
Ditto: /tuners
> /usb - all USB drivers
> /v4l2-core - V4L2 core
/media-core for the media*.c sources.
>
> 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
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
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [RFC PATCH 0/3] Improve Kconfig selection for media devices
2012-05-27 16:56 ` [RFC PATCH 0/3] Improve Kconfig selection for media devices Mauro Carvalho Chehab
` (3 preceding siblings ...)
2012-05-27 17:13 ` [RFC] file tree rearrangement - was: Re: [RFC PATCH 0/3] Improve Kconfig selection for media devices Mauro Carvalho Chehab
@ 2012-05-28 9:48 ` Stefan Richter
2012-05-28 11:38 ` Mauro Carvalho Chehab
4 siblings, 1 reply; 36+ messages in thread
From: Stefan Richter @ 2012-05-28 9:48 UTC (permalink / raw)
To: Mauro Carvalho Chehab
Cc: Linux Media Mailing List, Hans Verkuil, Sylwester Nawrocki
On May 27 Mauro Carvalho Chehab wrote:
> 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
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?
--
Stefan Richter
-=====-===-- -=-= ===--
http://arcgraph.de/sr/
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [RFC] file tree rearrangement - was: Re: [RFC PATCH 0/3] Improve Kconfig selection for media devices
2012-05-28 9:42 ` Hans Verkuil
@ 2012-05-28 11:03 ` Mauro Carvalho Chehab
2012-05-28 11:45 ` Hans Verkuil
0 siblings, 1 reply; 36+ messages in thread
From: Mauro Carvalho Chehab @ 2012-05-28 11:03 UTC (permalink / raw)
To: Hans Verkuil; +Cc: Andy Walls, Linux Media Mailing List
Em 28-05-2012 06:42, Hans Verkuil escreveu:
> On Sun May 27 2012 22:15:08 Mauro Carvalho Chehab wrote:
>> Em 27-05-2012 15:47, Andy Walls escreveu:
>>> Hans Verkuil <hverkuil@xs4all.nl> wrote:
>>>
>>>> On Sun May 27 2012 19:13:38 Mauro Carvalho Chehab wrote:
>>>>> Em 27-05-2012 13:56, Mauro Carvalho Chehab escreveu:
>>>>>> 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(-)
>>>>>>
>>>>>
>>>>> 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 drivers
>>>>> drivers/media/usb - USB drivers
>>>>> drivers/media/pci - PCI/PCIe drivers
>>>>> drivers/media/platform - platform drivers
>>>>
>>>> drivers/media/parport
>>>> drivers/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
>>>>
>>>>>
>>>>> 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 majordomo@vger.kernel.org
>>>>> 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 majordomo@vger.kernel.org
>>>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>>
>>> 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').
>
>> 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.
>
> Ack.
>
>> 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.
>
>> /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).
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.
>
>> /pci - all PCI/PCIe drivers
>> /platform - all platform drivers
>> /subdevice - all sub-device drivers
>
> Either /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.
>> /tuner - what's currently at common/tuners
>
> Ditto: /tuners
>
>> /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.
>>
>> 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
>
> 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.
> 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.
> 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 Kconfig perspective, 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.
> 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
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [RFC PATCH 0/3] Improve Kconfig selection for media devices
2012-05-28 9:48 ` Stefan Richter
@ 2012-05-28 11:38 ` Mauro Carvalho Chehab
2012-05-28 12:17 ` Stefan Richter
0 siblings, 1 reply; 36+ messages in thread
From: Mauro Carvalho Chehab @ 2012-05-28 11:38 UTC (permalink / raw)
To: Stefan Richter; +Cc: Linux Media Mailing List, Hans Verkuil, Sylwester Nawrocki
Em 28-05-2012 06:48, Stefan Richter escreveu:
> On May 27 Mauro Carvalho Chehab wrote:
>> 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
>
> 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.
Ok, fixed both above issues. I'll post a version 2 patch series soon.
> 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.
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.
> (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?
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
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [RFC] file tree rearrangement - was: Re: [RFC PATCH 0/3] Improve Kconfig selection for media devices
2012-05-28 11:03 ` Mauro Carvalho Chehab
@ 2012-05-28 11:45 ` Hans Verkuil
2012-05-28 12:10 ` Mauro Carvalho Chehab
0 siblings, 1 reply; 36+ messages in thread
From: Hans Verkuil @ 2012-05-28 11:45 UTC (permalink / raw)
To: Mauro Carvalho Chehab; +Cc: Andy Walls, Linux Media Mailing List
On Mon May 28 2012 13:03:42 Mauro Carvalho Chehab wrote:
> Em 28-05-2012 06:42, Hans Verkuil escreveu:
> > On Sun May 27 2012 22:15:08 Mauro Carvalho Chehab wrote:
...
> >> /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).
>
> 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.
> > /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?
>
> >>
> >> 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
> >
> > 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.
OK, I misunderstood your original description.
> 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.
>
> > 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.
>
> > 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 Kconfig perspective, 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.
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
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [RFC] file tree rearrangement - was: Re: [RFC PATCH 0/3] Improve Kconfig selection for media devices
2012-05-28 11:45 ` Hans Verkuil
@ 2012-05-28 12:10 ` Mauro Carvalho Chehab
0 siblings, 0 replies; 36+ messages in thread
From: Mauro Carvalho Chehab @ 2012-05-28 12:10 UTC (permalink / raw)
To: Hans Verkuil; +Cc: Andy Walls, Linux Media Mailing List
Em 28-05-2012 08:45, Hans Verkuil escreveu:
> On Mon May 28 2012 13:03:42 Mauro Carvalho Chehab wrote:
>> Em 28-05-2012 06:42, Hans Verkuil escreveu:
>>> On Sun May 27 2012 22:15:08 Mauro Carvalho Chehab wrote:
<skip/>
>>> /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/>
>>> 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 Kconfig perspective, 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.
>
> 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.
> How about this:
>
> [ ] Video (aka V4L2) support
DVB is also video. Also Radio is also V4L2 support. So, this seems confusing.
> [ ] 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).
> [ ] 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.
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
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [RFC PATCH 0/3] Improve Kconfig selection for media devices
2012-05-28 11:38 ` Mauro Carvalho Chehab
@ 2012-05-28 12:17 ` Stefan Richter
2012-05-28 12:32 ` Mauro Carvalho Chehab
0 siblings, 1 reply; 36+ messages in thread
From: Stefan Richter @ 2012-05-28 12:17 UTC (permalink / raw)
To: Mauro Carvalho Chehab
Cc: Linux Media Mailing List, Hans Verkuil, Sylwester Nawrocki
On May 28 Mauro Carvalho Chehab wrote:
> Em 28-05-2012 06:48, Stefan Richter escreveu:
> > 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.
>
> 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.
[...]
> 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;
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.
> - 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.
> 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.
--
Stefan Richter
-=====-===-- -=-= ===--
http://arcgraph.de/sr/
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [RFC PATCH 0/3] Improve Kconfig selection for media devices
2012-05-28 12:17 ` Stefan Richter
@ 2012-05-28 12:32 ` Mauro Carvalho Chehab
0 siblings, 0 replies; 36+ messages in thread
From: Mauro Carvalho Chehab @ 2012-05-28 12:32 UTC (permalink / raw)
To: Stefan Richter; +Cc: Linux Media Mailing List, Hans Verkuil, Sylwester Nawrocki
Em 28-05-2012 09:17, Stefan Richter escreveu:
> On May 28 Mauro Carvalho Chehab wrote:
>> Em 28-05-2012 06:48, Stefan Richter escreveu:
>>> 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.
>>
>> 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.
> [...]
>> 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;
>
> 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.
> 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.
> 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.
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.
> If it is a burden, we could rip out the old table and see if anybody
> complains.
>
>> - 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.
>
>> 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
^ permalink raw reply [flat|nested] 36+ messages in thread
end of thread, other threads:[~2012-05-28 12:32 UTC | newest]
Thread overview: 36+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-24 15:34 [GIT PULL for v3.5-rc1] media updates for v3.5 Mauro Carvalho Chehab
2012-05-24 15:52 ` Antti Palosaari
2012-05-24 16:33 ` Ezequiel Garcia
2012-05-24 16:44 ` Mauro Carvalho Chehab
2012-05-24 20:42 ` Linus Torvalds
2012-05-24 22:33 ` Mauro Carvalho Chehab
2012-05-24 22:40 ` Linus Torvalds
2012-05-25 12:12 ` Mauro Carvalho Chehab
2012-05-25 14:49 ` Anssi Hannula
2012-05-25 15:21 ` Mauro Carvalho Chehab
2012-05-25 16:01 ` Anssi Hannula
2012-05-25 21:20 ` Guennadi Liakhovetski
2012-05-25 22:38 ` Stefan Richter
2012-05-27 14:47 ` Mauro Carvalho Chehab
2012-05-27 15:54 ` Mauro Carvalho Chehab
2012-05-27 16:56 ` [RFC PATCH 0/3] Improve Kconfig selection for media devices Mauro Carvalho Chehab
2012-05-27 16:56 ` [RFC PATCH 1/3] media: reorganize the main Kconfig items Mauro Carvalho Chehab
2012-05-27 17:15 ` Hans Verkuil
2012-05-27 17:20 ` Mauro Carvalho Chehab
2012-05-27 17:27 ` Sylwester Nawrocki
2012-05-27 16:56 ` [RFC PATCH 2/3] media: Remove VIDEO_MEDIA Kconfig option Mauro Carvalho Chehab
2012-05-27 16:56 ` [RFC PATCH 3/3] media: only show V4L devices based on device type selection Mauro Carvalho Chehab
2012-05-27 17:13 ` [RFC] file tree rearrangement - was: Re: [RFC PATCH 0/3] Improve Kconfig selection for media devices Mauro Carvalho Chehab
2012-05-27 17:25 ` Hans Verkuil
2012-05-27 18:47 ` Andy Walls
2012-05-27 20:15 ` Mauro Carvalho Chehab
2012-05-28 9:42 ` Hans Verkuil
2012-05-28 11:03 ` Mauro Carvalho Chehab
2012-05-28 11:45 ` Hans Verkuil
2012-05-28 12:10 ` Mauro Carvalho Chehab
2012-05-27 19:54 ` Mauro Carvalho Chehab
2012-05-28 9:12 ` Hans Verkuil
2012-05-28 9:48 ` Stefan Richter
2012-05-28 11:38 ` Mauro Carvalho Chehab
2012-05-28 12:17 ` Stefan Richter
2012-05-28 12:32 ` Mauro Carvalho Chehab
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).