From patchwork Sun Mar 19 18:59:27 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 740732 X-Patchwork-Delegate: bmeng.cn@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3vmT2w0D1dz9s3l for ; Mon, 20 Mar 2017 06:01:59 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.b="N9A1PV+W"; dkim-atps=neutral Received: by lists.denx.de (Postfix, from userid 105) id 9E500C21C53; Sun, 19 Mar 2017 19:00:42 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 1B719C21C49; Sun, 19 Mar 2017 19:00:18 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 2CF12C21C74; Sun, 19 Mar 2017 19:00:11 +0000 (UTC) Received: from mail-oi0-f54.google.com (mail-oi0-f54.google.com [209.85.218.54]) by lists.denx.de (Postfix) with ESMTPS id 46C07C21C4A for ; Sun, 19 Mar 2017 19:00:07 +0000 (UTC) Received: by mail-oi0-f54.google.com with SMTP id w81so14072450oig.1 for ; Sun, 19 Mar 2017 12:00:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=0/kQBNWnoM5sN92rYJ8e2LlYbW9VI/TygG/1fHEmETo=; b=N9A1PV+WrvBcNylXxBanNnzqgk0Y87jujS2fbnf2WfCvdUEnL1ZkJGn09Bk6RyIcTb 0iBWCZHQdJiZ47C8iaho+XumbOq6PH1Zr5MvfkbtdFEuEyIS3qWVfTl1TsThbMrtr46q 03wKK2zDXhaVmiWowtaVVPrv+PsVjJoli210/pRXoN9/WeKsKb2pyOYLJOC/AmJoKLKh 1APa/Iam930HLadvPbSwVLUyqDtPNtnySZpPAIFWyB8aCUabgNU28v/FkBv8UZDYdilo xVAHa19pn3aViUrcKadXp461YINyduC5BPV5aX0rhch9+D21sXg4jUNXZu1J2MTsUDUR 2n1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=0/kQBNWnoM5sN92rYJ8e2LlYbW9VI/TygG/1fHEmETo=; b=axm7QC1TyQ2XIi8ImS3eirFHF72sMNkQmMUtHPUkmIbINQg5FgsDRFKrzD+mY0apj1 k23BlNUkorgEFYGfbgK4jwKvs5IHpw/WHtZFjn9/CxrbYyxkp5zenQ/GTmYIJ+WUqtxR U6wyDELlPvNx35Wv7QuR3KHPSu0uIvJvg4rmg//tKicrVyIsK+8bV9d9/QpST6YT7Dki iuG76QWiOo/Mkr3WvgFHkfxA3BpKHhpCSghJp4p5bei1M++0W9022Y0xuTXAbfEzU9AI vYVBL0HDypj8TOcWYpyL0JlOVygL+L9+14CCvZroZBTJwPd5wlwkwYgwNG4lmRFyh0m3 Uy8g== X-Gm-Message-State: AFeK/H1ZYGsq4C9273o48/wxgdgeOaCGKVye8f4YmorZuWEZcGUI1YsJwabBpxgJ9S4vp2ux X-Received: by 10.202.5.4 with SMTP id 4mr5259676oif.141.1489950006002; Sun, 19 Mar 2017 12:00:06 -0700 (PDT) Received: from kaki.bld.corp.google.com ([100.100.184.105]) by smtp.gmail.com with ESMTPSA id o126sm439023oia.1.2017.03.19.12.00.05 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 19 Mar 2017 12:00:05 -0700 (PDT) Received: by kaki.bld.corp.google.com (Postfix, from userid 121222) id D062A40083; Sun, 19 Mar 2017 13:00:04 -0600 (MDT) From: Simon Glass To: U-Boot Mailing List Date: Sun, 19 Mar 2017 12:59:27 -0600 Message-Id: <20170319185935.20950-9-sjg@chromium.org> X-Mailer: git-send-email 2.12.0.367.g23dc2f6d3c-goog In-Reply-To: <20170319185935.20950-1-sjg@chromium.org> References: <20170319185935.20950-1-sjg@chromium.org> Cc: Tom Rini , Angelo Dureghello , Chris Zankel Subject: [U-Boot] [PATCH 08/16] dm: sandbox: Convert to using driver-model baord init X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Adjust the existing hooks to use a driver instead. Signed-off-by: Simon Glass --- arch/Kconfig | 3 +++ board/sandbox/sandbox.c | 44 ++++++++++++++++++++++++++++++++++++++------ 2 files changed, 41 insertions(+), 6 deletions(-) diff --git a/arch/Kconfig b/arch/Kconfig index 76c690f667..f07070db18 100644 --- a/arch/Kconfig +++ b/arch/Kconfig @@ -64,6 +64,9 @@ config SANDBOX bool "Sandbox" select BOARD_LATE_INIT select SUPPORT_OF_CONTROL + select BOARD + select SPL_BOARD + select BOARD_ENABLE select DM select DM_KEYBOARD select DM_SPI_FLASH diff --git a/board/sandbox/sandbox.c b/board/sandbox/sandbox.c index b41e9decb3..1eea20cbcb 100644 --- a/board/sandbox/sandbox.c +++ b/board/sandbox/sandbox.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include @@ -41,12 +42,6 @@ unsigned long timer_read_counter(void) } #endif -int dram_init(void) -{ - gd->ram_size = CONFIG_SYS_SDRAM_SIZE; - return 0; -} - #ifdef CONFIG_BOARD_LATE_INIT int board_late_init(void) { @@ -63,3 +58,40 @@ int board_late_init(void) return 0; } #endif + +static int sandbox_phase(struct udevice *dev, enum board_phase_t phase) +{ + struct sandbox_state *state = state_get_current(); + + switch (phase) { + case BOARD_F_DRAM_INIT: + gd->ram_size = state->ram_size; + return 0; + default: + return -ENOSYS; + } + + return 0; +} + +static int sandbox_board_probe(struct udevice *dev) +{ + return board_support_phase(dev, BOARD_F_DRAM_INIT); +} + +static const struct board_ops sandbox_board_ops = { + .phase = sandbox_phase, +}; + +/* Name this starting with underscore so it will be called last */ +U_BOOT_DRIVER(_sandbox_board_drv) = { + .name = "sandbox_board", + .id = UCLASS_BOARD, + .ops = &sandbox_board_ops, + .probe = sandbox_board_probe, + .flags = DM_FLAG_PRE_RELOC, +}; + +U_BOOT_DEVICE(sandbox_board) = { + .name = "sandbox_board", +};