From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 9E91BC7618A for ; Mon, 20 Mar 2023 07:32:10 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 8841485283; Mon, 20 Mar 2023 08:32:08 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=linaro.org 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=linaro.org header.i=@linaro.org header.b="cOB+c7ZR"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id E4DF885AC0; Mon, 20 Mar 2023 08:32:05 +0100 (CET) Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com [IPv6:2a00:1450:4864:20::535]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 22E0B83A35 for ; Mon, 20 Mar 2023 08:32:01 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=ilias.apalodimas@linaro.org Received: by mail-ed1-x535.google.com with SMTP id o12so42852905edb.9 for ; Mon, 20 Mar 2023 00:32:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1679297520; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=EdYk3/LEqmiYpsg7IIIpdwV8dn2NYmS7+583o4w5f0s=; b=cOB+c7ZRz/VOcoTB10YvkXS1xiboEGIyD4Sq96YcPvzFnjG2dt1Z2EQ8vyvtkLfOh5 2RHyMN8zcyXi3gHGk1j9msPfKzvuR+NymtdykWBOF6WHmM7RId14CK5jNJ0ZMSeC1rop hr52Rmu7gWBLqhmmPhWuwGG7CRvDJ6mOjiGjSpww8uPhdofTx/IV22oQqVsJGcjM+Wl4 7SwGdyV8JPXB5o+FF1e/A6emI9lBIACbjiUcEKLtHbTBQQadgW1vw1JzR7HTQwUL4CoH ROp9dBYTHzBEF7GAj6+XB5pJSYA7EXjPUEd3D4MJhOOaUyE938FjqvFYQJZg5fwHP5Sk 5gow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679297520; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=EdYk3/LEqmiYpsg7IIIpdwV8dn2NYmS7+583o4w5f0s=; b=LDIdXc8JOCDDbNmt2VPL++hMGnP/KQ129mJemKc/NuYvgtpdLt2BXr65/yvqjeU0Vv NLUcnWDm8PDjPHPj/ghn84BPUyQ6gSiLhvyi9hoxuhj9XVsKn+31uMbnngR7J0TWsCRg GTvma2dmgoaQU+SxCGDaiPyMhpgIBUR6/Y+Ju9z+j52Zmztu1pI/OcFQaodAdEeWp1di LD0U5GOQbxOfM63OoUl6kqdN7sZiV9fIHzKZHa2Fr76/fgP3fwly30UI+WS5vg0jayXe +srYRUQft4na2lpDSEvbP9n2XoPvUImPcHpXPjm6A/pqUNoH/m0z2PGQSg+8TriMPW9E kUTA== X-Gm-Message-State: AO0yUKUSZ7TWTatT/4LSmU3KEbR3gPemSzt3Fs5q+98k3RNd0hUcgozy kQVcmAkxDB2gLP48oj94ggiezg== X-Google-Smtp-Source: AK7set8s82FqgOgpeW98j6RBtyRtRHsk4R15ZfTVM7X7bT+HN7A2RJNqPGTSLdOHAyEdEpQ78BKJ1Q== X-Received: by 2002:a17:906:318b:b0:8dd:76d5:a82 with SMTP id 11-20020a170906318b00b008dd76d50a82mr7700219ejy.47.1679297520650; Mon, 20 Mar 2023 00:32:00 -0700 (PDT) Received: from hera (ppp176092130041.access.hol.gr. [176.92.130.41]) by smtp.gmail.com with ESMTPSA id v8-20020a1709063bc800b0093341746105sm2234214ejf.117.2023.03.20.00.31.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Mar 2023 00:32:00 -0700 (PDT) Date: Mon, 20 Mar 2023 09:31:58 +0200 From: Ilias Apalodimas To: Simon Glass Cc: U-Boot Mailing List , AKASHI Takahiro , Heinrich Schuchardt Subject: Re: [PATCH v2] disk: Use a helper function to reduce duplication Message-ID: References: <20230319192957.1084530-1-sjg@chromium.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230319192957.1084530-1-sjg@chromium.org> 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 Hi Simon, Patch looks good, but isn't the new function name a bit misleading? Something like blk_part_find_start() sounds a bit more descriptive, or am I missing something? Cheers /Ilias On Mon, Mar 20, 2023 at 08:29:57AM +1300, Simon Glass wrote: > Reduce the duplicated code slightly by using a helper function to handle > the common code. > > This reduces the code size very slightly. > > Signed-off-by: Simon Glass > --- > > Changes in v2: > - Rebase to -next > > disk/disk-uclass.c | 46 +++++++++++++++++++++++++--------------------- > 1 file changed, 25 insertions(+), 21 deletions(-) > > diff --git a/disk/disk-uclass.c b/disk/disk-uclass.c > index d32747e2242d..7f1fd80b2248 100644 > --- a/disk/disk-uclass.c > +++ b/disk/disk-uclass.c > @@ -65,26 +65,38 @@ int part_create_block_devices(struct udevice *blk_dev) > return 0; > } > > +static int blk_part_setup(struct udevice *dev, lbaint_t *startp, > + lbaint_t blkcnt) > +{ > + struct disk_part *part; > + > + part = dev_get_uclass_plat(dev); > + if (*startp >= part->gpt_part_info.size) > + return -E2BIG; > + > + if (*startp + blkcnt > part->gpt_part_info.size) > + blkcnt = part->gpt_part_info.size - *startp; > + *startp += part->gpt_part_info.start; > + > + return 0; > +} > + > static ulong part_blk_read(struct udevice *dev, lbaint_t start, > lbaint_t blkcnt, void *buffer) > { > struct udevice *parent; > - struct disk_part *part; > const struct blk_ops *ops; > + int ret; > > parent = dev_get_parent(dev); > ops = blk_get_ops(parent); > if (!ops->read) > return -ENOSYS; > > - part = dev_get_uclass_plat(dev); > - if (start >= part->gpt_part_info.size) > + ret = blk_part_setup(dev, &start, blkcnt); > + if (ret) > return 0; > > - if ((start + blkcnt) > part->gpt_part_info.size) > - blkcnt = part->gpt_part_info.size - start; > - start += part->gpt_part_info.start; > - > return ops->read(parent, start, blkcnt, buffer); > } > > @@ -92,22 +104,18 @@ static ulong part_blk_write(struct udevice *dev, lbaint_t start, > lbaint_t blkcnt, const void *buffer) > { > struct udevice *parent; > - struct disk_part *part; > const struct blk_ops *ops; > + int ret; > > parent = dev_get_parent(dev); > ops = blk_get_ops(parent); > if (!ops->write) > return -ENOSYS; > > - part = dev_get_uclass_plat(dev); > - if (start >= part->gpt_part_info.size) > + ret = blk_part_setup(dev, &start, blkcnt); > + if (ret) > return 0; > > - if ((start + blkcnt) > part->gpt_part_info.size) > - blkcnt = part->gpt_part_info.size - start; > - start += part->gpt_part_info.start; > - > return ops->write(parent, start, blkcnt, buffer); > } > > @@ -115,22 +123,18 @@ static ulong part_blk_erase(struct udevice *dev, lbaint_t start, > lbaint_t blkcnt) > { > struct udevice *parent; > - struct disk_part *part; > const struct blk_ops *ops; > + int ret; > > parent = dev_get_parent(dev); > ops = blk_get_ops(parent); > if (!ops->erase) > return -ENOSYS; > > - part = dev_get_uclass_plat(dev); > - if (start >= part->gpt_part_info.size) > + ret = blk_part_setup(dev, &start, blkcnt); > + if (ret) > return 0; > > - if ((start + blkcnt) > part->gpt_part_info.size) > - blkcnt = part->gpt_part_info.size - start; > - start += part->gpt_part_info.start; > - > return ops->erase(parent, start, blkcnt); > } > > -- > 2.40.0.rc1.284.g88254d51c5-goog >