Linux-ARM-Kernel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [arm-soc:qcom/arm64 3/13] Error: arch/arm64/boot/dts/qcom/apq8096-db820c-pmic-pins.dtsi:12.20-21 syntax error
From: Andy Gross @ 2016-11-20  4:04 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <201611181938.YpOhQOad%fengguang.wu@intel.com>

On Fri, Nov 18, 2016 at 07:01:40PM +0800, kbuild test robot wrote:
> Hi Srinivas,
> 
> FYI, the error/warning still remains.

Ok, I see what happened.  I included the dt-bindings file in the drivers pull
erroneously.  This should have gone in the ARM64 DTS pull.  As such it will work
when all pulls are together, but not when done as a single unit.  My apologies
for mixing this up.


Andy

> 
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc.git qcom/arm64
> head:   feeaf56ac78d283efe65ea60ec999d4bf3cf395e
> commit: 50784e61032d89cbbc46ed73a5fb15f27940b947 [3/13] dts: arm64: db820c: add pmic pins specific dts file
> config: arm64-defconfig (attached as .config)
> compiler: aarch64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705
> reproduce:
>         wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
>         chmod +x ~/bin/make.cross
>         git checkout 50784e61032d89cbbc46ed73a5fb15f27940b947
>         # save the attached .config to linux build tree
>         make.cross ARCH=arm64 
> 
> All errors (new ones prefixed by >>):
> 
> >> Error: arch/arm64/boot/dts/qcom/apq8096-db820c-pmic-pins.dtsi:12.20-21 syntax error
>    FATAL ERROR: Unable to parse input tree
> 
> ---
> 0-DAY kernel test infrastructure                Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation


> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply

* commit 4dd1837d7589f468ed109556513f476e7a7f9121 breaks build
From: Tobias Jakobi @ 2016-11-20  2:47 UTC (permalink / raw)
  To: linux-arm-kernel

Hello,

this is a resend of my initial mail, see below, to Al Viro (which sadly
was ignored).

It's rc5 now, and this issue still remains. Putting some more lists on
the Cc now.

Reverting the commit still works for me.


With best wishes,
Tobias

----------------


Hello Al,

compiled a kernel on armv7 with torvalds/master today and getting some
errors during the modpost phase.

> ERROR: "_set_bit" [sound/usb/snd-usbmidi-lib.ko] undefined!
> ERROR: "_test_and_set_bit" [sound/usb/snd-usbmidi-lib.ko] undefined!
> ERROR: "_clear_bit" [sound/usb/snd-usbmidi-lib.ko] undefined!
> ERROR: "_test_and_clear_bit" [sound/usb/snd-usb-audio.ko] undefined!
> ERROR: "_set_bit" [sound/usb/snd-usb-audio.ko] undefined!
> ERROR: "_test_and_set_bit" [sound/usb/snd-usb-audio.ko] undefined!
> ERROR: "_clear_bit" [sound/usb/snd-usb-audio.ko] undefined!
> ERROR: "_test_and_clear_bit" [sound/core/seq/snd-seq.ko] undefined!
<snip>

It seems like the commit 'arm: move exports to definitions' introduces
this issue.

I quickly went over the commit and I noticed that while it removes the
EXPORT_SYMBOL()s for the bitops from armksyms.c, it doesn't move them
anywhere.

Maybe you can take a look at this?

With best wishes,
Tobias

^ permalink raw reply

* [GIT PULL] ARM: SoC fixes
From: Olof Johansson @ 2016-11-20  2:37 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Linus,

Actual current version this time. Had an old file with the generated pull
request around in my directory on this machine.

Thanks,

-Olof

The following changes since commit a25f0944ba9b1d8a6813fd6f1a86f1bd59ac25a6:

  Linux 4.9-rc5 (2016-11-13 10:32:32 -0800)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc.git tags/armsoc-fixes

for you to fetch changes up to 9883ed4433b358528e1a41e56ae01a4b02a1dde3:

  Merge tag 'sunxi-fixes-for-4.9' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into fixes (2016-11-17 16:43:38 -0800)

----------------------------------------------------------------
ARM: SoC fixes for v4.9-rc

Again a set of smaller fixes across several platforms (OMAP, Marvell,
Allwinner, i.MX, etc).

A handful of typo fixes and smaller missing contents from device trees,
with some tweaks to OMAP mach files to deal with CPU feature print
misformatting, potential NULL ptr dereference and one setup issue
with UARTs.

----------------------------------------------------------------
Adam Ford (2):
      ARM: dts: omap3: Fix memory node in Torpedo board
      ARM: omap3: Add missing memory node in SOM-LV

Colin Ian King (1):
      ARM: OMAP2+: PRM: initialize en_uart4_mask and grpsel_uart4_mask

C?dric Le Goater (1):
      ipmi/bt-bmc: change compatible node to 'aspeed, ast2400-ibt-bmc'

Dave Gerlach (1):
      ARM: AM43XX: Select OMAP_INTERCONNECT in Kconfig

Fabio Estevam (1):
      ARM: dts: imx53-qsb: Fix regulator constraints

Gregory CLEMENT (1):
      arm64: dts: marvell: Fix typo in label name on Armada 37xx

H. Nikolaus Schaller (4):
      dts: omap5: board-common: add phandle to reference Palmas gpadc
      dts: omap5: board-common: enable twl6040 headset jack detection
      ASoC: omap-abe-twl6040: fix typo in bindings documentation
      ARM: dts: omap5: board-common: fix wrong SMPS6 (VDD-DDR3) voltage

Icenowy Zheng (1):
      ARM: dts: sun8i: fix the pinmux for UART1

Loic Pallardy (1):
      ARM: dts: STiH410-b2260: Fix typo in spi0 chipselect definition

Marcin Wojtas (2):
      arm64: dts: marvell: fix clocksource for CP110 slave SPI0
      arm64: dts: marvell: add unique identifiers for Armada A8k SPI controllers

Nicolae Rosia (1):
      ARM: OMAP2+: avoid NULL pointer dereference

Olof Johansson (5):
      Merge tag 'mvebu-fixes-4.9-1' of git://git.infradead.org/linux-mvebu into fixes
      Merge tag 'omap-for-v4.9/fixes-for-rc-cycle' of git://git.kernel.org/.../tmlind/linux-omap into fixes
      Merge tag 'imx-fixes-4.9-2' of git://git.kernel.org/.../shawnguo/linux into fixes
      Merge tag 'sti-dt-for-v4.9-rc' of git://git.kernel.org/.../pchotard/sti into fixes
      Merge tag 'sunxi-fixes-for-4.9' of https://git.kernel.org/.../mripard/linux into fixes

Tony Lindgren (1):
      ARM: OMAP3: Fix formatting of features printed

 ...eed,ast2400-bt-bmc.txt => aspeed,ast2400-ibt-bmc.txt} |  4 ++--
 .../devicetree/bindings/sound/omap-abe-twl6040.txt       |  2 +-
 arch/arm/boot/dts/imx53-qsb.dts                          | 14 +++++++-------
 arch/arm/boot/dts/logicpd-som-lv.dtsi                    |  5 +++++
 arch/arm/boot/dts/logicpd-torpedo-som.dtsi               |  4 ++--
 arch/arm/boot/dts/omap5-board-common.dtsi                |  7 ++++---
 arch/arm/boot/dts/stih410-b2260.dts                      |  2 +-
 arch/arm/boot/dts/sun8i-a23-a33.dtsi                     |  4 ++++
 arch/arm/mach-omap2/Kconfig                              |  1 +
 arch/arm/mach-omap2/id.c                                 | 16 +++++++++++-----
 arch/arm/mach-omap2/prm3xxx.c                            |  3 +++
 arch/arm/mach-omap2/voltage.c                            |  6 ++++++
 arch/arm64/boot/dts/marvell/armada-37xx.dtsi             |  4 ++--
 arch/arm64/boot/dts/marvell/armada-cp110-slave.dtsi      |  6 +++---
 drivers/char/ipmi/bt-bmc.c                               |  4 ++--
 15 files changed, 54 insertions(+), 28 deletions(-)
 rename Documentation/devicetree/bindings/ipmi/{aspeed,ast2400-bt-bmc.txt => aspeed,ast2400-ibt-bmc.txt} (85%)

^ permalink raw reply

* [GIT PULL] ARM: SoC fixes
From: Olof Johansson @ 2016-11-20  2:36 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <CA+55aFwxuE7Y3-GB1eRLk2Q6QGf1348VN3D8T2T=YaNx0QVzmQ@mail.gmail.com>

On Sat, Nov 19, 2016 at 6:26 PM, Linus Torvalds
<torvalds@linux-foundation.org> wrote:
> On Sat, Nov 19, 2016 at 6:22 PM, Olof Johansson <olof@lixom.net> wrote:
>>
>>   git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc.git tags/armsoc-for-linus
>
> Forgot to push? I get a tag that is an old one from August last year..

Crap. Inlined the wrong generated pull request that indeed was from
last year. Fresh one coming in separate email.


-Olof

^ permalink raw reply

* [GIT PULL] ARM: SoC fixes
From: Linus Torvalds @ 2016-11-20  2:26 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <20161120022232.GA24427@quad.lixom.net>

On Sat, Nov 19, 2016 at 6:22 PM, Olof Johansson <olof@lixom.net> wrote:
>
>   git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc.git tags/armsoc-for-linus

Forgot to push? I get a tag that is an old one from August last year..

             Linus

^ permalink raw reply

* [GIT PULL] ARM: SoC fixes
From: Olof Johansson @ 2016-11-20  2:22 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Linus,

The following changes since commit 4b3415c9363f828e7f1e45edecb57930849d5d5b:

  Merge tag 'imx-fixes-3.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into fixes (2015-01-23 14:23:40 -0800)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc.git tags/armsoc-for-linus

for you to fetch changes up to 28111dda37e653781efc73c06229f006739b3982:

  Merge tag 'renesas-soc-fixes3-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into fixes (2015-02-01 08:51:12 -0800)

----------------------------------------------------------------
ARM: SoC fixes

One more week's worth of fixes. Worth pointing out here are:

- A patch fixing detaching of iommu registrations when a device is removed --
  earlier the ops pointer wasn't managed properly
- Another set of Renesas boards get the same GIC setup fixup as others have in
  previous -rcs
- Serial port aliases fixups for sunxi. We did the same to tegra but we
  caught that in time before the merge window due to more machines being
  affected. Here it took longer for anyone to notice.
- A couple more DT tweaks on sunxi
- A follow-up patch for the mvebu coherency disabling in last -rc batch

----------------------------------------------------------------
Chen-Yu Tsai (1):
      ARM: dts: sunxi: Fix usb-phy support for sun4i/sun5i

Hans de Goede (2):
      ARM: dts: sun6i: ippo-q8h-v5: Fix serial0 alias
      ARM: dts: sun4i: Add simplefb node with de_fe0-de_be0-lcd0-hdmi pipeline

Laurent Pinchart (1):
      arm: dma-mapping: Set DMA IOMMU ops in arm_iommu_attach_device()

Magnus Damm (2):
      ARM: shmobile: r8a73a4: Instantiate GIC from C board code in legacy builds
      ARM: shmobile: r8a7790: Instantiate GIC from C board code in legacy builds

Maxime Ripard (1):
      ARM: sunxi: dt: Fix aliases

Olof Johansson (3):
      Merge tag 'sunxi-fixes-for-3.19' of https://git.kernel.org/.../mripard/linux into fixes
      Merge tag 'mvebu-fixes-3.19-6' of git://git.infradead.org/linux-mvebu into fixes
      Merge tag 'renesas-soc-fixes3-for-v3.19' of git://git.kernel.org/.../horms/renesas into fixes

Thomas Petazzoni (1):
      ARM: mvebu: don't set the PL310 in I/O coherency mode when I/O coherency is disabled

 arch/arm/boot/dts/sun4i-a10.dtsi                 | 20 ++++-----
 arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts |  6 +++
 arch/arm/boot/dts/sun5i-a10s.dtsi                |  8 +---
 arch/arm/boot/dts/sun5i-a13-hsg-h702.dts         |  4 ++
 arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts  |  4 ++
 arch/arm/boot/dts/sun5i-a13-olinuxino.dts        |  4 ++
 arch/arm/boot/dts/sun5i-a13.dtsi                 |  9 +---
 arch/arm/boot/dts/sun6i-a31.dtsi                 |  6 ---
 arch/arm/boot/dts/sun7i-a20-bananapi.dts         |  6 +++
 arch/arm/boot/dts/sun7i-a20-hummingbird.dts      |  8 ++++
 arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts  |  3 ++
 arch/arm/boot/dts/sun7i-a20.dtsi                 |  8 ----
 arch/arm/boot/dts/sun8i-a23-ippo-q8h-v5.dts      |  4 ++
 arch/arm/boot/dts/sun8i-a23.dtsi                 |  9 ----
 arch/arm/boot/dts/sun9i-a80-optimus.dts          |  5 +++
 arch/arm/boot/dts/sun9i-a80.dtsi                 | 10 -----
 arch/arm/mach-mvebu/coherency.c                  |  7 ++++
 arch/arm/mach-shmobile/board-ape6evm.c           | 20 +++++++++
 arch/arm/mach-shmobile/board-lager.c             | 13 ++++++
 arch/arm/mach-shmobile/setup-rcar-gen2.c         |  2 +
 arch/arm/mach-shmobile/timer.c                   | 12 ++++++
 arch/arm/mm/dma-mapping.c                        | 53 +++++++++++++++++-------
 22 files changed, 150 insertions(+), 71 deletions(-)

^ permalink raw reply

* [arm-soc:sunxi/dt64 3/3] arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi:45:46: fatal error: dt-bindings/clock/sun50i-a64-ccu.h: No such file or directory
From: kbuild test robot @ 2016-11-20  2:21 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Andre,

FYI, the error/warning still remains.

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc.git sunxi/dt64
head:   4e3886081848b7ea16452a92c4324acaab644d49
commit: 4e3886081848b7ea16452a92c4324acaab644d49 [3/3] arm64: dts: add Pine64 support
config: arm64-defconfig (attached as .config)
compiler: aarch64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
        wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout 4e3886081848b7ea16452a92c4324acaab644d49
        # save the attached .config to linux build tree
        make.cross ARCH=arm64 

All errors (new ones prefixed by >>):

   In file included from arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts:45:0,
                    from arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-plus.dts:43:
>> arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi:45:46: fatal error: dt-bindings/clock/sun50i-a64-ccu.h: No such file or directory
    #include <dt-bindings/clock/sun50i-a64-ccu.h>
                                                 ^
   compilation terminated.

vim +45 arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi

6bc37fac Andre Przywara 2016-01-18  29   *     Software is furnished to do so, subject to the following
6bc37fac Andre Przywara 2016-01-18  30   *     conditions:
6bc37fac Andre Przywara 2016-01-18  31   *
6bc37fac Andre Przywara 2016-01-18  32   *     The above copyright notice and this permission notice shall be
6bc37fac Andre Przywara 2016-01-18  33   *     included in all copies or substantial portions of the Software.
6bc37fac Andre Przywara 2016-01-18  34   *
6bc37fac Andre Przywara 2016-01-18  35   *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
6bc37fac Andre Przywara 2016-01-18  36   *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
6bc37fac Andre Przywara 2016-01-18  37   *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
6bc37fac Andre Przywara 2016-01-18  38   *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
6bc37fac Andre Przywara 2016-01-18  39   *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
6bc37fac Andre Przywara 2016-01-18  40   *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
6bc37fac Andre Przywara 2016-01-18  41   *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
6bc37fac Andre Przywara 2016-01-18  42   *     OTHER DEALINGS IN THE SOFTWARE.
6bc37fac Andre Przywara 2016-01-18  43   */
6bc37fac Andre Przywara 2016-01-18  44  
6bc37fac Andre Przywara 2016-01-18 @45  #include <dt-bindings/clock/sun50i-a64-ccu.h>
6bc37fac Andre Przywara 2016-01-18  46  #include <dt-bindings/interrupt-controller/arm-gic.h>
6bc37fac Andre Przywara 2016-01-18  47  #include <dt-bindings/pinctrl/sun4i-a10.h>
6bc37fac Andre Przywara 2016-01-18  48  #include <dt-bindings/reset/sun50i-a64-ccu.h>
6bc37fac Andre Przywara 2016-01-18  49  
6bc37fac Andre Przywara 2016-01-18  50  / {
6bc37fac Andre Przywara 2016-01-18  51  	interrupt-parent = <&gic>;
6bc37fac Andre Przywara 2016-01-18  52  	#address-cells = <1>;
6bc37fac Andre Przywara 2016-01-18  53  	#size-cells = <1>;

:::::: The code at line 45 was first introduced by commit
:::::: 6bc37fac30cf01c39feb17834090089304bd1d31 arm64: dts: add Allwinner A64 SoC .dtsi

:::::: TO: Andre Przywara <andre.przywara@arm.com>
:::::: CC: Maxime Ripard <maxime.ripard@free-electrons.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 32759 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20161120/3facb00b/attachment-0001.gz>

^ permalink raw reply

* [PATCH RFC] ARM: dts: add support for Turris Omnia
From: tomas.hlavacek at nic.cz @ 2016-11-19 20:09 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <20161114202832.GG24546@lunn.ch>

Hello Uwe!

On Mon, Nov 14, 2016 at 9:28 PM, Andrew Lunn <andrew@lunn.ch> wrote:
>> 
>>  +               i2c at 7 {
>>  +                       #address-cells = <1>;
>>  +                       #size-cells = <0>;
>>  +                       reg = <7>;
>>  +
>>  +                       pcawan: gpio at 71 {
>>  +                               compatible = "nxp,pca9538";
>>  +                               reg = <0x71>;
>>  +
>>  +                               pinctrl-names = "default";
>>  +                               pinctrl-0 = <&pcawan_pins>;
>>  +
>>  +                               interrupt-parent = <&gpio1>;
>>  +                               interrupts = <14 
>> IRQ_TYPE_LEVEL_LOW>;
>>  +
>>  +                               gpio-controller;
>>  +                               #gpio-cells = <2>;
>>  +
>>  +                               interrupt-controller;
>>  +                               #interrupt-cells = <2>;
>>  +                       };
>>  +               };
>> 
>>  The interrupt-controller part doesn't seem to work though, at least
>> 
>>  +               interrupt-parent = <&pcawan>;
>>  +               interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
>> 
>>  in the phy node gives an error.
> 
> Interrupts don't seem to work very well with the nxp,pca9538. Which
> is probably why it is disabled by default.

I was thinking about this issue and I can remember that there was an 
earlier prototype that had a shared interrupt line from PHY (88E1514) 
and from the PCA9538. In this case we needed to specifically disable 
the interrupt of the PHY to release the interrupt line (which needed a 
hack into PHY driver code). The IRQ from PHY is connected as an 
ordinary input to PCA9538 in later board prototype. And the same holds 
for the production version.

Do you have CZ11NIC13 or older board revision?

Tomas

^ permalink raw reply

* [PATCH] dmaengine: qcom_hidma: autoload while probing ACPI
From: Sinan Kaya @ 2016-11-19 19:28 UTC (permalink / raw)
  To: linux-arm-kernel

MODULE_DEVICE_TABLE is used by the kernel to determine which device driver
should be loaded for which platform device. MODULE_DEVICE_TABLE has been
only defined for the device-tree based platforms in the current code.
Defining it also for ACPI based platforms.

Signed-off-by: Sinan Kaya <okaya@codeaurora.org>
---
 drivers/dma/qcom/hidma.c      | 1 +
 drivers/dma/qcom/hidma_mgmt.c | 1 +
 2 files changed, 2 insertions(+)

diff --git a/drivers/dma/qcom/hidma.c b/drivers/dma/qcom/hidma.c
index 248e74b..3c982c9 100644
--- a/drivers/dma/qcom/hidma.c
+++ b/drivers/dma/qcom/hidma.c
@@ -895,6 +895,7 @@ static int hidma_remove(struct platform_device *pdev)
 	{"QCOM8062"},
 	{},
 };
+MODULE_DEVICE_TABLE(acpi, hidma_acpi_ids);
 #endif
 
 static const struct of_device_id hidma_match[] = {
diff --git a/drivers/dma/qcom/hidma_mgmt.c b/drivers/dma/qcom/hidma_mgmt.c
index 985f5ac..f847d32 100644
--- a/drivers/dma/qcom/hidma_mgmt.c
+++ b/drivers/dma/qcom/hidma_mgmt.c
@@ -282,6 +282,7 @@ static int hidma_mgmt_probe(struct platform_device *pdev)
 	{"QCOM8060"},
 	{},
 };
+MODULE_DEVICE_TABLE(acpi, hidma_mgmt_acpi_ids);
 #endif
 
 static const struct of_device_id hidma_mgmt_match[] = {
-- 
1.9.1

^ permalink raw reply related

* [PULL] KVM/ARM updates for 4.9-rc6
From: Radim Krčmář @ 2016-11-19 19:28 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <1479461966-20136-1-git-send-email-marc.zyngier@arm.com>

2016-11-18 09:39+0000, Marc Zyngier:
> Paolo, Radim,
> 
> Please find below the pull request for a couple of fixes for the
> PMU emulation, courtesy of Wei. Both patches are candidates for stable.

Pulled, thanks.

^ permalink raw reply

* [PATCH] coresight: perf: Add a missing call to etm_free_aux
From: Quentin Lambert @ 2016-11-19 18:42 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <3e105f1d-c984-358f-a996-b9d3a2d01e0d@gmail.com>



On 11/19/2016 07:22 PM, Quentin Lambert wrote:
>
> On 11/19/2016 06:41 PM, Quentin Lambert wrote:
>> Most error branches following the call to alloc_event_data contain a 
>> call to
>> etm_free_aux. This patch add a call to etm_free_aux to an error branch
>> that does not call it.
>>
>> This issue was found with Hector.
>>
>> Signed-off-by: Quentin Lambert <lambert.quentin@gmail.com>
>> ---
>>   drivers/hwtracing/coresight/coresight-etm-perf.c |    2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> --- a/drivers/hwtracing/coresight/coresight-etm-perf.c
>> +++ b/drivers/hwtracing/coresight/coresight-etm-perf.c
>> @@ -215,7 +215,7 @@ static void *etm_setup_aux(int event_cpu
>>        */
>>       sink = coresight_get_enabled_sink(true);
>>       if (!sink)
>> -        return NULL;
>> +        goto err;
>>         INIT_WORK(&event_data->work, free_event_data);
> I realized that I hadn't try to compile after having sent this patch and
> I wasn't able to compile it.
> Therefore, please ignore it for now.
I have just confirmed that it compiles.

Quentin

^ permalink raw reply

* [PATCH] arm: spin one more cycle in timer-based delays
From: Mason @ 2016-11-19 18:29 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <20161119110301.GQ1041@n2100.armlinux.org.uk>

On 19/11/2016 12:03, Russell King - ARM Linux wrote:

> Linus, please see the comment and patch at the bottom of this mail.
> Thanks.
> 
> On Sat, Nov 19, 2016 at 12:47:02PM +0530, Afzal Mohammed wrote:
>> Hi Mason,
>>
>> On Fri, Nov 18, 2016 at 03:18:58PM +0100, Mason wrote:
>>> On 18/11/2016 13:54, Russell King - ARM Linux wrote:
>>
>>>> So, NAK on this change.  udelay is not super-accurate.
>>>
>>> usleep_range() fixed this issue recently.
>>> 6c5e9059692567740a4ee51530dffe51a4b9584d
>>> https://git.kernel.org/cgit/linux/kernel/git/tip/tip.git/commit/?h=timers/core&id=6c5e9059692567740a4ee51530dffe51a4b9584d
>>
>> But the above "timers: Fix usleep_range() in the context of
>> wake_up_process()" is to avoid wakeup causing premature return than
>> about being precise, no ?
> 
> usleep*() is different from udelay().  usleep*() is not based on looping
> a certain number of times, and doesn't involve calibration of such a
> loop.

You keep saying that udelay is loop-based. That's merely the fall-back,
when nothing better is available. As you know, there are several better
arch-specific options available (peterz described some on x86).

On my platform, udelay polls a platform tick counter. (In fact, you
were the one to recommend that solution to me years ago). This tick
counter is tied to a high-precision crystal, the error of which is
measured in parts per million. The memory bus to this device offers
some guarantees for the access latency.

IIUC, arm and arm64 even have an architected counter that is
guaranteed to tick at constant frequency, and is accessible
without leaving the CPU core.


> usleep*() is based on the scheduler, which has tighter
> requirements laid down in POSIX amongst other standards, such as "not
> timing out before this specified time" (due to things like select(),
> poll(), etc.)  udelay() is purely a kernel thing, unspecified by any
> standard.

The "problem" with udelay is that the same API exists on every single
kernel ever written, and users have implicit expectations about the
implementation. (Principle of least astonishment)


>> With conflicting opinion on delay/sleep fn's from the players, the one
>> in gallery would get confused.
>>
>> But Linus has mentioned udelay as not meant to be precise, okay ?
> 
> Exactly - and the reason for that (as I've explained several times in
> the past) the "standard" software delay loop calibrated against the
> timer interrupt is _always_ going to be short.

OK, so loop-based delays are known to be short. Would you or Linus
accept a patch that adds a X% cushion *in the implementation* ?

You are saying "people shouldn't expect udelay(10) to delay at least
10 ?s, thus they should write udelay(10+N)".

Why not hide that implementation detail inside the implementation,
so as not to force the pessimization on every other implementation
behind the udelay/ndelay wrapper?

void loop_based_udelay(long us) {
  spin_for_some_us(us + us/8);
}


> I explain why this is in the message to which Linus replied:
> 
>   http://lists.openwall.net/linux-kernel/2011/01/09/56
> 
> A consequence of the formula that I give in (2) in that mail is that
> the higher the HZ value, the more error in the resulting value of
> loops_per_jiffy, and the shorter udelay(1) than 1us will be, since
> "timer_interrupt_usec" is a constant but "usec_per_jiffy" reduces.
> 
> So folk need to put the idea that "udelay(1) will always be at least
> 1us" out of their minds - that's simply not guaranteed by the kernel.
> Linus' reply also indicates that we don't care if it's out by 5%,
> and probably more than that too.
> 
> If someone can show that our timer-based udelay() produces an error
> more than 5%, then I'll apply the patch.

I gave an example where ndelay had a 60% error (37 instead of 100 ns).

If one is using a 1 MHz clock for timer-based delays, udelay(1)
will randomly return immediately (100% error).


> What I don't want to do is
> to apply the patch because someone thinks that udelay() should not
> return early.  Applying it in that case has the effect of re-inforcing
> what is an incorrect assumption, leading to people writing buggy drivers
> that have delays which are too finely "tuned" - which may work with a
> timer-based udelay() but cause failures with a loop-based udelay().

Again, I think it would be much smarter to hide this quirk within
the loop-based delay implementation.

Why is it unacceptable to "fix" the API, instead of fixing the
expectations of driver writers?


> This is all about ensuring that driver authors do the right thing.

What is the rationale behind the devm managed resources?
Driver writers were getting things wrong, and the kernel
provided a framework to help them with the hard part.

Likewise, instead of setting them up to fail with a quirky
delay routine, why not help them by writing an implementation
to match their expectation?


> Linus, how about we add something like this to linux/delay.h to document
> this fact?
> 
>  include/linux/delay.h | 12 +++++++++++
>  1 file changed, 12 insertions(+)
> 
> diff --git a/include/linux/delay.h b/include/linux/delay.h
> index a6ecb34cf547..2ecb3c46b20a 100644
> --- a/include/linux/delay.h
> +++ b/include/linux/delay.h
> @@ -5,6 +5,18 @@
>   * Copyright (C) 1993 Linus Torvalds
>   *
>   * Delay routines, using a pre-computed "loops_per_jiffy" value.
> + *
> + * Please note that ndelay(), udelay() and mdelay() may return early for
> + * several reasons:
> + *  1. computed loops_per_jiffy too low (due to the time taken to
> + *     execute the timer interrupt.)
> + *  2. cache behaviour affecting the time it takes to execute the
> + *     loop function.
> + *  3. CPU clock rate changes.
> + * As a result, delays should always be over-stated.
> + *
> + * Please see this thread:
> + *   http://lists.openwall.net/linux-kernel/2011/01/09/56

(None of the reasons you stated affect a tick-counter-based delay.)

If one wants a 100 ns delay, what should one write?
If one wants a 1 ?s delay, what should one write?
If one wants a 100 ?s delay, what should one write?
Is the relative error constant?
Is there a constant component in the error, independent of requested delay?

It seems to me you're saying "on platform A, udelay has 50%
error, so driver writers should write udelay(N+N/2);"

The code is now unnecessarily pessimized on hundreds of platform
that don't have that behavior.

Why not fix the implementation of that platform's udelay to
add the padding itself? That way, other platforms are not
hampered by that platform's ineptitude.

Regards.

^ permalink raw reply

* [PATCH] coresight: perf: Add a missing call to etm_free_aux
From: Quentin Lambert @ 2016-11-19 18:22 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <20161119174124.20136-1-lambert.quentin@gmail.com>


On 11/19/2016 06:41 PM, Quentin Lambert wrote:
> Most error branches following the call to alloc_event_data contain a call to
> etm_free_aux. This patch add a call to etm_free_aux to an error branch
> that does not call it.
>
> This issue was found with Hector.
>
> Signed-off-by: Quentin Lambert <lambert.quentin@gmail.com>
> ---
>   drivers/hwtracing/coresight/coresight-etm-perf.c |    2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> --- a/drivers/hwtracing/coresight/coresight-etm-perf.c
> +++ b/drivers/hwtracing/coresight/coresight-etm-perf.c
> @@ -215,7 +215,7 @@ static void *etm_setup_aux(int event_cpu
>   	 */
>   	sink = coresight_get_enabled_sink(true);
>   	if (!sink)
> -		return NULL;
> +		goto err;
>   
>   	INIT_WORK(&event_data->work, free_event_data);
>   
I realized that I hadn't try to compile after having sent this patch and
I wasn't able to compile it.
Therefore, please ignore it for now.

Quentin

^ permalink raw reply

* [PATCH 2/6] ASoC: samsung: smdk_wm8580: Remove old platforms and drop mach-types usage
From: Krzysztof Kozlowski @ 2016-11-19 18:01 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <9ef6c39c-e7a2-4591-380f-07f92317313b@metafoo.de>

On Sat, Nov 19, 2016 at 04:48:26PM +0100, Lars-Peter Clausen wrote:
> On 11/19/2016 04:45 PM, Lars-Peter Clausen wrote:
> > On 11/19/2016 04:42 PM, Lars-Peter Clausen wrote:
> >> On 11/19/2016 03:48 PM, Krzysztof Kozlowski wrote:
> >> [...]
> >>> @@ -206,15 +204,10 @@ static int __init smdk_audio_init(void)
> >>>  	int ret;
> >>>  	char *str;
> >>>  
> >>> -	if (machine_is_smdkc100()
> >>> -			|| machine_is_smdkv210() || machine_is_smdkc110()) {
> >>> -		smdk.num_links = 3;
> >>> -	} else if (machine_is_smdk6410()) {
> >>> -		str = (char *)smdk_dai[PRI_PLAYBACK].cpu_dai_name;
> >>> -		str[strlen(str) - 1] = '2';
> >>> -		str = (char *)smdk_dai[PRI_CAPTURE].cpu_dai_name;
> >>> -		str[strlen(str) - 1] = '2';
> >>> -	}
> >>> +	str = (char *)smdk_dai[PRI_PLAYBACK].cpu_dai_name;
> >>> +	str[strlen(str) - 1] = '2';
> >>> +	str = (char *)smdk_dai[PRI_CAPTURE].cpu_dai_name;
> >>> +	str[strlen(str) - 1] = '2';
> >>
> >> This could be further simplified by just updating the initial cpu_dai_name
> >> string in the dai_link struct.
> >>
> >> Especially considering that the cpu_dai_name is a string literal and the ARM
> >> kernel now has rodata write protection enabled by default, so modifying it
> >> will crash the kernel.
> > 
> > Spoke too soon, you fix this up in the next patch. But I'd just squash that
> > change into this patch. I think it is pretty safe to assume that it is correct.

Yes, I wanted to split trivial change from something which would be nice
to test (I did not test it). However you're right that logically this is
the same change.

> And another thing. Since num_links is always 2 now the last entry from the
> smdk_dai array can be removed and num_links can be initialized using
> ARRAY_SIZE().

Ahh, indeed. The third DAI link (SEC_PLAYBACK) could be removed now.

Thanks for feedback,
Krzysztof

^ permalink raw reply

* [PATCH] coresight: perf: Add a missing call to etm_free_aux
From: Quentin Lambert @ 2016-11-19 17:41 UTC (permalink / raw)
  To: linux-arm-kernel

Most error branches following the call to alloc_event_data contain a call to
etm_free_aux. This patch add a call to etm_free_aux to an error branch
that does not call it.

This issue was found with Hector.

Signed-off-by: Quentin Lambert <lambert.quentin@gmail.com>
---
 drivers/hwtracing/coresight/coresight-etm-perf.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/drivers/hwtracing/coresight/coresight-etm-perf.c
+++ b/drivers/hwtracing/coresight/coresight-etm-perf.c
@@ -215,7 +215,7 @@ static void *etm_setup_aux(int event_cpu
 	 */
 	sink = coresight_get_enabled_sink(true);
 	if (!sink)
-		return NULL;
+		goto err;
 
 	INIT_WORK(&event_data->work, free_event_data);
 

^ permalink raw reply

* [GIT PULL] Allwinner late DT changes for 4.10
From: Olof Johansson @ 2016-11-19 17:07 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <CACRpkdbw3AUj510wPGFG55cKnOyEOX7Syz1BnJx-ygo1eAqzGg@mail.gmail.com>

On Sat, Nov 19, 2016 at 7:28 AM, Linus Walleij <linus.walleij@linaro.org> wrote:
> On Sat, Nov 19, 2016 at 1:27 AM, Olof Johansson <olof@lixom.net> wrote:
>
>> Also, this won't work since this branch does not contain the required
>> pinctrl changes. If we merge this without basing it on those changes we lose
>> bisectability.
>
> I usually operate on the assumption that arch/*/boot/dts/* and drivers/*
> do not need to be boot-time bisectable sync:ed, because of the ambition
> to maintaining DTS files outside of the kernel in the long run, and at that
> point they would be versioned orthogonally anyways.
>
> On the other hand, that does look like a pipe dream, so maybe I should
> just stop pretending.

For new features/drivers/platforms that is definitely the case: Merge
code through the suitable tree and it'll come together when the code
is all merged.

For a cleanup it's a bit different, since you shouldn't regress and
break existing support on the individual branches. I.e. it's OK to not
make things work for the first time until all comes together, but
things that is already working shouldn't break.


-Olof

^ permalink raw reply

* [PATCH 2/6] ASoC: samsung: smdk_wm8580: Remove old platforms and drop mach-types usage
From: Lars-Peter Clausen @ 2016-11-19 15:48 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <90e0f455-fa24-f643-fa07-67efe217188a@metafoo.de>

On 11/19/2016 04:45 PM, Lars-Peter Clausen wrote:
> On 11/19/2016 04:42 PM, Lars-Peter Clausen wrote:
>> On 11/19/2016 03:48 PM, Krzysztof Kozlowski wrote:
>> [...]
>>> @@ -206,15 +204,10 @@ static int __init smdk_audio_init(void)
>>>  	int ret;
>>>  	char *str;
>>>  
>>> -	if (machine_is_smdkc100()
>>> -			|| machine_is_smdkv210() || machine_is_smdkc110()) {
>>> -		smdk.num_links = 3;
>>> -	} else if (machine_is_smdk6410()) {
>>> -		str = (char *)smdk_dai[PRI_PLAYBACK].cpu_dai_name;
>>> -		str[strlen(str) - 1] = '2';
>>> -		str = (char *)smdk_dai[PRI_CAPTURE].cpu_dai_name;
>>> -		str[strlen(str) - 1] = '2';
>>> -	}
>>> +	str = (char *)smdk_dai[PRI_PLAYBACK].cpu_dai_name;
>>> +	str[strlen(str) - 1] = '2';
>>> +	str = (char *)smdk_dai[PRI_CAPTURE].cpu_dai_name;
>>> +	str[strlen(str) - 1] = '2';
>>
>> This could be further simplified by just updating the initial cpu_dai_name
>> string in the dai_link struct.
>>
>> Especially considering that the cpu_dai_name is a string literal and the ARM
>> kernel now has rodata write protection enabled by default, so modifying it
>> will crash the kernel.
> 
> Spoke too soon, you fix this up in the next patch. But I'd just squash that
> change into this patch. I think it is pretty safe to assume that it is correct.
> 

And another thing. Since num_links is always 2 now the last entry from the
smdk_dai array can be removed and num_links can be initialized using
ARRAY_SIZE().

^ permalink raw reply

* [PATCH 2/6] ASoC: samsung: smdk_wm8580: Remove old platforms and drop mach-types usage
From: Lars-Peter Clausen @ 2016-11-19 15:45 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <8248c49a-1108-7fce-ed99-01653e11c670@metafoo.de>

On 11/19/2016 04:42 PM, Lars-Peter Clausen wrote:
> On 11/19/2016 03:48 PM, Krzysztof Kozlowski wrote:
> [...]
>> @@ -206,15 +204,10 @@ static int __init smdk_audio_init(void)
>>  	int ret;
>>  	char *str;
>>  
>> -	if (machine_is_smdkc100()
>> -			|| machine_is_smdkv210() || machine_is_smdkc110()) {
>> -		smdk.num_links = 3;
>> -	} else if (machine_is_smdk6410()) {
>> -		str = (char *)smdk_dai[PRI_PLAYBACK].cpu_dai_name;
>> -		str[strlen(str) - 1] = '2';
>> -		str = (char *)smdk_dai[PRI_CAPTURE].cpu_dai_name;
>> -		str[strlen(str) - 1] = '2';
>> -	}
>> +	str = (char *)smdk_dai[PRI_PLAYBACK].cpu_dai_name;
>> +	str[strlen(str) - 1] = '2';
>> +	str = (char *)smdk_dai[PRI_CAPTURE].cpu_dai_name;
>> +	str[strlen(str) - 1] = '2';
> 
> This could be further simplified by just updating the initial cpu_dai_name
> string in the dai_link struct.
> 
> Especially considering that the cpu_dai_name is a string literal and the ARM
> kernel now has rodata write protection enabled by default, so modifying it
> will crash the kernel.

Spoke too soon, you fix this up in the next patch. But I'd just squash that
change into this patch. I think it is pretty safe to assume that it is correct.

^ permalink raw reply

* [PATCH 2/6] ASoC: samsung: smdk_wm8580: Remove old platforms and drop mach-types usage
From: Lars-Peter Clausen @ 2016-11-19 15:42 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <1479566911-5580-3-git-send-email-krzk@kernel.org>

On 11/19/2016 03:48 PM, Krzysztof Kozlowski wrote:
[...]
> @@ -206,15 +204,10 @@ static int __init smdk_audio_init(void)
>  	int ret;
>  	char *str;
>  
> -	if (machine_is_smdkc100()
> -			|| machine_is_smdkv210() || machine_is_smdkc110()) {
> -		smdk.num_links = 3;
> -	} else if (machine_is_smdk6410()) {
> -		str = (char *)smdk_dai[PRI_PLAYBACK].cpu_dai_name;
> -		str[strlen(str) - 1] = '2';
> -		str = (char *)smdk_dai[PRI_CAPTURE].cpu_dai_name;
> -		str[strlen(str) - 1] = '2';
> -	}
> +	str = (char *)smdk_dai[PRI_PLAYBACK].cpu_dai_name;
> +	str[strlen(str) - 1] = '2';
> +	str = (char *)smdk_dai[PRI_CAPTURE].cpu_dai_name;
> +	str[strlen(str) - 1] = '2';

This could be further simplified by just updating the initial cpu_dai_name
string in the dai_link struct.

Especially considering that the cpu_dai_name is a string literal and the ARM
kernel now has rodata write protection enabled by default, so modifying it
will crash the kernel.

^ permalink raw reply

* [GIT PULL] Allwinner late DT changes for 4.10
From: Linus Walleij @ 2016-11-19 15:28 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <20161119002733.GA15902@localhost>

On Sat, Nov 19, 2016 at 1:27 AM, Olof Johansson <olof@lixom.net> wrote:

> Also, this won't work since this branch does not contain the required
> pinctrl changes. If we merge this without basing it on those changes we lose
> bisectability.

I usually operate on the assumption that arch/*/boot/dts/* and drivers/*
do not need to be boot-time bisectable sync:ed, because of the ambition
to maintaining DTS files outside of the kernel in the long run, and at that
point they would be versioned orthogonally anyways.

On the other hand, that does look like a pipe dream, so maybe I should
just stop pretending.

Yours,
Linus Walleij

^ permalink raw reply

* [GIT PULL] Integrator DTS and defconfig changes
From: Linus Walleij @ 2016-11-19 15:19 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <20161118175301.GA8882@localhost>

On Fri, Nov 18, 2016 at 6:53 PM, Olof Johansson <olof@lixom.net> wrote:
> On Fri, Nov 18, 2016 at 09:26:56AM +0100, Linus Walleij wrote:
>> On Fri, Nov 18, 2016 at 8:25 AM, Olof Johansson <olof@lixom.net> wrote:
>>
>> > I also sympathize that it's extra annoying having to split just three
>> > patches across two branches. So, if it's easier we can just cherry-pick
>> > apart the patches here across the branches (your comment about next
>> > coverage makes me suspect you have no direct downstream users of this
>> > branch). If that's OK, let me know and I'll do that tomorrow.
>>
>> It's fine to cherry-pick, I can also send two separate branches (or
>> just 2+1 stand-alone patches).
>>
>> Any way you like it :) just tell me what to do, all I want is to get this
>> in for v4.10.
>
> Cherry-picking is actually faster on our side than merging, so I've done that
> now. Queued into next/dt and next/defconfig for 4.10.

Thanks Olof, much appreciated!

Yours,
Linus Walleij

^ permalink raw reply

* [PATCH 6/6] ARM: s5pv210_defconfig: Remove old MACHs
From: Krzysztof Kozlowski @ 2016-11-19 14:48 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <1479566911-5580-1-git-send-email-krzk@kernel.org>

Remove non-existing MACH symbols from S5PV210 defconfig.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
---
 arch/arm/configs/s5pv210_defconfig | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/arch/arm/configs/s5pv210_defconfig b/arch/arm/configs/s5pv210_defconfig
index fa989902236d..c51f0f02012b 100644
--- a/arch/arm/configs/s5pv210_defconfig
+++ b/arch/arm/configs/s5pv210_defconfig
@@ -9,10 +9,6 @@ CONFIG_ARCH_S5PV210=y
 CONFIG_S3C_LOWLEVEL_UART_PORT=1
 CONFIG_S3C_DEV_FB=y
 CONFIG_S5PV210_SETUP_FB_24BPP=y
-CONFIG_MACH_AQUILA=y
-CONFIG_MACH_GONI=y
-CONFIG_MACH_SMDKC110=y
-CONFIG_MACH_SMDKV210=y
 CONFIG_NO_HZ=y
 CONFIG_HIGH_RES_TIMERS=y
 CONFIG_VMSPLIT_2G=y
-- 
2.7.4

^ permalink raw reply related

* [PATCH 5/6] ASoC: samsung: Enable COMPILE_TEST for entire Samsung ASoc
From: Krzysztof Kozlowski @ 2016-11-19 14:48 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <1479566911-5580-1-git-send-email-krzk@kernel.org>

Instead of build time, Samsung ASoC drivers have rather runtime
dependency on Exynos or other Samsung platforms.  For building they
require Common Clock Framework.  If it is provided they could be compile
tested to increase build coverage.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
---
 sound/soc/samsung/Kconfig | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/sound/soc/samsung/Kconfig b/sound/soc/samsung/Kconfig
index 426ef1c7b265..a6cc6ca93fa7 100644
--- a/sound/soc/samsung/Kconfig
+++ b/sound/soc/samsung/Kconfig
@@ -1,6 +1,7 @@
 menuconfig SND_SOC_SAMSUNG
 	tristate "ASoC support for Samsung"
-	depends on (PLAT_SAMSUNG || ARCH_EXYNOS)
+	depends on PLAT_SAMSUNG || ARCH_EXYNOS || COMPILE_TEST
+	depends on COMMON_CLK
 	select SND_SOC_GENERIC_DMAENGINE_PCM
 	---help---
 	  Say Y or M if you want to add support for codecs attached to
-- 
2.7.4

^ permalink raw reply related

* [PATCH 4/6] ASoC: samsung: Enable COMPILE_TEST for SmartQ and WM8580
From: Krzysztof Kozlowski @ 2016-11-19 14:48 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <1479566911-5580-1-git-send-email-krzk@kernel.org>

The I2S sound drivers for SmartQ board and WM8580 codec can be compile
tested to increase build coverage.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
---
 sound/soc/samsung/Kconfig | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/sound/soc/samsung/Kconfig b/sound/soc/samsung/Kconfig
index ea0fa9971a0c..426ef1c7b265 100644
--- a/sound/soc/samsung/Kconfig
+++ b/sound/soc/samsung/Kconfig
@@ -49,7 +49,7 @@ config SND_SOC_SAMSUNG_JIVE_WM8750
 
 config SND_SOC_SAMSUNG_SMDK_WM8580
 	tristate "SoC I2S Audio support for WM8580 on SMDK"
-	depends on MACH_SMDK6410
+	depends on MACH_SMDK6410 || COMPILE_TEST
 	depends on I2C
 	select SND_SOC_WM8580
 	select SND_SAMSUNG_I2S
@@ -109,7 +109,8 @@ config SND_SOC_SAMSUNG_RX1950_UDA1380
 
 config SND_SOC_SMARTQ
 	tristate "SoC I2S Audio support for SmartQ board"
-	depends on MACH_SMARTQ && I2C
+	depends on MACH_SMARTQ || COMPILE_TEST
+	depends on I2C
 	select SND_SAMSUNG_I2S
 	select SND_SOC_WM8750
 
-- 
2.7.4

^ permalink raw reply related

* [RFT 3/6] ASoC: samsung: smdk_wm8580: Remove machine specific quirks
From: Krzysztof Kozlowski @ 2016-11-19 14:48 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <1479566911-5580-1-git-send-email-krzk@kernel.org>

The driver no longer differentiates between machines (S3C24xx machines
are not supported by it) so there is no need to override I2S device id
in cpu_dai_name.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>

---

Not tested. The driver did not override .platform_name which looks
suspicious to me. However I did not want to add changes which could have
some visible impact on output code.
---
 sound/soc/samsung/smdk_wm8580.c | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/sound/soc/samsung/smdk_wm8580.c b/sound/soc/samsung/smdk_wm8580.c
index 59fd3b8fd414..3bf33387dfeb 100644
--- a/sound/soc/samsung/smdk_wm8580.c
+++ b/sound/soc/samsung/smdk_wm8580.c
@@ -155,7 +155,7 @@ static struct snd_soc_dai_link smdk_dai[] = {
 	[PRI_PLAYBACK] = { /* Primary Playback i/f */
 		.name = "WM8580 PAIF RX",
 		.stream_name = "Playback",
-		.cpu_dai_name = "samsung-i2s.0",
+		.cpu_dai_name = "samsung-i2s.2",
 		.codec_dai_name = "wm8580-hifi-playback",
 		.platform_name = "samsung-i2s.0",
 		.codec_name = "wm8580.0-001b",
@@ -165,7 +165,7 @@ static struct snd_soc_dai_link smdk_dai[] = {
 	[PRI_CAPTURE] = { /* Primary Capture i/f */
 		.name = "WM8580 PAIF TX",
 		.stream_name = "Capture",
-		.cpu_dai_name = "samsung-i2s.0",
+		.cpu_dai_name = "samsung-i2s.2",
 		.codec_dai_name = "wm8580-hifi-capture",
 		.platform_name = "samsung-i2s.0",
 		.codec_name = "wm8580.0-001b",
@@ -202,12 +202,6 @@ static struct platform_device *smdk_snd_device;
 static int __init smdk_audio_init(void)
 {
 	int ret;
-	char *str;
-
-	str = (char *)smdk_dai[PRI_PLAYBACK].cpu_dai_name;
-	str[strlen(str) - 1] = '2';
-	str = (char *)smdk_dai[PRI_CAPTURE].cpu_dai_name;
-	str[strlen(str) - 1] = '2';
 
 	smdk_snd_device = platform_device_alloc("soc-audio", -1);
 	if (!smdk_snd_device)
-- 
2.7.4

^ permalink raw reply related


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox