aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-09-06x86: fix memory ranges in mm documentationLorenzo Stoakes1-3/+3
This is a trivial fix to correct upper bound addresses to always be inclusive. Previously, the majority of ranges specified were inclusive with a small minority specifying an exclusive upper bound. This patch fixes this inconsistency. Signed-off-by: Lorenzo Stoakes <[email protected]> Signed-off-by: Jonathan Corbet <[email protected]>
2016-09-06documentation/scsi: Remove nodisconnect parameterFinn Thain2-4/+0
The driver that used the 'nodisconnect' parameter was removed in commit 565bae6a4a8f ("[SCSI] 53c7xx: kill driver"). Related documentation was cleaned up in commit f37a7238d379 ("[SCSI] 53c7xx: fix removal fallout"), except for the remaining two mentions that are removed here. Signed-off-by: Finn Thain <[email protected]> Reviewed-by: Geert Uytterhoeven <[email protected]> Signed-off-by: Jonathan Corbet <[email protected]>
2016-09-06doc: ioctl: Add some clarifications to botching-up-ioctlsLaura Abbott1-5/+8
- The guide currently says to pad the structure to a multiple of 64-bits. This is not necessary in cases where the structure contains no 64-bit types. Clarify this concept to avoid unnecessary padding. - When using __u64 to hold user pointers, blindly trying to do a cast to a void __user * may generate a warning on 32-bit systems about a cast from an integer to a pointer of different size. There is a macro to deal with this which hides an ugly double cast. Add a reference to this macro. Signed-off-by: Laura Abbott <[email protected]> Acked-by: Arnd Bergmann <[email protected]> Signed-off-by: Jonathan Corbet <[email protected]>
2016-09-05[media] smiapp: Remove set_xclk() callback from hwconfigSakari Ailus2-34/+17
The clock framework is generally so well supported that there's no reason to keep this one around. Signed-off-by: Sakari Ailus <[email protected]> Reviewed-by: Sebastian Reichel <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-09-05[media] smiapp: Switch to gpiod API for GPIO controlSakari Ailus3-28/+12
Switch from the old gpio API to the new descriptor based gpiod API. Signed-off-by: Sakari Ailus <[email protected]> Reviewed-by: Sebastian Reichel <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-09-05[media] smiapp: Constify the regs argument to smiapp_write_8s()Sakari Ailus1-7/+5
The data may now be const as well. Signed-off-by: Sakari Ailus <[email protected]> Reviewed-by: Sebastian Reichel <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-09-05[media] smiapp: Return -EPROBE_DEFER if the clock cannot be obtainedSakari Ailus1-2/+3
The clock may be provided by a driver which is yet to probe. Print the actual error code as well. Signed-off-by: Sakari Ailus <[email protected]> Reviewed-by: Sebastian Reichel <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-09-05[media] smiapp: Rename smiapp_platform_data as smiapp_hwconfigSakari Ailus4-74/+74
This is really configuration to the driver originating from DT or elsewhere. Do not call it platform data. Signed-off-by: Sakari Ailus <[email protected]> Reviewed-by: Sebastian Reichel <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-09-05[media] smiapp: Unify enforced and need-based 8-bit readSakari Ailus1-11/+11
Unify enforced 8-bit read access with that based on actual need. Signed-off-by: Sakari Ailus <[email protected]> Reviewed-by: Sebastian Reichel <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-09-05[media] cx231xx-cards: unregister IR earlierMauro Carvalho Chehab1-2/+2
Without this patch, a bug is issued when the module is removed: [ 1417.425863] cx231xx 1-3.1.4:1.1: Cx231xx dvb Extension removed [ 1417.571923] BUG: unable to handle kernel paging request at ffffffffc081a024 [ 1417.571962] IP: [<ffffffff813da854>] string+0x24/0x80 [ 1417.571987] PGD 1c09067 PUD 1c0b067 PMD 88e653067 PTE 0 [ 1417.572013] Oops: 0000 [#1] SMP [ 1417.572026] Modules linked in: mb86a20s dvb_core cx231xx_alsa ir_kbd_i2c(-) tda18271 tea5767 tuner cx25840 cx231xx i2c_mux videobuf_vmalloc tveeprom cx2341x videobuf_core rc_core v4l2_common videodev media bnep usblp fuse xt_CHECKSUM iptable_mangle tun ebtable_filter ebtables ip6table_filter ip6_tables xt_physdev br_netfilter bridge nf_log_ipv4 nf_log_common xt_LOG xt_conntrack ipt_MASQUERADE nf_nat_masquerade_ipv4 iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack cpufreq_stats vfat fat snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic intel_rapl x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel snd_hda_intel snd_hda_codec kvm snd_hda_core snd_hwdep snd_seq snd_seq_device snd_pcm irqbypass crct10dif_pclmul iTCO_wdt crc32_pclmul nfsd hci_uart iTCO_vendor_support [ 1417.572317] snd_timer ghash_clmulni_intel btbcm intel_cstate btqca snd intel_uncore btintel intel_rapl_perf mei_me bluetooth mei shpchp soundcore pcspkr i2c_i801 auth_rpcgss wmi acpi_als kfifo_buf nfs_acl industrialio rfkill lockd pinctrl_sunrisepoint pinctrl_intel tpm_tis tpm intel_lpss_acpi intel_lpss acpi_pad grace sunrpc binfmt_misc hid_logitech_hidpp hid_logitech_dj 8021q garp stp llc mrp i915 i2c_algo_bit drm_kms_helper drm e1000e sdhci_pci sdhci mmc_core crc32c_intel ptp pps_core video i2c_hid fjes analog gameport joydev [last unloaded: rc_pixelview_002t] [ 1417.572487] CPU: 4 PID: 24493 Comm: rmmod Tainted: G W 4.7.0+ #2 [ 1417.572504] Hardware name: /NUC6i7KYB, BIOS KYSKLi70.86A.0041.2016.0817.1130 08/17/2016 [ 1417.572526] task: ffff880894b81e80 ti: ffff880896bdc000 task.ti: ffff880896bdc000 [ 1417.572544] RIP: 0010:[<ffffffff813da854>] [<ffffffff813da854>] string+0x24/0x80 [ 1417.572564] RSP: 0018:ffff880896bdfbe8 EFLAGS: 00010286 [ 1417.572577] RAX: ffffffffc081a025 RBX: ffff8808935aa15c RCX: ffff0a00ffffff04 [ 1417.572594] RDX: ffffffffc081a024 RSI: ffffffffffffffff RDI: ffff8808935aa15c [ 1417.572610] RBP: ffff880896bdfbe8 R08: fffffffffffffffe R09: ffff8808935aa91c [ 1417.572628] R10: ffffffffc07b85d6 R11: 0000000000000000 R12: ffff8808935aa91c [ 1417.572644] R13: 00000000000007c5 R14: ffffffffc07b85dd R15: ffffffffc07b85dd [ 1417.572662] FS: 00007f5a5392d700(0000) GS:ffff8808bed00000(0000) knlGS:0000000000000000 [ 1417.572681] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 1417.572705] CR2: ffffffffc081a024 CR3: 0000000897188000 CR4: 00000000003406e0 [ 1417.572735] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 1417.572761] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 1417.572778] Stack: [ 1417.572785] ffff880896bdfc48 ffffffff813dcf77 0000000000000005 ffff8808935aa157 [ 1417.572806] ffff880896bdfc58 ffff0a00ffffff04 000000009d27375e ffff8808935aa000 [ 1417.572829] 0000000000000800 ffff880896182800 0000000000000000 ffff88089e898ae0 [ 1417.572850] Call Trace: [ 1417.572860] [<ffffffff813dcf77>] vsnprintf+0x2d7/0x500 [ 1417.572873] [<ffffffff813d3e12>] add_uevent_var+0x82/0x120 [ 1417.572890] [<ffffffffc07b534d>] rc_dev_uevent+0x2d/0x60 [rc_core] [ 1417.572907] [<ffffffff81515969>] dev_uevent+0xd9/0x2d0 [ 1417.572921] [<ffffffff813d4309>] kobject_uevent_env+0x2d9/0x4f0 [ 1417.572938] [<ffffffff813d452b>] kobject_uevent+0xb/0x10 [ 1417.572954] [<ffffffff81513a3f>] device_del+0x18f/0x260 [ 1417.572974] [<ffffffff813d2db7>] ? kobject_put+0x27/0x50 [ 1417.572998] [<ffffffffc07b5e25>] rc_unregister_device+0x75/0xb0 [rc_core] [ 1417.573028] [<ffffffffc07e6023>] ir_remove+0x23/0x30 [ir_kbd_i2c] [ 1417.573055] [<ffffffff8162bf88>] i2c_device_remove+0x58/0xb0 [ 1417.573078] [<ffffffff81518191>] __device_release_driver+0xa1/0x160 [ 1417.573102] [<ffffffff81518de6>] driver_detach+0xa6/0xb0 [ 1417.573122] [<ffffffff81517b25>] bus_remove_driver+0x55/0xd0 [ 1417.573146] [<ffffffff815195bc>] driver_unregister+0x2c/0x50 [ 1417.573168] [<ffffffff8162cf62>] i2c_del_driver+0x22/0x50 [ 1417.573194] [<ffffffffc07e6ba4>] ir_kbd_driver_exit+0x10/0x46c [ir_kbd_i2c] [ 1417.573227] [<ffffffff81126348>] SyS_delete_module+0x1b8/0x220 [ 1417.573254] [<ffffffff817debf2>] entry_SYSCALL_64_fastpath+0x1a/0xa4 [ 1417.573279] Code: eb e9 76 ff ff ff 90 55 49 89 f1 48 89 ce 48 c1 fe 30 48 81 fa ff 0f 00 00 48 89 e5 4c 8d 46 ff 76 40 48 85 f6 74 4e 48 8d 42 01 <0f> b6 12 84 d2 74 43 49 01 c0 31 f6 eb 0c 48 83 c0 01 0f b6 50 [ 1417.573437] RIP [<ffffffff813da854>] string+0x24/0x80 [ 1417.573455] RSP <ffff880896bdfbe8> [ 1417.573465] CR2: ffffffffc081a024 [ 1417.580053] ---[ end trace 4ca9e2eced326a62 ]--- Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-09-05[media] cx231xx: can't proceed if I2C bus register failsMauro Carvalho Chehab1-5/+19
The driver should not ignore errors while registering the I2C bus, as this device can't even minimally work without the buses, as it uses those buses internally to talk with the several IP blocks inside the chip. Cc: [email protected] Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-09-05[media] cx231xx-i2c: handle errors with cx231xx_get_i2c_adap()Mauro Carvalho Chehab1-1/+1
The cx231xx_get_i2c_adap() function should return the I2C adapter that will be used to talk with a device. It should never be NULL, as otherwise the driver will try to dereference a null pointer. We might instead fix the callers, but if this condition ever happens, it is really a driver bug, because i2c_port should always be a value from enum CX231XX_I2C_MASTER_PORT. Found when checking the code due to this bug: [ 39.769021] BUG: unable to handle kernel NULL pointer dereference at 0000000000000002 [ 39.769105] IP: [<ffffffff81638393>] i2c_master_send+0x13/0x70 Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-09-05[media] cx231xx-core: fix GPIO commentsMauro Carvalho Chehab1-4/+4
The number of the cx231xx REQ for GPIO register set/get are wrong. They should follow what's there at cx231xx-pcb-cfg.h. Noticed while checking the cx231xx parser at the v4l-utils. Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-09-05[media] cx231xx: prints error code if can't switch TV modeMauro Carvalho Chehab1-1/+8
If something bad happens when switching between digital and analog mode, prints an error and outputs the returned code. Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-09-05[media] cx231xx: fix GPIOs for Pixelview SBTVD hybridMauro Carvalho Chehab2-2/+3
This device uses GPIOs: 28 to switch between analog and digital modes: on digital mode, it should be set to 1. The code that sets it on analog mode is OK, but it misses the logic that sets it on digital mode. Cc: [email protected] Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-09-05[media] cx231xx: don't return error on successMauro Carvalho Chehab1-1/+4
The cx231xx_set_agc_analog_digital_mux_select() callers expect it to return 0 or an error. Returning a positive value makes the first attempt to switch between analog/digital to fail. Cc: [email protected] Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-09-05[media] mb86a20s: fix demod settingsMauro Carvalho Chehab1-50/+42
With the current settings, only one channel locks properly. That's likely because, when this driver was written, Brazil were still using experimental transmissions. Change it to reproduce the settings used by the newer drivers. That makes it lock on other channels. Tested with both PixelView SBTVD Hybrid (cx231xx-based) and C3Tech Digital Duo HDTV/SDTV (em28xx-based) devices. Cc: [email protected] Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-09-05[media] mb86a20s: fix the locking logicMauro Carvalho Chehab1-1/+11
On this frontend, it takes a while to start output normal TS data. That only happens on state S9. On S8, the TS output is enabled, but it is not reliable enough. However, the zigzag loop is too fast to let it sync. As, on practical tests, the zigzag software loop doesn't seem to be helping, but just slowing down the tuning, let's switch to hardware algorithm, as the tuners used on such devices are capable of work with frequency drifts without any help from software. Cc: [email protected] Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-09-05[media] tea5767: use module prefix on printed messagesMauro Carvalho Chehab1-3/+6
use pr_fmt() & friends for error messages to output like: [ 9.651721] tea5767: Chip ID is not zero. It is not a TEA5767 Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-09-05[media] tda18271: use prefix on all printk messagesMauro Carvalho Chehab2-5/+8
Some messages have a hardcoded prefix; others not. Use the pr_fmt() to ensure that all messages will use the same prefix. Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-09-05Merge branch 'docs-next' of git://git.lwn.net/linux into patchworkMauro Carvalho Chehab7-21/+69
* 'docs-next' of git://git.lwn.net/linux: doc-rst: define PDF's of the media folder doc-rst: generic way to build PDF of sub-folders docs: sphinx-extensions: add metadata parallel-safe docs-rst: kernel-doc: fix typedef output in RST format docs-rst: improve typedef parser docs: kernel-parameter: Improve the description of nr_cpus and maxcpus docs-rst: kernel-doc: better output struct members
2016-09-01Merge branch 'doc/4.9' into docs-nextJonathan Corbet7-21/+69
2016-09-01doc-rst: define PDF's of the media folderMarkus Heiser1-0/+5
To build only the PDF of the media folder run:: make SPHINXDIRS=media pdfdocs Signed-off-by: Markus Heiser <[email protected]> Signed-off-by: Jonathan Corbet <[email protected]>
2016-09-01doc-rst: generic way to build PDF of sub-foldersMarkus Heiser1-2/+2
This extends the method to build only sub-folders to the targets "latexdocs" and "pdfdocs". To do so, a conf.py in the sub-folder is required, where the latex_documents of the sub-folder are defined. E.g. to build only gpu's PDF add the following to the Documentation/gpu/conf.py:: +latex_documents = [ + ("index", "gpu.tex", "Linux GPU Driver Developer's Guide", + "The kernel development community", "manual"), +] and run: make SPHINXDIRS=gpu pdfdocs Signed-off-by: Markus Heiser <[email protected]> Signed-off-by: Jonathan Corbet <[email protected]>
2016-09-01docs: sphinx-extensions: add metadata parallel-safeMarkus Heiser3-0/+21
The setup() function of a Sphinx-extension can return a dictionary. This is treated by Sphinx as metadata of the extension [1]. With metadata "parallel_read_safe = True" a extension is marked as save for "parallel reading of source". This is needed if you want build in parallel with N processes. E.g.: make SPHINXOPTS=-j4 htmldocs will no longer log warnings like: WARNING: the foobar extension does not declare if it is safe for parallel reading, assuming it isn't - please ask the extension author to check and make it explicit. Add metadata to extensions: * kernel-doc * flat-table * kernel-include [1] http://www.sphinx-doc.org/en/stable/extdev/#extension-metadata Signed-off-by: Markus Heiser <[email protected]> Tested-by: Mauro Carvalho Chehab <[email protected]> Signed-off-by: Jonathan Corbet <[email protected]>
2016-09-01docs-rst: kernel-doc: fix typedef output in RST formatMauro Carvalho Chehab1-10/+24
When using a typedef function like this one: typedef bool v4l2_check_dv_timings_fnc (const struct v4l2_dv_timings * t, void * handle); The Sphinx C domain expects it to create a c:type: reference, as that's the way it creates the type references when parsing a c:function:: declaration. So, a declaration like: .. c:function:: bool v4l2_valid_dv_timings (const struct v4l2_dv_timings * t, const struct v4l2_dv_timings_cap * cap, v4l2_check_dv_timings_fnc fnc, void * fnc_handle) Will create a cross reference for :c:type:`v4l2_check_dv_timings_fnc`. So, when outputting such typedefs in RST format, we need to handle this special case, as otherwise it will produce those warnings: ./include/media/v4l2-dv-timings.h:43: WARNING: c:type reference target not found: v4l2_check_dv_timings_fnc ./include/media/v4l2-dv-timings.h:60: WARNING: c:type reference target not found: v4l2_check_dv_timings_fnc ./include/media/v4l2-dv-timings.h:81: WARNING: c:type reference target not found: v4l2_check_dv_timings_fnc So, change the kernel-doc script to produce a RST output for the above typedef as: .. c:type:: v4l2_check_dv_timings_fnc **Typedef**: timings check callback **Syntax** ``bool v4l2_check_dv_timings_fnc (const struct v4l2_dv_timings * t, void * handle);`` Signed-off-by: Mauro Carvalho Chehab <[email protected]> Signed-off-by: Jonathan Corbet <[email protected]>
2016-09-01docs-rst: improve typedef parserMauro Carvalho Chehab1-1/+3
Improve the parser to handle typedefs like: typedef bool v4l2_check_dv_timings_fnc(const struct v4l2_dv_timings *t, void *handle); Signed-off-by: Mauro Carvalho Chehab <[email protected]> Signed-off-by: Jonathan Corbet <[email protected]>
2016-08-25docs: kernel-parameter: Improve the description of nr_cpus and maxcpusBaoquan He1-7/+13
From the old description people still can't get what's the exact difference between nr_cpus and maxcpus. Especially in kdump kernel nr_cpus is always suggested if it's implemented in the ARCH. The reason is nr_cpus is used to limit the max number of possible cpu in system, the sum of already plugged cpus and hot plug cpus can't exceed its value. However maxcpus is used to limit how many cpus are allowed to be brought up during bootup. Signed-off-by: Baoquan He <[email protected]> Signed-off-by: Jonathan Corbet <[email protected]>
2016-08-25[media] m2m-deinterlace: Fix error print during probePeter Ujfalusi1-1/+1
v4l2_err() can not be used for printing error for missing interleaved support in DMA as this point the pcdev->v4l2_dev is not valid. Signed-off-by: Peter Ujfalusi <[email protected]> Acked-by: Sakari Ailus <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-08-25[media] redrat3: fix sparse warningHans Verkuil1-1/+1
Fix this sparse warning: drivers/media/rc/redrat3.c:490:18: warning: incorrect type in assignment (different base types) drivers/media/rc/redrat3.c:495:9: warning: cast to restricted __be32 Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-08-25[media] drivers: hackrf: fixed a coding style issueJannik Becher1-1/+1
changed 'unsigned' to 'unsigned int' to obtain the coding style. Signed-off-by: Jannik Becher <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-08-24docs-rst: kernel-doc: better output struct membersMauro Carvalho Chehab1-1/+1
Right now, for a struct, kernel-doc produces the following output: .. c:type:: struct v4l2_prio_state stores the priority states **Definition** :: struct v4l2_prio_state { atomic_t prios[4]; }; **Members** ``atomic_t prios[4]`` array with elements to store the array priorities Putting a member name in verbatim and adding a continuation line causes the LaTeX output to generate something like: item[atomic_t prios\[4\]] array with elements to store the array priorities Everything inside "item" is non-breakable, with may produce lines bigger than the column width. Also, for function members, like: int (* rx_read) (struct v4l2_subdev *sd, u8 *buf, size_t count,ssize_t *num); It puts the name of the member at the end, like: int (*) (struct v4l2_subdev *sd, u8 *buf, size_t count,ssize_t *num) read With is very confusing. The best is to highlight what really matters: the member name. is a secondary information. So, change kernel-doc, for it to produce the output on a different way: **Members** ``prios[4]`` array with elements to store the array priorities Also, as the type is not part of LaTeX "item[]", LaTeX will split it into multiple lines, if needed. So, both LaTeX/PDF and HTML outputs will look good. It should be noticed, however, that the way Sphinx LaTeX output handles things like: Foo bar is different than the HTML output. On HTML, it will produce something like: **Foo** bar While, on LaTeX, it puts both foo and bar at the same line, like: **Foo** bar Signed-off-by: Mauro Carvalho Chehab <[email protected]> Signed-off-by: Jonathan Corbet <[email protected]>
2016-08-24[media] dvb_frontend: Use memdup_user() rather than duplicating its ↵Markus Elfring1-22/+6
implementation * Reuse existing functionality from memdup_user() instead of keeping duplicate source code. This issue was detected by using the Coccinelle software. * Return directly if this copy operation failed. * Replace the specification of data structures by pointer dereferences to make the corresponding size determination a bit safer according to the Linux coding style convention. Signed-off-by: Markus Elfring <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-08-24[media] vb2: Fix vb2_core_dqbuf() kernel-docJavier Martinez Canillas1-1/+2
The kernel-doc has the wrong function name and also the pindex parameter is missing in the documentation. Signed-off-by: Javier Martinez Canillas <[email protected]> Acked-by: Sakari Ailus <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-08-24[media] media: v4l2-ctrls: append missing h264 profile stringStanimir Varbanov1-0/+1
This appends missing "Stereo High" h264 profile string. Without it the v4l2 compliance would crash kernel with NULL pointer dereference at: [ 26.882278] [<ffff000008685cbc>] std_validate+0x378/0x42c [ 26.886967] [<ffff000008687424>] set_ctrl+0x8c/0x134 [ 26.892521] [<ffff00000868755c>] v4l2_s_ctrl+0x90/0xf4 [ 26.897555] [<ffff00000867f3b0>] v4l_s_ctrl+0x4c/0x110 [ 26.902503] [<ffff00000867db04>] __video_do_ioctl+0x240/0x2b4 [ 26.907625] [<ffff00000867d778>] video_usercopy+0x33c/0x46c [ 26.913441] [<ffff00000867d8bc>] video_ioctl2+0x14/0x1c [ 26.918822] [<ffff000008678878>] v4l2_ioctl+0xe0/0x110 [ 26.924032] [<ffff0000081da898>] do_vfs_ioctl+0xb4/0x764 [ 26.929238] [<ffff0000081dafcc>] SyS_ioctl+0x84/0x98 [ 26.934707] [<ffff000008082f4c>] __sys_trace_return+0x0/0x4 Signed-off-by: Stanimir Varbanov <[email protected]> Acked-by: Sakari Ailus <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-08-24[media] media-types.rst: fix typoHans Verkuil1-1/+1
Fix copy-and-paste error: the radio devices are /dev/radio, not /dev/vbi. Signed-off-by: Hans Verkuil <<[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-08-24[media] helene: fix memory leak when heleno_x_pon failsColin Ian King1-2/+6
The error return path of failed calls to heleno_x_pon leak memory because priv is not kfree'd. Fix this by kfree'ing priv before returning. Signed-off-by: Colin Ian King <[email protected]> Acked-by: Abylay Ospan <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-08-24[media] staging: media: lirc: lirc_sasem: don't print error when allocating ↵Wolfram Sang1-5/+0
urb fails kmalloc will print enough information in case of failure. Signed-off-by: Wolfram Sang <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-08-24[media] staging: media: lirc: lirc_imon: don't print error when allocating ↵Wolfram Sang1-7/+2
urb fails kmalloc will print enough information in case of failure. Signed-off-by: Wolfram Sang <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-08-24[media] v4l2-async: remove unneeded .registered_async callbackJavier Martinez Canillas2-10/+0
The v4l2_subdev_core_ops .registered_async callback was added to notify a subdev when its entity has been registered with the media device, to allow for example to modify the media graph (i.e: adding entities/links). But that's not needed since there is already a .registered callback in struct v4l2_subdev_internal_ops that's called after the entity has been registered with the media device in v4l2_device_register_subdev(). Suggested-by: Sakari Ailus <[email protected]> Signed-off-by: Javier Martinez Canillas <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-08-24[media] tvp5150: use sd internal ops .registered instead .registered_asyncJavier Martinez Canillas1-2/+6
The driver is using the struct v4l2_subdev_core_ops .registered_async callback to register the connector entities and create the pad links after the subdev entity has been registered with the media device. But the .registered_async callback isn't needed since the v4l2 core already calls the struct v4l2_subdev_internal_ops .registered callback in v4l2_device_register_subdev(), after media_device_register_entity(). So, use the .registered() callback instead of the .registered_async() that is going to be removed in a following patch since isn't needed. Suggested-by: Sakari Ailus <[email protected]> Signed-off-by: Javier Martinez Canillas <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-08-24[media] v4l: Do not allow re-registering sub-devicesSakari Ailus1-4/+1
Albeit not prohibited explicitly, re-registering sub-devices generated a big, loud warning which quite likely soon was followed by a crash. What followed was re-initialising a media entity, driver's registered() callback being called and re-adding a list entry to a list. Prevent this by returning an error if a sub-device is already registered. [[email protected]: reorder logic to check if !sd before dereferencing it] Signed-off-by: Sakari Ailus <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-08-24[media] media-entity.h: remove redundant macro definition for gobj_to_pad()Liu Ying1-3/+0
The macro gobj_to_pad() is defined twice in media-entity.h. Let's remove one. Signed-off-by: Liu Ying <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-08-24[media] media-entity.h: Correct KernelDoc of media_entity_enum_empty()Liu Ying1-1/+1
The function media_entity_enum_empty() returns true when the bitmap of the input parameter media entity enumeration is empty instead of marked. This patch corrects the return value description of the function. Signed-off-by: Liu Ying <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-08-24[media] media-entity.h: remove redundant macro definition for gobj_to_link()Liu Ying1-3/+0
The macro gobj_to_link() is defined twice in media-entity.h. Let's remove one. Signed-off-by: Liu Ying <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-08-24[media] drxd_hard: Add missing error code assignment before testChristophe JAILLET1-1/+1
It is likely that checking the result of the 2nd 'read16' is expected here. Signed-off-by: Christophe JAILLET <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-08-24[media] cx23885: Add support for Hauppauge WinTV quadHD ATSC versionStephen Backway4-1/+132
Add support for the Hauppauge WinTV quadHD ATSC version. IR support has not been provided, all 4 tuners, demodulators etc are working. Further documentation can be found on Linux TV wiki. Signed-off-by: Stephen Backway <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-08-24[media] rcar-fcp: Make sure rcar_fcp_enable() returns 0 on successGeert Uytterhoeven1-1/+7
When resuming from suspend-to-RAM on r8a7795/salvator-x: dpm_run_callback(): pm_genpd_resume_noirq+0x0/0x90 returns 1 PM: Device fe940000.fdp1 failed to resume noirq: error 1 dpm_run_callback(): pm_genpd_resume_noirq+0x0/0x90 returns 1 PM: Device fe944000.fdp1 failed to resume noirq: error 1 dpm_run_callback(): pm_genpd_resume_noirq+0x0/0x90 returns 1 PM: Device fe948000.fdp1 failed to resume noirq: error 1 According to its documentation, rcar_fcp_enable() returns 0 on success or a negative error code if an error occurs. Hence fdp1_pm_runtime_resume() and vsp1_pm_runtime_resume() forward its return value to their callers. However, rcar_fcp_enable() forwards the return value of pm_runtime_get_sync(), which can actually be 1 on success, leading to the resume failure above. To fix this, consider only negative values returned by pm_runtime_get_sync() to be failures. Fixes: 7b49235e83b2347c ("[media] v4l: Add Renesas R-Car FCP driver") Signed-off-by: Geert Uytterhoeven <[email protected]> Reviewed-by: Laurent Pinchart <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-08-24[media] media: pci: pt3: don't print error when adding adapter failsWolfram Sang1-3/+1
The core will do this for us now. Signed-off-by: Wolfram Sang <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-08-24[media] media: usb: dvb-usb-v2: dvb_usb_core: don't print error when adding ↵Wolfram Sang1-2/+0
adapter fails The core will do this for us now. Signed-off-by: Wolfram Sang <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>