Commit graph

536,164 commits

Author SHA1 Message Date
John Lin
d12d6c4ef2 ASoC: rt5645: improve headphone depop function
We add a calibration function and call it at the beginning of i2c_probe.
The calibration value will be kept until codec is shutdown. We will reset
the codec after the calibration is finished. So, we set cache_bypass in
the calibration function. The benefit is we can shorter the delay time
in headphone depop.

We also change the register setting in the depop sequence which will
reduce the pop noise in headphone playback.

Signed-off-by: John Lin <john.lin@realtek.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-12 19:50:39 +01:00
Julien Grall
e5cbec617f ARM: EXYNOS: Don't try to initialize suspend on old DT
Since commit 8b283c0254 ("ARM: exynos4/5: convert pmu wakeup to
stacked domains"), a suspend/resume is not supported on old DT.

Although, rather than printing a warning and continue to boot, the
kernel will segfault just after:

------------[ cut here ]------------

WARNING: CPU: 1 PID: 1 at arch/arm/mach-exynos/suspend.c:726 exynos_pm_init+0x4c/0xc8()
Modules linked in:
CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.1.0-rc3 #1
Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
[<c02181c4>] (unwind_backtrace) from [<c0213b2c>] (show_stack+0x10/0x14)
[<c0213b2c>] (show_stack) from [<c0949890>] (dump_stack+0x70/0x8c)
[<c0949890>] (dump_stack) from [<c024f0b0>] (warn_slowpath_common+0x74/0xac)
[<c024f0b0>] (warn_slowpath_common) from [<c024f104>] (warn_slowpath_null+0x1c/0x24)
[<c024f104>] (warn_slowpath_null) from [<c0cf1d28>] (exynos_pm_init+0x4c/0xc8)
[<c0cf1d28>] (exynos_pm_init) from [<c0ceaae8>] (init_machine_late+0x1c/0x28)
[<c0ceaae8>] (init_machine_late) from [<c020aa64>] (do_one_initcall+0x80/0x1d0)
[<c020aa64>] (do_one_initcall) from [<c0ce8d4c>] (kernel_init_freeable+0x10c/0x1d8)
[<c0ce8d4c>] (kernel_init_freeable) from [<c0944a2c>] (kernel_init+0x8/0xe4)
[<c0944a2c>] (kernel_init) from [<c0210e60>] (ret_from_fork+0x14/0x34)
---[ end trace 335bd937d409f3c7 ]---
Outdated DT detected, suspend/resume will NOT work
Unable to handle kernel NULL pointer dereference at virtual address 00000608
pgd = c0204000
[00000608] *pgd=00000000
Internal error: Oops: 5 [#1] SMP ARM
Modules linked in:
CPU: 1 PID: 1 Comm: swapper/0 Tainted: G        W       4.1.0-rc3 #1
Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
task: db06c000 ti: db05a000 task.ti: db05a000
PC is at exynos_pm_init+0x6c/0xc8
LR is at exynos_pm_init+0x54/0xc8
pc : [<c0cf1d48>]    lr : [<c0cf1d30>]    psr: 60000113
sp : db05bee8  ip : 00000000  fp : 00000000
r10: 00000116  r9 : c0dab2d4  r8 : d8d5f440
r7 : c0db7ad8  r6 : c0db7ad8  r5 : 00000000  r4 : c0ceaacc
r3 : c0eb2aec  r2 : c0951e40  r1 : 00000000  r0 : c0eb2acc
Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
Control: 10c5387d  Table: 6020406a  DAC: 00000015
Process swapper/0 (pid: 1, stack limit = 0xdb05a220)
Stack: (0xdb05bee8 to 0xdb05c000)
bee0:                   c0db7ad8 c0d8fe34 c0cf17c8 c0ceaae8 00000000 c020aa64
bf00: 00000033 c09580b8 db04fd00 c0ed79a4 c0eb1000 c0ce8588 c0ca2bc4 c0353fcc
bf20: 00000000 c0df358c 60000113 00000000 dbfffba4 00000000 c0ca2bc4 c026654c
bf40: c0b80134 c0ca1a64 00000007 00000007 c0df3554 c0d6c2f4 00000007 c0d6c2d4
bf60: c0eb1000 c0ce8588 c0dab2d4 00000116 00000000 c0ce8d4c 00000007 00000007
bf80: c0ce8588 c0944a24 00000000 c0944a24 00000000 00000000 00000000 00000000
bfa0: 00000000 c0944a2c 00000000 c0210e60 00000000 00000000 00000000 00000000
bfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
bfe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
[<c0cf1d48>] (exynos_pm_init) from [<c0ceaae8>] (init_machine_late+0x1c/0x28)
[<c0ceaae8>] (init_machine_late) from [<c020aa64>] (do_one_initcall+0x80/0x1d0)
[<c020aa64>] (do_one_initcall) from [<c0ce8d4c>] (kernel_init_freeable+0x10c/0x1d8)
[<c0ce8d4c>] (kernel_init_freeable) from [<c0944a2c>] (kernel_init+0x8/0xe4)
[<c0944a2c>] (kernel_init) from [<c0210e60>] (ret_from_fork+0x14/0x34)
Code: e59f005c e59220c0 e5901000 e5832000 (e591e608)
---[ end trace 335bd937d409f3c8 ]---

This is happening because pmu_base_addr is only initialized when the
PMU is an interrupt controller. It's not the case on old DT.

Signed-off-by: Julien Grall <julien.grall@citrix.com>
Signed-off-by: Kukjin Kim <kgene@kernel.org>
2015-05-13 03:49:04 +09:00
Fabio Estevam
16f0acd0ca ASoC: max98095: Pass the IRQF_ONESHOT flag
Since commit 1c6c69525b ("genirq: Reject
bogus threaded irq requests") threaded IRQs without a primary handler
need to be requested with IRQF_ONESHOT, otherwise the request will fail.

So pass the IRQF_ONESHOT flag in this case.

The semantic patch that makes this change is available
in scripts/coccinelle/misc/irqf_oneshot.cocci.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-12 19:48:24 +01:00
Fabio Estevam
208ba89b40 ASoC: twl6040: Pass the IRQF_ONESHOT flag
Since commit 1c6c69525b ("genirq: Reject
bogus threaded irq requests") threaded IRQs without a primary handler
need to be requested with IRQF_ONESHOT, otherwise the request will fail.

So pass the IRQF_ONESHOT flag in this case.

The semantic patch that makes this change is available
in scripts/coccinelle/misc/irqf_oneshot.cocci.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-12 19:47:47 +01:00
Fabio Estevam
d78395ce78 ASoC: wm8994: Pass the IRQF_ONESHOT flag
Since commit 1c6c69525b ("genirq: Reject
bogus threaded irq requests") threaded IRQs without a primary handler
need to be requested with IRQF_ONESHOT, otherwise the request will fail.

So pass the IRQF_ONESHOT flag in this case.

The semantic patch that makes this change is available
in scripts/coccinelle/misc/irqf_oneshot.cocci.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-12 19:47:34 +01:00
Fabio Estevam
3d907cc30d ASoC: wm5100: Pass the IRQF_ONESHOT flag
Since commit 1c6c69525b ("genirq: Reject
bogus threaded irq requests") threaded IRQs without a primary handler
need to be requested with IRQF_ONESHOT, otherwise the request will fail.

So pass the IRQF_ONESHOT flag in this case.

The semantic patch that makes this change is available
in scripts/coccinelle/misc/irqf_oneshot.cocci.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-12 19:46:25 +01:00
Fabio Estevam
ed043aebe6 ASoC: wm8996: Pass the IRQF_ONESHOT flag
Since commit 1c6c69525b ("genirq: Reject
bogus threaded irq requests") threaded IRQs without a primary handler
need to be requested with IRQF_ONESHOT, otherwise the request will fail.

So pass the IRQF_ONESHOT flag in this case.

The semantic patch that makes this change is available
in scripts/coccinelle/misc/irqf_oneshot.cocci.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-12 19:45:38 +01:00
Markus Reichl
d51f746961 ARM: dts: Add HS400 support for exynos5422-odroidxu3
HS400 timing values are added for exynos5422-odroidxu3 board.

Signed-off-by: Markus Reichl <m.reichl@fivetechno.de>
Acked-by: Jaehoon Chung <jh80.chung@samsung.com>
Acked-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Kukjin Kim <kgene@kernel.org>
2015-05-13 03:45:22 +09:00
Zidan Wang
c5f4823bab ASoC: fsl_sai: add 12kHz, 24kHz, 176.4kHz and 192kHz sample rate support
Normally we don't support 12kHz, 24kHz in audio driver, alsa didn't
have formal definition of 12kHz, 24kHz, but alsa supply a way to
support these sample rates. And add 176.4kHz and 192kHz support.

Signed-off-by: Zidan Wang <zidan.wang@freescale.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-12 19:44:45 +01:00
Zidan Wang
c3ecef21c3 ASoC: fsl_sai: add sai master mode support
When sai works on master mode, set its bit clock and frame clock.

SAI has 4 MCLK source, bus clock, MCLK1, MCLK2 and MCLK3. fsl_sai_set_bclk
will select proper MCLK source, then calculate and set the bit clock divider.

After fsl_sai_set_bclk, enable the selected mclk in hw_params(), and add
hw_free() to disable the mclk.

Signed-off-by: Zidan Wang <zidan.wang@freescale.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-12 19:43:51 +01:00
Marek Belisko
c778b4726a ASoC: bt-sco: Add devicetree support for bt-sco codec
Add devicetree support for bluetooth SCO link codec.

Signed-off-by: Marek Belisko <marek@goldelico.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-12 19:43:41 +01:00
Javier Martinez Canillas
b270687977 ARM: dts: Add keep-power-in-suspend to WiFi SDIO node for Peach Boards
The Marvell mwifiex driver prevents the system to enter into a suspend
state if the card power is not preserved during a suspend/resume cycle.

So Suspend-to-RAM and Suspend-to-idle is failing on Exynos5800 Peach Pi
and Exynos5420 Peach Pit Chromebooks.

Add the keep-power-in-suspend Power Management property to the SDIO/MMC
node so the mwifiex suspend handler doesn't fail and the system is able
to enter into a suspend state.

Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
Reviewed-by: Doug Anderson <dianders@chromium.org>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Kukjin Kim <kgene@kernel.org>
2015-05-13 03:18:33 +09:00
Koro Chen
fdb6eb0a12 ASoC: dapm: Modify widget stream name according to prefix
When there is prefix specified, currently we will add this prefix in
widget->name, but not in widget->sname.
it causes failure at snd_soc_dapm_link_dai_widgets:

if (!w->sname || !strstr(w->sname, dai_w->name))

because dai_w->name has prefix added, but w->sname does not.
We should also add prefix for stream name

Signed-off-by: Koro Chen <koro.chen@mediatek.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: stable@vger.kernel.org
2015-05-12 19:01:56 +01:00
Brian Norris
073db4a51e mtd: fix: avoid race condition when accessing mtd->usecount
On A MIPS 32-cores machine a BUG_ON was triggered because some acesses to
mtd->usecount were done without taking mtd_table_mutex.
kernel: Call Trace:
kernel: [<ffffffff80401818>] __put_mtd_device+0x20/0x50
kernel: [<ffffffff804086f4>] blktrans_release+0x8c/0xd8
kernel: [<ffffffff802577e0>] __blkdev_put+0x1a8/0x200
kernel: [<ffffffff802579a4>] blkdev_close+0x1c/0x30
kernel: [<ffffffff8022006c>] __fput+0xac/0x250
kernel: [<ffffffff80171208>] task_work_run+0xd8/0x120
kernel: [<ffffffff8012c23c>] work_notifysig+0x10/0x18
kernel:
kernel:
        Code: 2442ffff  ac8202d8  000217fe <00020336> dc820128  10400003
               00000000  0040f809  00000000
kernel: ---[ end trace 080fbb4579b47a73 ]---

Fixed by taking the mutex in blktrans_open and blktrans_release.

Note that this locking is already suggested in
include/linux/mtd/blktrans.h:

struct mtd_blktrans_ops {
...
	/* Called with mtd_table_mutex held; no race with add/remove */
	int (*open)(struct mtd_blktrans_dev *dev);
	void (*release)(struct mtd_blktrans_dev *dev);
...
};

But we weren't following it.

Originally reported by (and patched by) Zhang and Giuseppe,
independently. Improved and rewritten.

Cc: stable@vger.kernel.org
Reported-by: Zhang Xingcai <zhangxingcai@huawei.com>
Reported-by: Giuseppe Cantavenera <giuseppe.cantavenera.ext@nokia.com>
Tested-by: Giuseppe Cantavenera <giuseppe.cantavenera.ext@nokia.com>
Acked-by: Alexander Sverdlin <alexander.sverdlin@nokia.com>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
2015-05-12 10:59:53 -07:00
Maciej S. Szmigiero
df82ca70bf ASoC: ac97: Remove rate constraints
Remove rate constraints from generic ASoC AC'97 CODEC.

Supported rates should be detected and constrained anyway by
AC'97 generic code - was tested with VT1613 CODEC and iMX6 SSI
controller.

This way this driver can be used for platforms which don't need
specialized AC'97 CODEC drivers while at the same avoiding
code duplication from implementing equivalent functionality in
a controller driver.

Signed-off-by: Maciej Szmigiero <mail@maciej.szmigiero.name>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-12 18:58:17 +01:00
Mike Marciniszyn
ec40f925e0 IB/qib: fix test of unsigned variable
Commit d4988623cc ("IB/qib: use arch_phys_wc_add()")
adjusted mtrr inititialization to use the new interface.

Unfortunately, the new interface returns a signed
value and the patch tested the unsigned wc_cookie.

Fix the issue by changing the type of wc_cookie to int.  For
the success case the ret left at zero to avoid
a warning from the caller.  For failure wc_cookie
is used as the ret.

Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
2015-05-12 13:55:41 -04:00
Axel Lin
c9eac46254 ASoC: sta350: Use devm_gpiod_get_optional at appropriate place
devm_gpiod_get_optional is equivalent to devm_gpiod_get(), except that
when no GPIO was assigned to the requested function it will return NULL.
This is convenient for drivers that need to handle optional GPIOs.

I just checked the code in commit 34d7c3905a
("ASoC: improve usage of gpiod API") and found that it should use
devm_gpiod_get_optional rather than devm_gpiod_get here.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-12 18:52:42 +01:00
Axel Lin
79ffbf11b7 ASoC: sta32x: Use devm_gpiod_get_optional at appropriate place
devm_gpiod_get_optional() is equivalent to devm_gpiod_get(), except that
when no GPIO was assigned to the requested function it will return NULL.
This is convenient for drivers that need to handle optional GPIOs.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-12 18:52:12 +01:00
Alex Deucher
fcf3b54282 drm/radeon: add new bonaire pci id
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
2015-05-12 13:42:46 -04:00
Jani Nikula
cbfa9faea1 drm/sysfs: remove unnecessary connector type checks
These attributes should be exposed for the matching connector types
only, so checking is redundant.

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2015-05-12 19:15:53 +02:00
Jani Nikula
4bb4637b26 drm/sysfs: split DVI-I and TV-out attributes
The show methods for the attributes of DVI-I and TV-out types have a
bunch of code to deal with the differences between the two. Just split
the attributes into connector type specific ones. No functional changes.

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2015-05-12 19:15:53 +02:00
Jani Nikula
fe6fcdd61d drm/sysfs: make optional attribute groups per connector type
Split DVI-I and TV-out (which remains a group of types). As an
intermediate step, still share the attributes themselves between the
two. No user visible changes.

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2015-05-12 19:15:52 +02:00
Jani Nikula
7d4d3a5849 drm/sysfs: add a helper for extracting connector type from kobject
This reduces duplication in the patches to follow. No functional
changes.

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2015-05-12 19:15:52 +02:00
Ville Syrjälä
4d53dc0c02 drm/edid: Add CEA modes before inferred modes
Currently we're adding CEA modes after the inferred modes, which means
we might get multiple modes that are very close to each other, but
slightly different, which seems a bit silly. That's because duplicate
mode check that occurs when adding inferred modes would not consider
CEA modes as potential duplicates. Reverse the order so that CEA
modes get added before inferred modes, and are thus considered potential
duplicates.

Or as ajax put it on irc:
"< ajax> the point of the "pick a timing formula" heuristic was to
generate something the sink could _likely_ sink.  if it tells us
timings it can sink explicitly then second-guessing seems dumb."

Cc: Adam Jackson <ajax@redhat.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2015-05-12 19:15:39 +02:00
Tatyana Nikolova
ec04847c0c RDMA/core: Fix for parsing netlink string attribute
The string iwpm_ulib_name is recorded in a nlmsg as a netlink attribute.
Without this fix parsing of the nlmsg by the userspace port mapper service fails
because of unknown attribute length, causing the port mapper service not to
register the client, which has sent the nlmsg.

Signed-off-by: Tatyana Nikolova <tatyana.e.nikolova@intel.com>
Cc: <stable@vger.kernel.org> #v3.16
Reviewed-By: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
2015-05-12 13:03:04 -04:00
Paul Burton
620b155034 MIPS: fix FP mode selection in lieu of .MIPS.abiflags data
Commit 46490b5725 ("MIPS: kernel: elf: Improve the overall ABI and FPU
mode checks") reworked the ELF FP ABI mode selection logic, but when
CONFIG_MIPS_O32_FP64_SUPPORT is enabled it breaks the use of binaries
which have no PT_MIPS_ABIFLAGS program header & associated
.MIPS.abiflags section.

A default mode is selected based upon whether the ELF contains MIPS32 or
MIPS64 code, but that selection is made in arch_elf_pt_proc.
arch_elf_pt_proc only executes when a PT_MIPS_ABIFLAGS program header is
found. If one is not found then arch_elf_pt_proc is never called, and no
default overall_fp_mode value is selected. When arch_check_elf is
called, both abi0 & abi1 are MIPS_ABI_FP_UNKNOWN which leads to both
prog_req & interp_req being set to none_req. none_req matches none of
the conditions for mode selection at the end of arch_check_elf, so
overall_fp_mode is left untouched. Finally once mips_set_personality_fp
is called the BUG() in the default case is then hit & the kernel likely
panics.

Fix this by moving the selection of a default overall mode to the start
of arch_check_elf, which runs once per ELF executed regardless of
whether it has a PT_MIPS_ABIFLAGS program header.

Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Cc: Markos Chandras <markos.chandras@imgtec.com>
Cc: Matthew Fortune <matthew.fortune@imgtec.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: linux-mips@linux-mips.org
Cc: stable@vger.kernel.org # v4.0+
Patchwork: http://patchwork.linux-mips.org/patch/9978/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2015-05-12 18:54:05 +02:00
Michael S. Tsirkin
8e95dba6fb [media] media/fintek: drop pci_ids dependency
This driver does not use any PCI IDs, don't include
the pci_ids.h header.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-05-12 13:44:41 -03:00
Krzysztof Kozlowski
e9a02a3d89 i2c: constify platform_device_id
The platform_device_id is not modified by these drivers and core uses it
as const.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski.k@gmail.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2015-05-12 18:27:48 +02:00
Wei Yongjun
250d2ff016 [media] rtl28xxu: fix return value check in rtl2832u_tuner_attach()
In case of error, the function platform_device_register_data() returns
ERR_PTR() and never returns NULL. The NULL test in the return value check
should be replaced with IS_ERR().

Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-05-12 13:27:22 -03:00
Christian Engelmayer
59c0d7b1e4 [media] mn88472: Fix possible leak in mn88472_init()
Commit 307e95c922 ("[media] mn88472: implement firmware parity check")
introduced the usage of exit paths that do not free the already allocated
firmware data in case the parity handling fails. Go through the correct
exit paths. Detected by Coverity CID 1295989.

Signed-off-by: Christian Engelmayer <cengelma@gmx.at>
Acked-by: Benjamin Larsson <benjamin@southpole.se>
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-05-12 13:26:30 -03:00
Olli Salonen
699dcffc52 [media] rtl2832: add support for GoTView MasterHD 3 USB tuner
GoTView MasterHD 3 is a DVB-T2/C USB 2.0 tuner.

It's based on the following components:
- USB bridge: RTL2832P (contains also DVB-T demodulator)
- Demodulator: Si2168-A30
- Tuner: Si2148-A20

The demodulator and the tuner will need firmwares. The Si2148 uses Si2158
firmware. Antti has the firmwares available for download:
http://palosaari.fi/linux/v4l-dvb/firmware/

Do note that for DVB-T either of the demodulators can be used. DVB-C and
DVB-T2 are only supported by the Si2168 demodulator. The driver will
register 2 frontends for the same adapter. Frontend 0 will be the RTL2832
demodulator and frontend 1 will be the Si2168 demodulator. The same
tuner is used for both.

As a consequence of the above, it's recommended to use application that
does implement proper DVBv5 support.

For some reason, the old I2C write method sporadically fails. Thus the
need for an option to only use the new I2C write method supported by the
RTL2832.

Signed-off-by: Olli Salonen <olli.salonen@iki.fi>
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-05-12 13:25:35 -03:00
Olli Salonen
d744a0cb8a [media] rtl28xxu: add I2C read without write
Add support for I2C read operation without a preceeding write.

While here, change the error code to EOPNOTSUPP in case an
unsupported I2C operation is attempted.

Signed-off-by: Olli Salonen <olli.salonen@iki.fi>
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-05-12 13:21:29 -03:00
Olli Salonen
ee3c3e4688 [media] si2157: support selection of IF interface
The chips supported by the si2157 driver have two IF outputs (either
pins 12+13 or pins 9+11). Instead of hardcoding the output to be used
add an option to choose which output shall be used.

As this patch changes the default behaviour, the IF interface is
specified in each driver currently using si2157 driver. This is to
keep bisectability.

Signed-off-by: Olli Salonen <olli.salonen@iki.fi>
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-05-12 13:20:55 -03:00
Olli Salonen
7adf99d20c [media] si2168: add I2C error handling
Return error from si2168_cmd_execute in case the demodulator returns an
error.

Signed-off-by: Olli Salonen <olli.salonen@iki.fi>
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-05-12 13:19:26 -03:00
Olli Salonen
c060f9329f [media] dvbsky: use si2168 config option ts_clock_gapped
Change the dvbsky driver to support gapped clock instead of the current
hack.

Signed-off-by: Olli Salonen <olli.salonen@iki.fi>
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-05-12 13:17:19 -03:00
Olli Salonen
8117a3121d [media] si2168: add support for gapped clock
Add a parameter in si2168_config to support gapped clock. This might be
necessary on some devices with higher bitrates.

Signed-off-by: Olli Salonen <olli.salonen@iki.fi>
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-05-12 13:16:37 -03:00
Vasily Khoruzhick
8d487a43c3 i2c: s3c2410: fix oops in suspend callback for non-dt platforms
Initialize sysreg by default, otherwise driver will crash in suspend
callback when not using DT.

Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Cc: stable@kernel.org
Fixes: a7750c3ef0 ("i2c: s3c2410: Handle i2c sys_cfg register in i2c driver")
2015-05-12 18:13:46 +02:00
Axel Lin
3e59ae4aa2 i2c: hix5hd2: Fix modalias to make module auto-loading work
Make the modalias match driver name, this is required to make module
auto-loading work.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Acked-by: Zhangfei Gao <zhangfei.gao@linaro.org>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Cc: stable@kernel.org
2015-05-12 18:09:33 +02:00
Will Deacon
4801ba338a arm64: perf: fix memory leak when probing PMU PPIs
Commit d795ef9aa8 ("arm64: perf: don't warn about missing
interrupt-affinity property for PPIs") added a check for PPIs so that
we avoid parsing the interrupt-affinity property for these naturally
affine interrupts.

Unfortunately, this check can trigger an early (successful) return and
we will leak the irqs array. This patch fixes the issue by reordering
the code so that the check is performed before any independent
allocation.

Reported-by: David Binderman <dcb314@hotmail.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2015-05-12 16:50:21 +01:00
Pascal Huerst
096ea30c91 i2c: omap: Add calls for pinctrl state select
This adds calls to pinctrl subsystem in order to switch pin states
on suspend/resume if you provide a "sleep" state in DT.

If no "sleep" state is provided in the DT, these calls turn
to NOPs, so we don't need error checking here.

Signed-off-by: Pascal Huerst <pascal.huerst@gmail.com>
Reviewed-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2015-05-12 17:46:26 +02:00
Yoshihiro Shimoda
a3ac3d4a29 phy: phy-rcar-gen2: Fix USBHS_UGSTS_LOCK value
According to the technical update (No. TN-RCS-B011A/E), the UGSTS LOCK
bit location is bit 8, not bits 1 and 0. It also says that the register
address offset of UGSTS is 0x88, not 0x90.
So, this patch fixes the USBHS_UGSTS_LOCK value and some comments.

Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
2015-05-12 20:57:19 +05:30
Kishon Vijay Abraham I
4581f798ec phy: omap-usb2: invoke pm_runtime_disable on error path
if devm_clk_get for wkupclk fails, there will be an unbalanced
pm_runtime_enable. Fix it here.

Reported-by: Benoit Parrot <bparrot@ti.com>
Cc: Roger Quadros <rogerq@ti.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
2015-05-12 20:57:19 +05:30
Felipe Balbi
7f7a4d306f phy: fix Kconfig dependencies
DM816x PHY uses usb_phy_* methods and because
of that, it must select USB_PHY, however, because
the drivers in question (DM816x, TWL4030 and
OMAP_USB2) sit outside of drivers/usb/ directory,
meaning they can be built even if USB_SUPPORT=n.

This patches fixes the dependencies by adding
USB_SUPPORT as a dependency and making all drivers
select USB_PHY (which cannot be selected through
menuconfig).

Note that this fixes some linking breakages when
building with randconfig.

Cc: Tony Lindgren <tony@atomide.com>
Cc: Kishon Vijay Abraham I <kishon@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
2015-05-12 20:57:18 +05:30
Arnd Bergmann
58d2bc7b29 Allwinner DT additions for 4.1, take 1
All the device tree related changes for the 4.1 merge window.
 
 It has a rather big diffstat, because of a lot of mechanical and harmless
 changes, as described below.
 
 There is mostly:
   - The end of the DT relicensing. All our DT should now be under the dual
     X11/GPL license.
   - Convertion of all the DT to a label based syntax, instead of
     duplicating the tree like was done before.
   - Rework of the A10s and A13 DTSI to share the common devices
   - A few drivers enablings: A80 USB, the A31 PMIC, A31 and A23 arch
     timers, etc
   - Fix the checkpatch warnings
   - A few new boards : cubieboard4, mele i7, utoo p66, auxtex t004,
     pcduino3 nano, gemei G9, mk808c, jesurun q5, orange pi, orange pi mini
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJVUQKFAAoJEBx+YmzsjxAgescP/3hr9XCfBlJ7Grxcw85cpgsc
 6qsUYVIUSZWD1SDwxXtSbcqqbLjLnVkfmn4//TK38Vtlod79rMrMEwCBiM9ugNF0
 KdsvaX9Y/lhT8vT37wqwxy36JYP1BYciYtQn1x+gitBlgkwAtHmNHnbJgw1pgAtR
 yK3xjACBn3mw17NlXq2/cQ0aPX7eap1OZ7X14UM82tiFBMUDKb6xh1oz52Yh6bYE
 h+KYI7GVCzmfLk3keqdv1KjhJQC1Xu2t9aWixSU+r5F9vu3/dVzZhQQ+4c3lQJCC
 71V2uW7KblWEjrJwftqP6hjTAQlWbR8gVx/ICM44gpwnKXYANDL7O+FDgemW4wim
 er2EFuzKPcll9jYwzrXe1w5jllxLae2lvmQy1in9fW80FUZExTjOuJxtKPWc2t7J
 2DBn8PspwoJDKgo2OkAydNstef+WmFM0xDPeP7xTU7k0k3QpjQY5bTEm39PzVuoa
 CtLhV63ndpxbGXoJglZ7PQiMH+APkX3rjYH2aRvD6cAuVDqPjAJTKkNJ0VLx2gaz
 wd5rw726Ob8p/1T34/z84c6Rh0wOhBnNGzb0zbAMhXveyjfmLLS9sUwvD8Yuv7EU
 5p0TfM5uRxoxQP2VOFPxHr0ZGEYHVaX918khfD3ykF0jpAfz5FhCCZsbhoJDMLuY
 HLUb0hp5v6D1zRM95tdg
 =6TQo
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-dt-for-4.2' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into next/dt

Pull "Allwinner DT additions for 4.1, take 1" from Maxime Ripard:

All the device tree related changes for the 4.1 merge window.

It has a rather big diffstat, because of a lot of mechanical and harmless
changes, as described below.

There is mostly:
  - The end of the DT relicensing. All our DT should now be under the dual
    X11/GPL license.
  - Convertion of all the DT to a label based syntax, instead of
    duplicating the tree like was done before.
  - Rework of the A10s and A13 DTSI to share the common devices
  - A few drivers enablings: A80 USB, the A31 PMIC, A31 and A23 arch
    timers, etc
  - Fix the checkpatch warnings
  - A few new boards : cubieboard4, mele i7, utoo p66, auxtex t004,
    pcduino3 nano, gemei G9, mk808c, jesurun q5, orange pi, orange pi mini

* tag 'sunxi-dt-for-4.2' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux: (84 commits)
  ARM: sunxi: dt: Split the SPI pinctrl groups
  ARM: sunxi: dt: Fix whitespace errors
  ARM: sunxi: DT: Fix lines over 80 characters
  ARM: sunxi: dt: Remove the FSF address
  ARM: sunxi: dts: split IR pins for A10 and A20
  ARM: sun7i: dt: Add new MK808C device
  ARM: dts: sun6i: Set PLL6 as parent to AHB1 clock in AHB1 clock node
  ARM: dts: sunxi: Update ahb clocks for sun5i and sun7i
  ARM: dts: sun7i: Add dts file for the Jesurun Q5 top set box
  ARM: dts: sun5i: Enable touchscreen on Utoo P66
  ARM: dts: sun7i: Add dts file for the Orangepi mini SBC
  ARM: dts: sun7i: Add dts file for the Orangepi SBC
  ARM: dts: sun7i: Add A20 SRAM and SRAM controller
  ARM: dts: sun5i: Add A13 and A10s SRAM and SRAM controller
  ARM: dts: sun4i: Add A10 SRAM and SRAM controller
  ARM: dts: sun5i: Add broken-hpi property for Utoo-P66 eMMC
  ARM: sun8i: dt: Enable A23 SMP support
  ARM: dts: sun6i: Add cpu thermal zones to dtsi
  ARM: dts: sun6i: Add cpu clock reference and operating points to dtsi
  ARM: sunxi: DT: Add stdout-path property
  ...
2015-05-12 17:23:34 +02:00
Stephen Boyd
4d051f74cb phy: qcom-ufs: Switch dependency to ARCH_QCOM
This phy only exists on platforms under ARCH_QCOM, not ARCH_MSM.

Cc: Yaniv Gardi <ygardi@codeaurora.org>
Cc: Dov Levenglick <dovl@codeaurora.org>
Cc: Christoph Hellwig <hch@lst.de>
Cc: David Brown <davidb@codeaurora.org>
Cc: Bryan Huntsman <bryanh@codeaurora.org>
Cc: Daniel Walker <dwalker@fifo99.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Reviewed-by: Yaniv Gardi <ygardi@codeaurora.org>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
2015-05-12 20:52:13 +05:30
Arnd Bergmann
03d6d706a2 SoCFPGA DTS updates for v4.2
- Add accelerometer to sockit
 - Update and clean up support for the Arria10 platform
 - Add sdmmc_clk/4 clock node SoCFPGA Cyclone5/Arria5
 - Update ethernet nodes with multicast/unicast/fifo-depth properties
 - Add clocks for Arria10 platform
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJVUPgLAAoJEBmUBAuBoyj0tKMP/Av4Ls7Wm8kNatdA64oaefBa
 OJ8b2XIINiXCtYUexmw1auNiYglFfIMQkh/NHe83tl9USk7Tg0TgR7Hpe4TfkO57
 woSrz6GgIhwv3tHJiYZeczuZhlTwEl1sie/w3i+HYQRP8+nXyT5dw270tpMRTG5g
 +npltqCrqwa3vhHo5Nsz29l260unq/fXr5l59XqtBMp80Z3S4NStNA+gPqg5P1yI
 34RZkJvDrf8ePemRd4Et7ZLg7+Wv4SswomCEhg//WaO11EbwTLCOXc0D8MQ5ZThE
 I8S3jplpgn85fauOm8d++7jt7T5tIPmPUowxtkI9byLgaWYb7XtMkF/qAuqEWG5f
 FTfgh1GTJU8NCrlQLTXsehNuUENq+NBIEI75TlRSArTUUkUkrXua+PQAEe3Ae9B1
 Afniu3yIiPzgQgo+aXzbePuVyBNbf5VETB7AMsVf4PeVov8esHklAMt0sqXyepwy
 N6kvb6kAFI3U6yWhGMhljCT+oXconCnVUSfWm16/ss17TFWg1nJwGfDhphvEvyKu
 05ILLIYTUW6NRTbIE4Cy2peaDKXV/ZgN348JGtq27+4RKLV2sPtEbIDCEhzedKxS
 IeO+ACTzzMGnlhp9j6T0afQ0mpWPfExDBTvfqItFc7YATUdYv8Ja5VDeGFmpDc81
 LF+lhVo0blxtRdY3QpDf
 =fVwi
 -----END PGP SIGNATURE-----

Merge tag 'socfpga_dts_for_v4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into next/dt

Pull "SoCFPGA DTS updates for v4.2" from Dinh Nguyen:

- Add accelerometer to sockit
- Update and clean up support for the Arria10 platform
- Add sdmmc_clk/4 clock node SoCFPGA Cyclone5/Arria5
- Update ethernet nodes with multicast/unicast/fifo-depth properties
- Add clocks for Arria10 platform

* tag 'socfpga_dts_for_v4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux:
  ARM: socfpga: dts: add clocks to the Arria10 platform
  ARM: socfpga: dts: Add tx-fifo-depth and rx-fifo-depth properties
  ARM: socfpga: dts: Add multicast bins and unicast filter entries
  ARM: socfpga: dts: Add a clock node for sdmmc CIU
  ARM: socfpga: dts: rename socdk board file to socdk_sdmmc
  ARM: socfpga: dts: enable UART1 for the debug uart
  ARM: socfpga: dts: disable the sdmmc, and uart nodes in the base arria10
  ARM: socfpga: dts: add cpu1-start-addr for Arria 10
  ARM: socfpga: dts: Add adxl34x
2015-05-12 17:22:11 +02:00
Arnd Bergmann
9ef1375d00 First batch of DT changes for 4.2:
- cleanup and addition of Overkiz boards
 - at91sam9x5: pwm0 pinctrl definition
 - delete deprecated mainck nodes
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQEcBAABAgAGBQJVUHotAAoJEAf03oE53VmQatMH/1EfZrA905nbZVpj/qvIjAsQ
 ZV95zIINbUIZqhvwjqbMlqMbYYDDFfdZcdlgPk0iKS2MKiyEkJ9h7J1Ek3dNwqvr
 W4Ub9ariNd/3PmD5AerhGdtsvPq0sUSYgUcynqtpTaejefU3Vq0edeEI7Nv2o+MN
 x63lz1CoGi2L7Z4qdEuF9YHUjIUTMHROMwUXUA9yBR+N3k4xc8JrL5NlMGDTouVa
 3NAxz+0RmCNlYuozONpFTefO7bw9IK6Uy6XIqk21Br5pFiXv67zHaw3n483XLuxW
 3UUZQlchm8NAPSSckOmJ6MUzvGcMyoBOvjSV8Sp+IDmljf0oJie4D9/r08fp+q4=
 =v9ZQ
 -----END PGP SIGNATURE-----

Merge tag 'at91-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91 into next/dt

Pull "First batch of DT changes for 4.2" from Nicolas Ferre:

- cleanup and addition of Overkiz boards
- at91sam9x5: pwm0 pinctrl definition
- delete deprecated mainck nodes

* tag 'at91-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91:
  ARM: at91/dt: drop deprecated mainck node from pmc
  ARM: at91/dt: add support for kizbox2
  ARM: at91/dt: add support for kizboxmini
  ARM: at91/dt: sam9x5: add pinctrl for pwm0
  ARM: at91/dt: at91-kizbox: update chosen node
  ARM: at91/dt: at91-kizbox: re-size nand partitions
  ARM: at91/dt: at91-kizbox: leds related changes
  ARM: at91/dt: at91-kizbox: gpio-keys related changes
  ARM: at91/dt: at91-kizbox: user proper serial uart
  ARM: at91/dt: at91-kizbox: sanitize file
  ARM: at91/dt: kizbox: rename to at91-kizbox
2015-05-12 17:19:06 +02:00
Mark Rutland
3ebee5a2e1 arm64: dts: kill skeleton.dtsi
While skeleton.dtsi was initially conceived as a simple way to bootstrap
writing a dts, it has proven to be problematic:

* The #address-cells and #size-cells values used in skeleton.dtsi may
  not match what a user wants (e.g. when they need to describe a range
  larger than 4GB).

* For dts files where memory nodes have unit-addresses, it adds a
  redundant /memory node, for which the reg entry may not be
  appropriately sized (e.g. where #size-cells has been overridden).

* For dts files which assume that a bootloader will fill in the memory
  node(s), no node is present in the dts (and hence there is no attached
  comment), making it hard to distinguish these cases from bad dts
  files, and masking any warnings dtc may produce w.r.t. missing nodes.

* The default empty /chosen and /aliases are somewhat useless, and it
  would be preferable for dts to fill these in (e.g. for
  /aliases/serial0 and /chosen/stdout-path).

This patch removes skeleton.dtsi from arm64. There are currently no
users, so we can remove it before any appear.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Acked-by: Rob Herring <rob.herring@arm.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Olof Johansson <olof@lixom.net>
Cc: Will Deacon <will.deacon@arm.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2015-05-12 17:15:56 +02:00
Geert Uytterhoeven
1290a447cf ARM: multi_v7_defconfig: Replace USB_RCAR_GEN2_PHY by PHY_RCAR_GEN2
The legacy-only USB_RCAR_GEN2_PHY driver was replaced by the DT-only
PHY_RCAR_GEN2 driver.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2015-05-12 17:11:49 +02:00
Arnd Bergmann
0b1480103f ARM: DT: Hisilicon hip04 soc and D01 board updates for 4.2
- Add hip04 GPIO nodes
 - Add NANDC nodes for hip04 and D01 board
 - Add hip04 ethernet related nodes
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJVTBseAAoJEAvIV27ZiWZcqjcP/iboUW/3RpbKafraJdUNBKV5
 SIQvSdV1oNiWYjq+75ZZdp0Jk9lE1GAhefNmhGUET6oubu6jW3w8//uIO0/9ZhjN
 3SyPuQIkYDGzonegvAUw+ffnpwEXP0yrdcBjsQRMmSf1tAHuxLK9e7pEH/G1jUou
 g8e3bmfkXXG2mMUQSGg+oEhzUpEuiPjTDD3BcWK1Cb3aJBoUBH6wtE/fy2clPwEP
 WXa6KjsBBUuONLH1za/usq+4jBzgOa7gfzRWRMCk5/uhcuJ3ojOGp6TgruLmg6q3
 XiZVRaAp9Wjz8nA4nkP2SWRVkDUYbhvTNu3lPkfcCDiR2mbinWDdzdw1gk3Zadnr
 UYbpXWgkR9m0E+0WG8/LuE1eg+XmoSB5GiCkwPAYo513eUy73NUwTtcry4V7RkSJ
 V7tgRhhqN3M31PrRuYxImu092f/zR3xAxSfX2JchD2c/GQeEJ5XNuvTmRH7JgpCP
 2Jo7BHXFMTFbodYPmaUlze7U1RaKw+Knt1MJCrJznpMX6m0S0DcWI6qtBWfATxJY
 lPL1jq9XDAlvz7+S5GwefS/ydR6nRJgQwb4UaWdKQodS6t3ahPodUte6dWFZ9gGN
 ANi4e+0YQl4xuqTHT2/154dlkpK4DSu8ZH9UaCf1c1GM9J3lLPTozFieqfq2XXhj
 f4o/Qbez4ZImuhfdJGoz
 =n1gB
 -----END PGP SIGNATURE-----

Merge tag 'hip04-dt-for-4.2' of git://github.com/hisilicon/linux-hisi into next/dt

Merge "ARM: DT: Hisilicon hip04 soc and D01 board updates for 4.2" from Wei Xu:

- Add hip04 GPIO nodes
- Add NANDC nodes for hip04 and D01 board
- Add hip04 ethernet related nodes

* tag 'hip04-dt-for-4.2' of git://github.com/hisilicon/linux-hisi:
  ARM: dts: add HiSilicon hip04 ethernet controller resource
  mtd: hisilicon: add device tree node for NAND controller
  ARM: dts: hip04: add GPIO pieces
2015-05-12 17:05:39 +02:00