From patchwork Mon Jul 24 17:12:50 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1811949 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=seco.com header.i=@seco.com header.a=rsa-sha256 header.s=selector1 header.b=EiMAAJnP; dkim=pass (2048-bit key) header.d=seco.com header.i=@seco.com header.a=rsa-sha256 header.s=selector1 header.b=EiMAAJnP; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4R8mwS4Z2hz1yZw for ; Tue, 25 Jul 2023 03:14:00 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 6988B86824; Mon, 24 Jul 2023 19:13:42 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=seco.com header.i=@seco.com header.b="EiMAAJnP"; dkim=pass (2048-bit key) header.d=seco.com header.i=@seco.com header.b="EiMAAJnP"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id B45188677D; Mon, 24 Jul 2023 19:13:38 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2 Received: from EUR02-AM0-obe.outbound.protection.outlook.com (mail-am0eur02on20602.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe13::602]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id ADD9D86808 for ; Mon, 24 Jul 2023 19:13:33 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sean.anderson@seco.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=seco.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5oQpIt4dbFqhKyT81Hud6I40LkZY+P1cCxy/3Z+UBow=; b=EiMAAJnPyKT1aNAp01TQo7HKCCO1YjMGgGMzMG3zg9GtcPg+MPHf9mv+TyYT3FAJMWHQYBgFPvt9zkSYrmhO1tkY8eXWdK4yqYOZB2bX84FUi78LzwfBqS3AGkInuPVUQvw7LHA6t/y9bJ6bFBOWAGzpZvWv0IFxz3G4RXSRIKSLYH/k47UizjLvXQa1b+eYMwc+2xkjFXqIM/Z/MO/Xkyo4QPcBrnr69rdFg5tSZk5Ml/s1Kn7sBgaHRUahmSwQljz2+MzQE8IBT8y4NHLz56zgHS6GquofRJGlBMuJ+3X1uomZFhZYHV12/3OputnNG4jEpxOUqW6FNbW5iuxzCQ== Received: from FR3P281CA0044.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:4a::7) by VI1PR03MB6189.eurprd03.prod.outlook.com (2603:10a6:800:142::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6609.31; Mon, 24 Jul 2023 17:13:30 +0000 Received: from VI1EUR05FT039.eop-eur05.prod.protection.outlook.com (2603:10a6:d10:4a:cafe::ea) by FR3P281CA0044.outlook.office365.com (2603:10a6:d10:4a::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.24 via Frontend Transport; Mon, 24 Jul 2023 17:13:30 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 20.160.56.82) smtp.mailfrom=seco.com; dkim=pass (signature was verified) header.d=seco.com;dmarc=pass action=none header.from=seco.com; Received-SPF: Pass (protection.outlook.com: domain of seco.com designates 20.160.56.82 as permitted sender) receiver=protection.outlook.com; client-ip=20.160.56.82; helo=inpost-eu.tmcas.trendmicro.com; pr=C Received: from inpost-eu.tmcas.trendmicro.com (20.160.56.82) by VI1EUR05FT039.mail.protection.outlook.com (10.233.243.0) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.25 via Frontend Transport; Mon, 24 Jul 2023 17:13:29 +0000 Received: from outmta (unknown [192.168.82.137]) by inpost-eu.tmcas.trendmicro.com (Trend Micro CAS) with ESMTP id 9140F200BB208; Mon, 24 Jul 2023 17:13:29 +0000 (UTC) Received: from EUR04-HE1-obe.outbound.protection.outlook.com (unknown [104.47.13.52]) by repre.tmcas.trendmicro.com (Trend Micro CAS) with ESMTPS id D3B982008006E; Mon, 24 Jul 2023 17:13:25 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Xx/Pm25hgmuzXbdMA32lDNUqGWbOZtvZxcdlklEF3IV4dJWgGyHtSC7lNY4+6pK2vd3DyNm1XQRz+sTRXsNJtZk8uS7o4LKWFmpu+DNgut/VbulfwkAv/3S4j4RzNy03XlCjLE1Q3S8s70tN+TixVPdxev6qpnAd+lAdajDYFT91h4OxG/mYTojK9KFGFWRnAUXwbvzgohqPMiw5kEqHq39D2TuTdM94UlufRW7MlKOtnlizco3Qlbxl1DNNetTiiZA0qyEo3H48UdJGKezEoBNfcbisCXUBiFoD/DzlaZZMHBdIq79NWmlG1BXwd5HgOfaYdk7GSh6CibbwIHgjRw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=5oQpIt4dbFqhKyT81Hud6I40LkZY+P1cCxy/3Z+UBow=; b=EFHGS0qiq0JC0vSrzeaQ8DgecsRCj27tTcbGnBUUEdrGmFe/tp1z6XtNzD1ZudXYXYeVlXrrnp3r/65oYz4C2tev4PoQ13h1/SqGYDs/utqSwdHBxVGvX8OVRUyzi5b12Nraf1dBxPTxSONOyTn60M64BbYuUVeTTr/TKn00EcLRyNA27pV3ZCKTPOsxAst2ttDTMHjvZCfcoMMLLy+QhxMlrKYM5+o7tB0cNK1zahXWrQodlS2zSBsRFbuleu3uwg1JP1WxRZNuO6tYdhIAD9p4pRJAVTDigzSnESSPDkoj5yX++mm15GMIa4lEhhGj1+pPDd4XcCz2Us9gEoCewA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=seco.com; dmarc=pass action=none header.from=seco.com; dkim=pass header.d=seco.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=seco.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5oQpIt4dbFqhKyT81Hud6I40LkZY+P1cCxy/3Z+UBow=; b=EiMAAJnPyKT1aNAp01TQo7HKCCO1YjMGgGMzMG3zg9GtcPg+MPHf9mv+TyYT3FAJMWHQYBgFPvt9zkSYrmhO1tkY8eXWdK4yqYOZB2bX84FUi78LzwfBqS3AGkInuPVUQvw7LHA6t/y9bJ6bFBOWAGzpZvWv0IFxz3G4RXSRIKSLYH/k47UizjLvXQa1b+eYMwc+2xkjFXqIM/Z/MO/Xkyo4QPcBrnr69rdFg5tSZk5Ml/s1Kn7sBgaHRUahmSwQljz2+MzQE8IBT8y4NHLz56zgHS6GquofRJGlBMuJ+3X1uomZFhZYHV12/3OputnNG4jEpxOUqW6FNbW5iuxzCQ== Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=seco.com; Received: from DB9PR03MB8847.eurprd03.prod.outlook.com (2603:10a6:10:3dd::13) by AS8PR03MB6743.eurprd03.prod.outlook.com (2603:10a6:20b:29e::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6609.33; Mon, 24 Jul 2023 17:13:24 +0000 Received: from DB9PR03MB8847.eurprd03.prod.outlook.com ([fe80::65d7:d7d8:711b:2514]) by DB9PR03MB8847.eurprd03.prod.outlook.com ([fe80::65d7:d7d8:711b:2514%5]) with mapi id 15.20.6609.032; Mon, 24 Jul 2023 17:13:24 +0000 From: Sean Anderson To: Tom Rini , u-boot@lists.denx.de Cc: Xavier Drudis Ferran , Simon Glass , Stefan Roese , =?utf-8?q?Pali_Roh=C3=A1r?= , =?utf-8?q?Marek_Beh=C3=BAn?= , Marek Vasut , Heinrich Schuchardt , Sean Anderson Subject: [PATCH v4 3/9] spl: Convert fat to spl_load Date: Mon, 24 Jul 2023 13:12:50 -0400 Message-Id: <20230724171256.914133-4-sean.anderson@seco.com> X-Mailer: git-send-email 2.35.1.1320.gc452695387.dirty In-Reply-To: <20230724171256.914133-1-sean.anderson@seco.com> References: <20230724171256.914133-1-sean.anderson@seco.com> X-ClientProxiedBy: MN2PR15CA0037.namprd15.prod.outlook.com (2603:10b6:208:237::6) To DB9PR03MB8847.eurprd03.prod.outlook.com (2603:10a6:10:3dd::13) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: DB9PR03MB8847:EE_|AS8PR03MB6743:EE_|VI1EUR05FT039:EE_|VI1PR03MB6189:EE_ X-MS-Office365-Filtering-Correlation-Id: a0cce7fe-154d-4e56-1544-08db8c694d59 X-TrendMicro-CAS-OUT-LOOP-IDENTIFIER: 656f966764b7fb185830381c646b41a1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: 9Mpi6Bh+0edG2N6OO0M/ww/fE3+hbIUscpmpWiZLNABzb7jfp1M/xNYwnQMFKAun1Q7f1ETW5gh1amOjSzgHmJ56Tc/qw5Zkp4D0JvOJSUPixMWvlWj8TvgAcw9ss8ubL+JWXmd0MEAyqdujui+jlvaOai5u4f6oJAmSfSSXXZzYtlzWp0qnXVgkdeKRGP7QGDG4arz9rGF2a7dJzCJ0tHX+shGucNXwEPhKxlgkVv6YAx7kML2V40HSE+CZ8JNinuKzKetllTHThqlrmWlbV3KNf9OLX1/r1DlSru5PMC696GFzizE3fVp1lthz1cqniG9DaqBkTyl2IeozQESTmjkGt33mxsokw/XBqVaj71QeVxtZSpfaozxHHoN0hRt7vNgTJHe/r1qlPbgnIGIVEcpXaf2Ju4Smn2kfEipK7P0991HV5NpvzV6Yask5wvZVefjMxCOq7Hs9P+TZ47Dnr+16MBQJE/2ZYgwRNFiWmVvSLMjx90jUucGl3nqrhIFpSXUqrghx+kjv7OBXbGLZGl5+kWc1FkQZ+YkSc27ZP1OF50zWv0yjv11N4gf925oZO753UJ4LW5WjD7iS3LUYQsPXS0RKXotdbcvc7gxoRIFCMk+POC3ZMH56tWoo9FbW X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9PR03MB8847.eurprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(376002)(396003)(136003)(366004)(346002)(39850400004)(451199021)(86362001)(36756003)(2906002)(52116002)(54906003)(478600001)(38350700002)(38100700002)(26005)(186003)(1076003)(2616005)(6506007)(107886003)(41300700001)(44832011)(5660300002)(6666004)(6512007)(6486002)(8676002)(8936002)(66476007)(66556008)(66946007)(316002)(83380400001)(4326008); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB6743 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VI1EUR05FT039.eop-eur05.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 152143f6-abd7-4fb1-4e15-08db8c694a34 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: tsscx8U1VzxG+j85KQfExpCa+gEjhtTuWzixCD4ufPErzztOMCrnTkCYWiFeHdLdWXKVbIX+OcwWla+nGXAudBOGNQ9Up+Zx45CI6BaUYG7PCZqo4BoZQJxlPFS1MokYx+DToZx4BpJ4TeiG8z5uccZSNLky0ZnhPIkGFkhHN6of5wb3OzY3qefPS/lPvg46DAOMbgPNEStHT3uLG3OK5ZncWknU3+/K5BSEwy1qww3X9HWoWEb9xqECckL7QpO1Q9s1aP5KptZ58SkiBEXr/Uahu4uiqFPwmBEPddlzvLt+PKhra4e7ktccuQUvYYkUo2RFLgY+FBZsJZ+tlb6wbVRtITupzqprR4JqwU7s8Hl9rHTt9d5x+Y3S4ZTXtNdRFsZK8s1cNo2qfS0PonQIqgpbqjSiFXf1W6UWQmNpW8DEnKeX3HXUPWKpbSQDvMqHYA4mSpb6KZoJ3Of9z27HY+KsupbiDluIg8DITy7axD8+alvkQQph3ec/ohk8CLKGl0nuoQVW0c1PGir+04huy+hILk9B5vNZn9f0LVbp5Cy97QpGp36DP/SJz8bt1YVcV1zVEDC3hBd/gCRBcH4IQSHJzAD3F4dT/h3YFSInn8eSunWSHkk0cHSwrj7cehYfwYHdxwoEtxHbmbvGXJ1EUIyF89US6xYOKj+EJKd/tjOmGNXCh52yb9X/avrCQ09lP2CMbMl0HICa/YtyVNf1kDEVyLRDIlOMq9KAIIHjnF6GbO+6XZaTwqD30HVRxSyT X-Forefront-Antispam-Report: CIP:20.160.56.82; CTRY:NL; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:inpost-eu.tmcas.trendmicro.com; PTR:inpost-eu.tmcas.trendmicro.com; CAT:NONE; SFS:(13230028)(136003)(376002)(396003)(39850400004)(346002)(82310400008)(451199021)(36840700001)(46966006)(6486002)(6512007)(54906003)(478600001)(6666004)(47076005)(83380400001)(36860700001)(86362001)(36756003)(40480700001)(34070700002)(44832011)(2906002)(2616005)(186003)(6506007)(107886003)(26005)(1076003)(316002)(356005)(7596003)(82740400003)(7636003)(70206006)(70586007)(4326008)(41300700001)(8936002)(336012)(5660300002)(8676002); DIR:OUT; SFP:1101; X-OriginatorOrg: seco.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jul 2023 17:13:29.9414 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a0cce7fe-154d-4e56-1544-08db8c694d59 X-MS-Exchange-CrossTenant-Id: bebe97c3-6438-442e-ade3-ff17aa50e733 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bebe97c3-6438-442e-ade3-ff17aa50e733; Ip=[20.160.56.82]; Helo=[inpost-eu.tmcas.trendmicro.com] X-MS-Exchange-CrossTenant-AuthSource: VI1EUR05FT039.eop-eur05.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR03MB6189 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean This converts the fat loader to use spl_load. Signed-off-by: Sean Anderson Reviewed-by: Stefan Roese --- (no changes since v3) Changes in v3: - Fix failing on success common/spl/spl_fat.c | 40 ++++++++-------------------------------- 1 file changed, 8 insertions(+), 32 deletions(-) diff --git a/common/spl/spl_fat.c b/common/spl/spl_fat.c index f8a5b80a3bd..d04a5575409 100644 --- a/common/spl/spl_fat.c +++ b/common/spl/spl_fat.c @@ -61,6 +61,11 @@ int spl_load_image_fat(struct spl_image_info *spl_image, { int err; struct legacy_img_hdr *header; + struct spl_load_info load = { + .read = spl_fit_read, + .bl_len = 1, + .filename = filename, + }; err = spl_register_fat_device(block_dev, partition); if (err) @@ -72,45 +77,16 @@ int spl_load_image_fat(struct spl_image_info *spl_image, if (err <= 0) goto end; - if (IS_ENABLED(CONFIG_SPL_LOAD_FIT_FULL) && - image_get_magic(header) == FDT_MAGIC) { - err = file_fat_read(filename, (void *)CONFIG_SYS_LOAD_ADDR, 0); - if (err <= 0) - goto end; - err = spl_parse_image_header(spl_image, bootdev, - (struct legacy_img_hdr *)CONFIG_SYS_LOAD_ADDR); - if (err == -EAGAIN) - return err; - if (err == 0) - err = 1; - } else if (IS_ENABLED(CONFIG_SPL_LOAD_FIT) && - image_get_magic(header) == FDT_MAGIC) { - struct spl_load_info load; - - debug("Found FIT\n"); - load.read = spl_fit_read; - load.bl_len = 1; - load.filename = (void *)filename; - load.priv = NULL; - - return spl_load_simple_fit(spl_image, &load, 0, header); - } else { - err = spl_parse_image_header(spl_image, bootdev, header); - if (err) - goto end; - - err = file_fat_read(filename, - (u8 *)(uintptr_t)spl_image->load_addr, 0); - } + err = spl_load(spl_image, bootdev, &load, header, err, 0); end: #ifdef CONFIG_SPL_LIBCOMMON_SUPPORT - if (err <= 0) + if (err < 0) printf("%s: error reading image %s, err - %d\n", __func__, filename, err); #endif - return (err <= 0); + return err; } #if CONFIG_IS_ENABLED(OS_BOOT)