From patchwork Sat Feb 20 01:13:10 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Daney X-Patchwork-Id: 62442 Delivered-To: patch@linaro.org Received: by 10.112.43.199 with SMTP id y7csp105929lbl; Fri, 19 Feb 2016 17:13:58 -0800 (PST) X-Received: by 10.66.139.137 with SMTP id qy9mr22276594pab.57.1455930837867; Fri, 19 Feb 2016 17:13:57 -0800 (PST) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id bw10si19831509pac.157.2016.02.19.17.13.57; Fri, 19 Feb 2016 17:13:57 -0800 (PST) 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; dkim=pass header.i=@gmail.com; dmarc=pass (p=NONE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1428935AbcBTBNu (ORCPT + 30 others); Fri, 19 Feb 2016 20:13:50 -0500 Received: from mail-pf0-f172.google.com ([209.85.192.172]:36525 "EHLO mail-pf0-f172.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1948994AbcBTBNc (ORCPT ); Fri, 19 Feb 2016 20:13:32 -0500 Received: by mail-pf0-f172.google.com with SMTP id e127so59947589pfe.3; Fri, 19 Feb 2016 17:13:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=EhmRr8E61ReQyTyvzBE2Vh07uvVP58myEWiV03+r5nY=; b=ogr4zDOQWW5OVUpxta7tVYIy2vTvjdO9KswJUiJ7Vfwmymiu8/UTdzKWdhmigLJLDe 02QvIBFt0uBWFzfy7d//UExAX9V8yM5Ks86RBrcl521BsIcXYzhybEU0UeH1iYeVB7uq LifJd1FbjvBg2ITcmVdn8/i+B601nwWznZ2PrXiCRmwXrlTidmLBhND52ZU2UlL9WAo0 ewBat4BfYHlcxVZjSJBW9UQ7YwDZsskdFN+xKEfzGApQb7CqIBNftaZECtZWL64Ouojh tCW/Ajqu8P0h+Rz1A+c7syqQdiBQP740/RTNYUjo19LiiKWmEiIn4LSTMco704kov8C0 wXrQ== 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=EhmRr8E61ReQyTyvzBE2Vh07uvVP58myEWiV03+r5nY=; b=lRb3aJJOLuu75hoioMtGJCiw9lNSVh7We3dVPLNxGpW5R8kifJ5XMo5lPwCHaE/R+q 6DDK5WsR5GBf7iDUQtLT82cJL36FGyMDjb8voVN0QkVVK5/c169xco4GFvObpKWtBS/s TSUPa54cTq2uElOAzhx5wqk2FL0NJKhnaingDlAvOYwYU1Js29xW2OWoyXCLrD7EX5Uj Scw+f8LhIQuPjQJeI5aivyv3RkjZtCXv75Qd6klmwusVUdHelJjtgwlgBsP3xUebUW+U wUn4ZcVLlDJ24NcobOeHHrLw/TyXgB3EGXy7GEAR7CWgMdQ97yhwfyF/7YSlfWL/Z4gG BD3Q== X-Gm-Message-State: AG10YORsKfhPZSgSwzDNnBMKqSCoqf+yUEP5vs6a0yZBrILrBAXEkdL4lZtbBayWHKM0SQ== X-Received: by 10.98.89.4 with SMTP id n4mr21716470pfb.81.1455930811122; Fri, 19 Feb 2016 17:13:31 -0800 (PST) Received: from dl.caveonetworks.com ([64.2.3.194]) by smtp.gmail.com with ESMTPSA id 74sm20366675pfs.33.2016.02.19.17.13.27 (version=TLS1 cipher=AES128-SHA bits=128/128); Fri, 19 Feb 2016 17:13:27 -0800 (PST) Received: from dl.caveonetworks.com (localhost.localdomain [127.0.0.1]) by dl.caveonetworks.com (8.14.5/8.14.5) with ESMTP id u1K1DQfk005418; Fri, 19 Feb 2016 17:13:26 -0800 Received: (from ddaney@localhost) by dl.caveonetworks.com (8.14.5/8.14.5/Submit) id u1K1DQhI005417; Fri, 19 Feb 2016 17:13:26 -0800 From: David Daney To: Will Deacon , linux-arm-kernel@lists.infradead.org, Rob Herring , Pawel Moll , Mark Rutland , Ian Campbell , Kumar Gala , devicetree@vger.kernel.org, Ard Biesheuvel , Frank Rowand , Grant Likely , Catalin Marinas , Matt Fleming , linux-efi@vger.kernel.org, Ganapatrao Kulkarni , Robert Richter Cc: linux-kernel@vger.kernel.org, David Daney Subject: [PATCH v11 01/10] of/fdt: make generic early_init_dt_add_memory_arch() a weak alias Date: Fri, 19 Feb 2016 17:13:10 -0800 Message-Id: <1455930799-5371-2-git-send-email-ddaney.cavm@gmail.com> X-Mailer: git-send-email 1.7.11.7 In-Reply-To: <1455930799-5371-1-git-send-email-ddaney.cavm@gmail.com> References: <1455930799-5371-1-git-send-email-ddaney.cavm@gmail.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Ard Biesheuvel The function early_init_dt_add_memory_arch() is defined as __weak so that archs can override it. However, in this override implementation, it may still be useful to invoke the generic implementation, so instead, rename the generic version to early_init_dt_add_memory() and turn the original definition into a weak alias. This way, the generic version can still be called even in the presence of an arch specific override. Signed-off-by: Ard Biesheuvel Signed-off-by: Robert Richter Signed-off-by: David Daney --- drivers/of/fdt.c | 7 +++++-- include/linux/of_fdt.h | 1 + 2 files changed, 6 insertions(+), 2 deletions(-) -- 1.8.3.1 diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c index 655f79d..cba8281 100644 --- a/drivers/of/fdt.c +++ b/drivers/of/fdt.c @@ -980,7 +980,7 @@ int __init early_init_dt_scan_chosen(unsigned long node, const char *uname, #define MAX_MEMBLOCK_ADDR ((phys_addr_t)~0) #endif -void __init __weak early_init_dt_add_memory_arch(u64 base, u64 size) +void __init early_init_dt_add_memory(u64 base, u64 size) { const u64 phys_offset = __pa(PAGE_OFFSET); @@ -1038,7 +1038,7 @@ void * __init __weak early_init_dt_alloc_memory_arch(u64 size, u64 align) return __va(memblock_alloc(size, align)); } #else -void __init __weak early_init_dt_add_memory_arch(u64 base, u64 size) +void __init early_init_dt_add_memory(u64 base, u64 size) { WARN_ON(1); } @@ -1058,6 +1058,9 @@ void * __init __weak early_init_dt_alloc_memory_arch(u64 size, u64 align) } #endif +__weak __alias(early_init_dt_add_memory) +void early_init_dt_add_memory_arch(u64 base, u64 size); + bool __init early_init_dt_verify(void *params) { if (!params) diff --git a/include/linux/of_fdt.h b/include/linux/of_fdt.h index df9ef38..463a06b 100644 --- a/include/linux/of_fdt.h +++ b/include/linux/of_fdt.h @@ -65,6 +65,7 @@ extern int early_init_dt_scan_memory(unsigned long node, const char *uname, int depth, void *data); extern void early_init_fdt_scan_reserved_mem(void); extern void early_init_fdt_reserve_self(void); +extern void early_init_dt_add_memory(u64 base, u64 size); extern void early_init_dt_add_memory_arch(u64 base, u64 size); extern int early_init_dt_reserve_memory_arch(phys_addr_t base, phys_addr_t size, bool no_map);