From patchwork Tue Mar 15 21:47:14 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 102562 Delivered-To: patch@linaro.org Received: by 10.112.199.169 with SMTP id jl9csp937064lbc; Tue, 15 Mar 2016 14:47:56 -0700 (PDT) X-Received: by 10.98.71.91 with SMTP id u88mr407922pfa.161.1458078476826; Tue, 15 Mar 2016 14:47:56 -0700 (PDT) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id xc7si176929pab.217.2016.03.15.14.47.56; Tue, 15 Mar 2016 14:47:56 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933050AbcCOVry (ORCPT + 31 others); Tue, 15 Mar 2016 17:47:54 -0400 Received: from mout.kundenserver.de ([217.72.192.73]:57733 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932268AbcCOVrx (ORCPT ); Tue, 15 Mar 2016 17:47:53 -0400 Received: from wuerfel.lan. ([78.42.132.4]) by mrelayeu.kundenserver.de (mreue101) with ESMTPA (Nemesis) id 0LgYcf-1a3dw40bXZ-00nwkt; Tue, 15 Mar 2016 22:47:45 +0100 From: Arnd Bergmann To: netdev@vger.kernel.org Cc: Arnd Bergmann , "David S. Miller" , Gregory CLEMENT , Marcin Wojtas , linux-kernel@vger.kernel.org Subject: [PATCH] net: mvneta: bm: clarify dependencies Date: Tue, 15 Mar 2016 22:47:14 +0100 Message-Id: <1458078449-635940-1-git-send-email-arnd@arndb.de> X-Mailer: git-send-email 2.7.0 X-Provags-ID: V03:K0:MiB2YrjriVvwlZ0GXNT9PVLUwEA+eQCY9lRSvHPu+SlhugDf3L4 eIIiDjTpAFpoOUXjUPqDQD87oDME6ZBl6siu1+pDDnHL0K2BwGIQlDucbacv4IOaVA+uK5W onucMgvU2yTKlP4BcsTz7r4yS/rgYEejIgBVXuzaG7wy0vYZLQQJjqUQfq2l3Cyv8pitxEr 20aWpc/nC44OAQ+1fkvrw== X-UI-Out-Filterresults: notjunk:1; V01:K0:pHF8pCmFYeQ=:kgUOxEM38GbMqPvxTpOa8a OffyLpiag2qEhqYsxDIfs9Wfve2oa+X4WZ3XT4XEi9TIbxn1wnjJbrtAYbVakbceYeVfwDlvK BGufWcB2HvdYgLuFxhgxJqje3oLYDivj0NiukEJnuhJlPc6DhdcPX0dUvx3uh4mtgfoSrxc+Q 9yEHiFboAGmooQLijkjUJ4l3I4OR0ykdz0QwZHi6c9wFEOp79WI/TDGeU6TfUOUnmK4q3iReO cAVXvfqckp6Udcmp5CtKsciMNA1FsyqdJ+PLevrpjnegBsTmJgtOV+FoyYetUQz/VIswCr2o1 K67u/Sf8zVpE6/zGfvEtXJRrWfifG3+KD4Xc1wy2rjxqXyey6CzehEYvSPoWYnmtOv4cV327M KrUK4EjxA6+Z3AZyTw+nBEx9Pm49blgpV7nxjYnzqnvSpvb5NZ4frsviXefgtCsKl2ryNvncu QezAAiaEK7e+98KfyPI0b23v+J/e2cL7Ffulnhb6HDfnc92Lg0tghYYarIoczTw5vDhEv2hzV nPXet+4Umx0LUBPwmSrZAnLGPXvngLKEjM/7Peh+Vs0ycWObkiw5JWYcELSe4hEaW+Bs8Idql aRsOVJWsYF0s6QJsNJoa2QDBdDtNNm7+jkFIkPiR/3RFyVix9Zx4vrsygnGBjs0KqNESOuuOU iOxpWfXqqtBEMvSevbrum1tj2swUd614MpZGr/c/0eCsx3Vq86cJhdwtgfAqFe7dBQW0= Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org MVNETA_BM has a dependency on MVNETA, so we can only select the former if the latter is enabled. However, the code dependency is the reverse: The mvneta module can call into the mvneta_bm module, so mvneta cannot be a built-in if mvneta_bm is a module, or we get a link error: drivers/net/built-in.o: In function `mvneta_remove': drivers/net/ethernet/marvell/mvneta.c:4211: undefined reference to `mvneta_bm_pool_destroy' drivers/net/built-in.o: In function `mvneta_bm_update_mtu': drivers/net/ethernet/marvell/mvneta.c:1034: undefined reference to `mvneta_bm_bufs_free' This avoids the problem by further clarifying the dependency so that MVNETA_BM is a silent Kconfig option that gets turned on by the new MVNETA_BM_ENABLE option. This way both the core HWBM module and the MVNETA_BM code are always built-in when needed. Signed-off-by: Arnd Bergmann Fixes: dc35a10f68d3 ("net: mvneta: bm: add support for hardware buffer management") --- drivers/net/ethernet/marvell/Kconfig | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) -- 2.7.0 diff --git a/drivers/net/ethernet/marvell/Kconfig b/drivers/net/ethernet/marvell/Kconfig index 62d80fddbe34..b5c6d42daa12 100644 --- a/drivers/net/ethernet/marvell/Kconfig +++ b/drivers/net/ethernet/marvell/Kconfig @@ -40,10 +40,9 @@ config MVMDIO This driver is used by the MV643XX_ETH and MVNETA drivers. -config MVNETA_BM +config MVNETA_BM_ENABLE tristate "Marvell Armada 38x/XP network interface BM support" depends on MVNETA - select HWBM ---help--- This driver supports auxiliary block of the network interface units in the Marvell ARMADA XP and ARMADA 38x SoC @@ -67,6 +66,15 @@ config MVNETA driver, which should be used for the older Marvell SoCs (Dove, Orion, Discovery, Kirkwood). +config MVNETA_BM + tristate + default y if MVNETA=y && MVNETA_BM_ENABLE + default MVNETA_BM_ENABLE + select HWBM + help + MVNETA_BM must not be 'm' if MVNETA=y, so this symbol ensures + that all dependencies are met. + config MVPP2 tristate "Marvell Armada 375 network interface support" depends on MACH_ARMADA_375