From patchwork Fri Jan 12 14:40:33 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?UmFmYcWCIE1pxYJlY2tp?= X-Patchwork-Id: 859978 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.infradead.org (client-ip=65.50.211.133; helo=bombadil.infradead.org; envelope-from=linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="thqU9fJg"; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="oMlUxk8v"; dkim-atps=neutral Received: from bombadil.infradead.org (bombadil.infradead.org [65.50.211.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3zJ56P1pBKz9sNw for ; Sat, 13 Jan 2018 01:41:33 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=hK6b1oQblh5+OFjwOprSQjjumfjyT5MGvDx/NZxNgXI=; b=thqU9fJgnzcHqT qOEnqskttr2oDt6yphm9ZBokXOYAdbPVkfWvwfAs4G9BMfNaKXKDuYMGhmBryuFk7Al58Fv9rxcR5 XJekCg4uj/ozNz8F8C5XT0jPEzz5DomRPPxvCvXAhClHlsS8i4+NtUeyxXx3Tg2GUTxyuUXWj9FnC yY1cR2XXSnFLvgrzz2r6rVQ7aqW9Y8GgPXJ3zy8veIy4yQ5mpH0Fq8qTrPIkk4ZY+O97+R2Eu/oxf r1zKj+18zDCiBSaE/Gcbc2pnM7eWewpz2GCnRd3bXexH8GMt3m/V0YwAmEDx10/r/X9nV21Lg+p8F QCpFawuDm0XE0HoL7TCQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.89 #1 (Red Hat Linux)) id 1ea0WP-0007Hl-GL; Fri, 12 Jan 2018 14:41:29 +0000 Received: from mail-lf0-x244.google.com ([2a00:1450:4010:c07::244]) by bombadil.infradead.org with esmtps (Exim 4.89 #1 (Red Hat Linux)) id 1ea0W1-0006bL-5G for linux-mtd@lists.infradead.org; Fri, 12 Jan 2018 14:41:06 +0000 Received: by mail-lf0-x244.google.com with SMTP id f3so6184306lfe.4 for ; Fri, 12 Jan 2018 06:40:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=xEBeG6dAqRjx6u9Rmpb9+2P9eM6Gz/aUgWrWdM9foXU=; b=oMlUxk8vTu7UWSMw7xPYvStyWlifBIvtG4mKpavHgJ88xy6+XZ+c0dQvWFz/JzpLvF IBnU/FNme4P6sAoNxfBa1sfSwDi2ZMSVrZmr6PnULNkpVovu+s2QOCriK9iffTF9AAgd pviopgInmiyA4Kj6jlnJUMFPxw6Wfx2Ql0+OVwZ6SxInoYlzWtonsIfFjAA6X3a/NVwj HsMRJUiB/C7qgf2A8+h3lexzGI7nJicJOkaSB8zPN26F4R8oVETIQMjgxwl2J7sMXTQL 9Q8ubikB/ey65zci7ZQfpaTg4krUF8BG+u4MmlEEpayqjh+HU+OMnRR3u0NVZpPvQiIR G6ug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=xEBeG6dAqRjx6u9Rmpb9+2P9eM6Gz/aUgWrWdM9foXU=; b=CYj2/ixU9pJ2NHN8igNsJopySiNSIUXWXJAjzdR+gFQJDgrEXyyijxCQ7HFROGNRV9 ro9mLTEOEKj7yOn39Lv6BIaIAa4VP+yfhk+zf7ynbkHhxSW8WO6M1wxLMn3F2E1ukO8q fH6iGtHQRN4d1aS2Gq/a0TSTjmA7PA6fpGVHYtzrglj+jbod/hDFRxgKktXTyTk9vtQz GYeBBQJoE8Fhardrj5SxffbaaeTR1AYomMcXK+sHuFeJAO2rpgsvsU90VhQTwCjenB5C o8cPKey1IA/rlw5T7ONaVuRNf8ZfM6kSKUcCUdDIX3lzjEOKDaiNzuBDHaGBwELXe3Wc sMfA== X-Gm-Message-State: AKwxytd48rqHlq1IMyuxgQaOeUpJ/mxgmJge9X7NaFAFD+VkxHLsSXl/ 2nMt7a7AVVKeNAEAoaA67rg= X-Google-Smtp-Source: ACJfBouztJveA4noiK/XNRv920CxrdPRnWHQGn6CWrF3Lsc/wIDxsHKGVhiD9GRMwW3ldC8rYvX+3Q== X-Received: by 10.46.3.9 with SMTP id 9mr7393584ljd.27.1515768051901; Fri, 12 Jan 2018 06:40:51 -0800 (PST) Received: from linux-samsung.lan (ip-194-187-74-233.konfederacka.maverick.com.pl. [194.187.74.233]) by smtp.gmail.com with ESMTPSA id e72sm4400469lji.63.2018.01.12.06.40.50 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 12 Jan 2018 06:40:51 -0800 (PST) From: =?utf-8?b?UmFmYcWCIE1pxYJlY2tp?= To: Brian Norris , David Woodhouse , Boris Brezillon , Marek Vasut , Richard Weinberger , Cyrille Pitchen Subject: [PATCH 1/2] mtd: move code adding master MTD out of mtd_add_device_partitions Date: Fri, 12 Jan 2018 15:40:33 +0100 Message-Id: <20180112144034.6655-2-zajec5@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20180112144034.6655-1-zajec5@gmail.com> References: <20180112144034.6655-1-zajec5@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20180112_064105_277115_4DB52EF1 X-CRM114-Status: GOOD ( 15.20 ) X-Spam-Score: -1.8 (-) X-Spam-Report: SpamAssassin version 3.4.1 on bombadil.infradead.org summary: Content analysis details: (-1.8 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [2a00:1450:4010:c07:0:0:0:244 listed in] [list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (zajec5[at]gmail.com) 0.2 FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends in digit (zajec5[at]gmail.com) -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?utf-8?b?UmFmYcWCIE1pxYJlY2tp?= , linux-mtd@lists.infradead.org, Jonas Gorski Sender: "linux-mtd" Errors-To: linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org From: Rafał Miłecki This change is a small cleanup of mtd_device_parse_register. When using MTD_PARTITIONED_MASTER it makes sure a master MTD is registered before dealing with partitions. There are 2 advantages of this: 1) Not mixing code handling master MTD with code handling partitions 2) Possibility of reusing mtd_parse_part in the future to avoid some code duplication. This commit doesn't change any behavior except from a slightly different failure code path. The new code may need to call del_mtd_device when something goes wrong. Signed-off-by: Rafał Miłecki --- drivers/mtd/mtdcore.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/drivers/mtd/mtdcore.c b/drivers/mtd/mtdcore.c index f80e911b8843..f6460862e2ad 100644 --- a/drivers/mtd/mtdcore.c +++ b/drivers/mtd/mtdcore.c @@ -641,20 +641,12 @@ static int mtd_add_device_partitions(struct mtd_info *mtd, { const struct mtd_partition *real_parts = parts->parts; int nbparts = parts->nr_parts; - int ret; - if (nbparts == 0 || IS_ENABLED(CONFIG_MTD_PARTITIONED_MASTER)) { - ret = add_mtd_device(mtd); - if (ret) - return ret; - } + if (nbparts == 0 && !IS_ENABLED(CONFIG_MTD_PARTITIONED_MASTER)) + return add_mtd_device(mtd); - if (nbparts > 0) { - ret = add_mtd_partitions(mtd, real_parts, nbparts); - if (ret && IS_ENABLED(CONFIG_MTD_PARTITIONED_MASTER)) - del_mtd_device(mtd); - return ret; - } + if (nbparts > 0) + return add_mtd_partitions(mtd, real_parts, nbparts); return 0; } @@ -714,6 +706,12 @@ int mtd_device_parse_register(struct mtd_info *mtd, const char * const *types, mtd_set_dev_defaults(mtd); + if (IS_ENABLED(CONFIG_MTD_PARTITIONED_MASTER)) { + ret = add_mtd_device(mtd); + if (ret) + return ret; + } + memset(&parsed, 0, sizeof(parsed)); ret = parse_mtd_partitions(mtd, types, &parsed, parser_data); @@ -753,6 +751,8 @@ int mtd_device_parse_register(struct mtd_info *mtd, const char * const *types, out: /* Cleanup any parsed partitions */ mtd_part_parser_cleanup(&parsed); + if (ret && IS_ENABLED(CONFIG_MTD_PARTITIONED_MASTER)) + del_mtd_device(mtd); return ret; } EXPORT_SYMBOL_GPL(mtd_device_parse_register);