Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp5225171imm; Tue, 31 Jul 2018 07:31:22 -0700 (PDT) X-Google-Smtp-Source: AAOMgpeL/AkRcmyR7hqtKJB8iO9496eFDdI4Y1SYbPcqB1q2xRw+7KMRkTYqD/iY7juTsCRA0nDI X-Received: by 2002:a63:6b86:: with SMTP id g128-v6mr21103724pgc.344.1533047482065; Tue, 31 Jul 2018 07:31:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1533047481; cv=none; d=google.com; s=arc-20160816; b=ZeBo608NFTS+M5FcDvK39oQqkNtvrVJ6Siw1p2xi7tgC5S62TtcqHIr9+xSTCuqZp2 MNOLxS9jbuKEhynVhxVUd8M/gpkLytop0DLqF6imVL7/Uo0VnztZ5QtrUBBQOF6OBeRy H1eS+7Ld3bLQTvHW9k3XfX6QQa9OHi8AZtwI9WQu0V7u1bqIB6V5T9KkwWCK+7SNnQO5 tl02QHVeTYOC3isv1Ox9ejR1ngws0iOhrTw+UaQ9oEubOPMaiP+oX8HAxQyG9GtnSLD+ KmDqpqUy5RU2qtykXoVk08gtNVGmCqTrhZz01as/KEg0kD1cJ5/owIwxLl9+iMtHGYvi t2Jg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :arc-authentication-results; bh=QIW003zY0T66HUKDfLJWCjOoY18GqWdH/mREG695iSg=; b=eQs/ES4Of495K7Y01QuwDI9pjLYwJwmPKCfuc+yl9EMd0ZoXJAM1cpA1bpiplZcgkN POcAtIDg5O1d+4Pm6hfpRakd0oyt95CdKAvZ7W6JhTqEB/yUKXFcAloKEvuE7pJvZSN+ 6jOfJx4uw7K31Z/5j2/b6kYG0bhAogI4QOaBiReeP1z0TRrZr4zA4H0BP3LyjDWSEFeQ ieDLo6qXgElpxKZHMINbjojlkYX8j7WX1DgQKRqR+LxsV7O9khIRJdlfc5tgfgA0dY5S DzdZlS4NTRZR0enEQOv6/PArdlb/RwlzHAIffl2R4hX9FaCGyBYzaBh/shGqu3S2/Mtw hHuw== ARC-Authentication-Results: i=1; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b6-v6si8510439pgj.211.2018.07.31.07.31.07; Tue, 31 Jul 2018 07:31:21 -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 S1732419AbeGaQKj (ORCPT + 99 others); Tue, 31 Jul 2018 12:10:39 -0400 Received: from mail-d.ads.isi.edu ([128.9.180.199]:62437 "EHLO mail-d.ads.isi.edu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732222AbeGaQKj (ORCPT ); Tue, 31 Jul 2018 12:10:39 -0400 X-IronPort-AV: E=Sophos;i="5.51,427,1526367600"; d="scan'208";a="2634413" Received: from guest228.east.isi.edu (HELO localhost) ([65.123.202.228]) by mail-d.ads.isi.edu with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 31 Jul 2018 07:30:02 -0700 From: Alexei Colin To: Alexandre Bounine , Andrew Morton Cc: Alexei Colin , John Paul Walters , Catalin Marinas , Russell King , Arnd Bergmann , Will Deacon , Ralf Baechle , Paul Burton , Alexander Sverdlin , Benjamin Herrenschmidt , Paul Mackerras , Thomas Gleixner , Peter Anvin , Matt Porter , x86@kernel.org, linuxppc-dev@lists.ozlabs.org, linux-mips@linux-mips.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [RESEND PATCH 0/6] rapidio: move Kconfig menu definition to subsystem Date: Tue, 31 Jul 2018 10:29:48 -0400 Message-Id: <20180731142954.30345-1-acolin@isi.edu> X-Mailer: git-send-email 2.18.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Resending the patchset from prior submission: https://lkml.org/lkml/2018/7/30/911 The only change are the Cc tags in all patches now include the mailing lists for all affected architectures, and patch 1/6 (which adds the menu item to RapdidIO subsystem Kconfig) is CCed to all maintainers who are getting this cover letter. The cover letter has been updated with explanations to points raised in the feedback. The top-level Kconfig entry for RapidIO subsystem is currently duplicated in several architecture-specific Kconfig files. This set of patches does two things: 1. Move the Kconfig menu definition into the RapidIO subsystem and remove the duplicate definitions from arch Kconfig files. 2. Enable RapidIO Kconfig menu entry for arm and arm64 architectures, where it was not enabled before. I tested that subsystem and drivers build successfully for both architectures, and tested that the modules load on a custom arm64 Qemu model. For all architectures, RapidIO menu should be offered when either: (1) The platform has a PCI bus (which host a RapidIO module on the bus). (2) The platform has a RapidIO IP block (connected to a system bus, e.g. AXI on ARM). In this case, 'select HAS_RAPIDIO' should be added to the 'config ARCH_*' menu entry for the SoCs that offer the IP block. Prior to this patchset, different architectures used different criteria: * powerpc: (1) and (2) * mips: (1) and (2) after recent commit into next that added (2): https://www.linux-mips.org/archives/linux-mips/2018-07/msg00596.html fc5d988878942e9b42a4de5204bdd452f3f1ce47 491ec1553e0075f345fbe476a93775eabcbc40b6 * x86: (1) * arm,arm64: none (RapidIO menus never offered) This set of architectures are the ones that implement support for RapidIO as system bus. On some platforms RapidIO can be the only system bus available replacing PCI/PCIe. As it is done now, RapidIO is configured in "Bus Options" (x86/PPC) or "Bus Support" (ARMs) sub-menu and from system configuration option it should be kept this way. Current location of RAPIDIO configuration option is familiar to users of PowerPC and x86 platforms, and is similarly available in some ARM manufacturers kernel code trees. (Alex Bounine) HAS_RAPIDIO is not enabled unconditionally, because HAS_RAPIDIO option is intended for SOCs that have built in SRIO controllers, like TI KeyStoneII or FPGAs. Because RapidIO subsystem core is required during RapidIO port driver initialization, having separate option allows us to control available build options for RapidIO core and port driver (bool vs. tristate) and disable module option if port driver is configured as built-in. (Alex Bounine) Responses to feedback from prior submission (thanks for the reviews!): http://lists.infradead.org/pipermail/linux-arm-kernel/2018-July/593347.html http://lists.infradead.org/pipermail/linux-arm-kernel/2018-July/593349.html Changelog: * Moved Kconfig entry into RapidIO subsystem instead of duplicating In the current patchset, I took the approach of adding '|| PCI' to the depends in the subsystem. I did try the alterantive approach mentioned in the reviews for v1 of this patch, where the subsystem Kconfig does not add a '|| PCI' and each per-architecture Kconfig has to add a 'select HAS_RAPIDIO if PCI' and SoCs with IP blocks have to also add 'select HAS_RAPIDIO'. This works too but requires each architecture's Kconfig to add the line for RapidIO (whereas current approach does not require that involvement) and also may create a false impression that the dependency on PCI is strict. We appreciate the suggestion for also selecting the RapdiIO subsystem for compilation with COMPILE_TEST, but hope to address it in a separate patchset, localized to the subsystem, since it will need to change depends on all drivers, not just on the top level, and since this patch now spans multiple architectures. Alexei Colin (6): rapidio: define top Kconfig menu in driver subtree x86: factor out RapidIO Kconfig menu powerpc: factor out RapidIO Kconfig menu entry mips: factor out RapidIO Kconfig entry arm: enable RapidIO menu in Kconfig arm64: enable RapidIO menu in Kconfig arch/arm/Kconfig | 2 ++ arch/arm64/Kconfig | 2 ++ arch/mips/Kconfig | 11 ----------- arch/powerpc/Kconfig | 13 +------------ arch/x86/Kconfig | 8 -------- drivers/rapidio/Kconfig | 15 +++++++++++++++ 6 files changed, 20 insertions(+), 31 deletions(-) -- 2.18.0