From patchwork Wed Dec 16 15:16:25 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tomasz Nowicki X-Patchwork-Id: 557514 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id D0E1F1402D2 for ; Thu, 17 Dec 2015 02:21:52 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=semihalf-com.20150623.gappssmtp.com header.i=@semihalf-com.20150623.gappssmtp.com header.b=cDREOhI8; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933044AbbLPPVg (ORCPT ); Wed, 16 Dec 2015 10:21:36 -0500 Received: from mail-wm0-f46.google.com ([74.125.82.46]:38725 "EHLO mail-wm0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965798AbbLPPSH (ORCPT ); Wed, 16 Dec 2015 10:18:07 -0500 Received: by mail-wm0-f46.google.com with SMTP id l126so42579246wml.1 for ; Wed, 16 Dec 2015 07:18:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=semihalf-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=m//18OK4/QKALmfPYf+2iBUO4mm0mFQ8yZwV7Tx5LrM=; b=cDREOhI8QAnlAHjsrRfL7L/twTyxQW3oAl1xNAzwURlca7wPc8hFL2bnCZ9TtcM8IW zbxzAaOb+rh5k/XkAuj9exIsMn36c4DgGL8lo8BvhLEwNQNI1sF1F2PxK0eydUByk7WR 2VW+ZW5vkShw+kMx6EHYhZt8DIrLK6DuNNkr46APaRO+M9i9hs4y+DrtW4Ze7jZWZ5SC q42SBrbuqJ4em+TL0fPNXQ8mqSgEVfAvfGKvA4jPCiPpIjD/AhDI3ZiFKldcsLM9rI+U B1rYnChawhFlI5C4xaZYGdMMKeJ48fm3VfZMFQGysiJ4BF/T45ZeavWfPwwqfnQDZN7B tAwg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=m//18OK4/QKALmfPYf+2iBUO4mm0mFQ8yZwV7Tx5LrM=; b=RcIqrbBsbDA6O9h1x27UStbLJVLFLLNQVFm9DM5X3qPfZBmyYQSVyd8SKGvfK4GEaJ EhbmAErag+1nEwV8enRyfdUgrUSqvNVb7fhPchVfvU41Ekr2e+4ytawTz2zCwqzvxXJn FeO82T/MuODxDfsW3udSLII9GJ8MLNzq13ioJhEYRKk9FG4kwNDDCUa0TlskMKgt2R5k bYu5DDI5aRlcZHn+iHGPxwhPhZayfpnaboyGx4sUopHc5TXOrM8N3/FkbAe3UIoyqFEE m+pouYJ7tOPEi/vkYMQjK4aFo1GBXcCgVlanHq8fXM7xXlBTxhxJyn3yTmqXXqYkrs/X YbEw== X-Gm-Message-State: ALoCoQlM2ICMr/8XpgPC15VDY2CGxI82gfp63kBumqNtLO9qcnzUzJLySjHt4WJyltAIyxPM0SSLxLfKkTmd/EEKdH4HcJhdsA== X-Received: by 10.28.133.8 with SMTP id h8mr12321587wmd.71.1450279086443; Wed, 16 Dec 2015 07:18:06 -0800 (PST) Received: from tn-HP-4.semihalf.local ([80.82.22.190]) by smtp.gmail.com with ESMTPSA id z17sm6438761wjq.1.2015.12.16.07.18.04 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 16 Dec 2015 07:18:05 -0800 (PST) From: Tomasz Nowicki To: bhelgaas@google.com, arnd@arndb.de, will.deacon@arm.com, catalin.marinas@arm.com, rjw@rjwysocki.net, hanjun.guo@linaro.org, Lorenzo.Pieralisi@arm.com, okaya@codeaurora.org, jiang.liu@linux.intel.com, Stefano.Stabellini@eu.citrix.com Cc: robert.richter@caviumnetworks.com, mw@semihalf.com, Liviu.Dudau@arm.com, ddaney@caviumnetworks.com, tglx@linutronix.de, wangyijing@huawei.com, Suravee.Suthikulpanit@amd.com, msalter@redhat.com, linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org, linaro-acpi@lists.linaro.org, jchandra@broadcom.com, jcm@redhat.com, Tomasz Nowicki Subject: [PATCH V2 15/23] x86, ia64, pci: Convert arches to use PCI_DOMAINS_GENERIC. Date: Wed, 16 Dec 2015 16:16:25 +0100 Message-Id: <1450278993-12664-16-git-send-email-tn@semihalf.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1450278993-12664-1-git-send-email-tn@semihalf.com> References: <1450278993-12664-1-git-send-email-tn@semihalf.com> Sender: linux-pci-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org Since we have now generic way to retrieve domain number using _SEG method, x86 and ia64 can take advantage of it and forget about another platform specific data from pci_sysdata. Signed-off-by: Tomasz Nowicki --- arch/ia64/Kconfig | 3 +++ arch/ia64/include/asm/pci.h | 2 -- arch/ia64/pci/pci.c | 1 - arch/x86/Kconfig | 3 +++ arch/x86/include/asm/pci.h | 7 ------- arch/x86/pci/acpi.c | 2 -- 6 files changed, 6 insertions(+), 12 deletions(-) diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig index eb0249e..6fecd04 100644 --- a/arch/ia64/Kconfig +++ b/arch/ia64/Kconfig @@ -572,6 +572,9 @@ config PCI config PCI_DOMAINS def_bool PCI +config PCI_DOMAINS_GENERIC + def_bool PCI + config PCI_SYSCALL def_bool PCI diff --git a/arch/ia64/include/asm/pci.h b/arch/ia64/include/asm/pci.h index 5050748..4214be1 100644 --- a/arch/ia64/include/asm/pci.h +++ b/arch/ia64/include/asm/pci.h @@ -66,7 +66,6 @@ extern int pci_mmap_legacy_page_range(struct pci_bus *bus, struct pci_controller { void *iommu; - int segment; int node; /* nearest node with memory or NUMA_NO_NODE for global allocation */ void *platform_data; @@ -74,7 +73,6 @@ struct pci_controller { #define PCI_CONTROLLER(busdev) ((struct pci_controller *) busdev->sysdata) -#define pci_domain_nr(busdev) (PCI_CONTROLLER(busdev)->segment) extern struct pci_ops pci_root_ops; diff --git a/arch/ia64/pci/pci.c b/arch/ia64/pci/pci.c index 978d6af..fe96bc9 100644 --- a/arch/ia64/pci/pci.c +++ b/arch/ia64/pci/pci.c @@ -300,7 +300,6 @@ struct pci_bus *pci_acpi_scan_root(struct acpi_pci_root *root) return NULL; } - info->controller.segment = root->segment; info->controller.node = acpi_get_node(device->handle); INIT_LIST_HEAD(&info->io_resources); return acpi_pci_root_create(root, &pci_acpi_root_ops, diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 102d7d1..63cc4b7 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -2383,6 +2383,9 @@ config PCI_DOMAINS def_bool y depends on PCI +config PCI_DOMAINS_GENERIC + def_bool PCI + config PCI_MMCONFIG bool "Support mmconfig PCI config space access" select PCI_ECAM diff --git a/arch/x86/include/asm/pci.h b/arch/x86/include/asm/pci.h index a98c022..1dc1ba1 100644 --- a/arch/x86/include/asm/pci.h +++ b/arch/x86/include/asm/pci.h @@ -12,7 +12,6 @@ #ifdef __KERNEL__ struct pci_sysdata { - int domain; /* PCI domain */ int node; /* NUMA node */ #ifdef CONFIG_X86_64 void *iommu; /* IOMMU private data */ @@ -26,12 +25,6 @@ extern int noioapicreroute; #ifdef CONFIG_PCI #ifdef CONFIG_PCI_DOMAINS -static inline int pci_domain_nr(struct pci_bus *bus) -{ - struct pci_sysdata *sd = bus->sysdata; - return sd->domain; -} - static inline int pci_proc_domain(struct pci_bus *bus) { return pci_domain_nr(bus); diff --git a/arch/x86/pci/acpi.c b/arch/x86/pci/acpi.c index 286e0f5..5f78595 100644 --- a/arch/x86/pci/acpi.c +++ b/arch/x86/pci/acpi.c @@ -331,7 +331,6 @@ struct pci_bus *pci_acpi_scan_root(struct acpi_pci_root *root) * its bus->sysdata. */ struct pci_sysdata sd = { - .domain = domain, .node = node, }; @@ -345,7 +344,6 @@ struct pci_bus *pci_acpi_scan_root(struct acpi_pci_root *root) "pci_bus %04x:%02x: ignored (out of memory)\n", domain, busnum); else { - info->sd.domain = domain; info->sd.node = node; bus = acpi_pci_root_create(root, &acpi_pci_root_ops, &info->common, &info->sd);