Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp698542ybz; Fri, 17 Apr 2020 08:28:05 -0700 (PDT) X-Google-Smtp-Source: APiQypK0B5TNlV4nyZz/H2E0QgktR8CT/RD49+xBBldGPOYCHx7XcgL/lcvLQGp8EjgBHLbvY/N+ X-Received: by 2002:a17:906:680b:: with SMTP id k11mr3613562ejr.46.1587137285235; Fri, 17 Apr 2020 08:28:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587137285; cv=none; d=google.com; s=arc-20160816; b=sRJz63B+9Vtl9MKwypmDYTYH1Wr8pUg4CBD+xTbgqm2eO5+dlsmTeB7eMs8Xx8dAeS cPofArPm867SFv7HtkOaXhRpEPz9IMkD41RUEhB0CIs7qumGcedMx4AbbWWKlMDYOWEK onaulBhHYgnar+fK5t+6Rkh+wMazYIsvkLYFImYZAwdEVYllrgIJW6YZ4k4O8asTqK4a WLSUJt3bot9oYb3yBqXwWncNbI12o5tLrq6c9fE406C4k+0OMb658mXfxbyZuYAr87RC FU76jSQi2mrCBKLbKZRGQ0OlvmGseJCH9JxXTcIMfqsdxFjtdc4J7zG6B9PKCC/DZFh5 9GIA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:to:content-transfer-encoding:mime-version :message-id:date:subject:cc:from:dkim-signature; bh=DH5AjWb5Y/HC4rBu1O6z9vHzFuPiXlFK1AmlrEvjj1A=; b=xwLG5RjGd/Kp6OTjD+V2EdXXKou7OjfGzKSWfBSWymfGREPPDVSOHMh1H9m4cl9jCD 5YAWFGKfrlXd61oXtyEIqUWwxKhqNdBFCKJwustTvN2DDruj/X5oTBQFJ2MBwqX0VHix /Y03r5Fh5a5t+f/lwPwAmA/i70h58cj3tANk8YZbDhz93CrXQRGrW9pyr7sdKKgTWO8y s6Hm7qzMY53G+0neKFjTNZtSjGCdFaD7IxJDBuTliYLBFxVGgXIWTHdhM7II4izOJNvc Zo27m/SuTJ6kocvXA69WWTBltDYbkhH2KqY9CDbCCnq6fk00vskvT7ojuuM+7gQ8SHhH q3RQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=AJHNPZGa; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id l24si12480629eja.496.2020.04.17.08.27.41; Fri, 17 Apr 2020 08:28:05 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=AJHNPZGa; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729067AbgDQP0k (ORCPT + 99 others); Fri, 17 Apr 2020 11:26:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44256 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1728542AbgDQP0j (ORCPT ); Fri, 17 Apr 2020 11:26:39 -0400 Received: from mail-pf1-x441.google.com (mail-pf1-x441.google.com [IPv6:2607:f8b0:4864:20::441]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A343BC061A0C for ; Fri, 17 Apr 2020 08:26:39 -0700 (PDT) Received: by mail-pf1-x441.google.com with SMTP id d1so1217755pfh.1 for ; Fri, 17 Apr 2020 08:26:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=DH5AjWb5Y/HC4rBu1O6z9vHzFuPiXlFK1AmlrEvjj1A=; b=AJHNPZGamNVhXj58t/rjjOmLiPwPhdg3Cmlp2SvMNpyIAXJg83bmi/2+TShr3PED4q Q+oIbSREwdqz6sKTkYNsDy+2g4NVIFHK+hEsTnRDyahOhREzVwCiKh4u1+/RYg+wzQOQ bvycfFGUVNCpF049Gd0ffo45Z61vIZ0AKjf6DNu+s1orFIeOqJKxRc4JOO2TozTMxLwX 1GA/U1Hei91bRTglzUEw1StxZv3zDkxxZSzbThVAcXHfhyi6nDj5iRnX+q/TmiEd8yaL 8GdEOVaSOQNcRMwbq62nPCxZN4zgYtesoUzRZgo0yaBpnCECDPgQWaIutlScWzOL7mfV Xoug== 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:mime-version :content-transfer-encoding; bh=DH5AjWb5Y/HC4rBu1O6z9vHzFuPiXlFK1AmlrEvjj1A=; b=ev0jyNvdc8XHbP6uh2tM/e0CG+Sm8RbEDytHoX5wNtVBfzVi71AS0D9+HUwviJ6JMh NzkkSOo389TF/7S0yoQjzEYF1JaJsqnxUtlwID8fDo2twBveC0iYoE5NbqiHUtAUh8Tw x8bRZVPaYsrwbzjxgYx5RODHREBPYQts5cXxsmYmixmrL61gaOeGQ/tFQt1eNgfRczbz R9kk8gQCuwaQF+faM8E6OkV2EQqmBmR0nYUjiOfs5CheZtfbAd5sazrSWBT3IiDIjPAW FE/VrG2QgMTFdaXH1Ds1wKy5oYvatX/JFgH6gUJ27j7msFmYsrA07bbv1Y7f2/Ul+I3q Hajg== X-Gm-Message-State: AGi0PuZNY6FY/zdKFs2gmgFOBgvBr0aP78TPgnDGgjQidNqNzdDzpSrR xA2hqFyv76lnRpkRZ+tQyUQ= X-Received: by 2002:aa7:9f93:: with SMTP id z19mr3832007pfr.187.1587137199052; Fri, 17 Apr 2020 08:26:39 -0700 (PDT) Received: from minnich.svl.corp.google.com ([2620:15c:2c5:3:65f9:fd8e:a0b8:2917]) by smtp.googlemail.com with ESMTPSA id z6sm18265299pgg.39.2020.04.17.08.26.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Apr 2020 08:26:38 -0700 (PDT) From: "Ronald G. Minnich" X-Google-Original-From: "Ronald G. Minnich" Cc: "Ronald G. Minnich" , Tudor Ambarus , Miquel Raynal , Richard Weinberger , Vignesh Raghavendra , Mika Westerberg , Boris Brezillon , Jethro Beekman , Greg Kroah-Hartman , Alexander Sverdlin , Thomas Gleixner , linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH] mtd: spi-nor: controllers: intel-spi: Add support for command line partitions Date: Fri, 17 Apr 2020 08:26:11 -0700 Message-Id: <20200417152613.176554-1-rminnich@google.com> X-Mailer: git-send-email 2.26.1.301.g55bc3eb7cb9-goog MIME-Version: 1.0 Content-Transfer-Encoding: 8bit To: unlisted-recipients:; (no To-header on input) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Intel platforms, the usable SPI area is located several MiB in from the start, to leave room for descriptors and the Management Engine binary. Further, not all the remaining space can be used, as the last 16 MiB contains firmware. To make the SPI usable for mtdblock and other devices, it is necessary to enable command line partitions so the middle usable region can be specified. Add a part_probes array which includes only "cmdelineparts", and change to mtd_device_parse_register to use this part_probes. Signed-off-by: Ronald G. Minnich --- drivers/mtd/spi-nor/controllers/intel-spi.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/mtd/spi-nor/controllers/intel-spi.c b/drivers/mtd/spi-nor/controllers/intel-spi.c index 61d2a0ad2131..132129e89d07 100644 --- a/drivers/mtd/spi-nor/controllers/intel-spi.c +++ b/drivers/mtd/spi-nor/controllers/intel-spi.c @@ -894,6 +894,8 @@ static const struct spi_nor_controller_ops intel_spi_controller_ops = { .erase = intel_spi_erase, }; +static const char * const part_probes[] = { "cmdlinepart", NULL }; + struct intel_spi *intel_spi_probe(struct device *dev, struct resource *mem, const struct intel_spi_boardinfo *info) { @@ -941,7 +943,8 @@ struct intel_spi *intel_spi_probe(struct device *dev, if (!ispi->writeable || !writeable) ispi->nor.mtd.flags &= ~MTD_WRITEABLE; - ret = mtd_device_register(&ispi->nor.mtd, &part, 1); + ret = mtd_device_parse_register(&ispi->nor.mtd, part_probes, + NULL, &part, 1); if (ret) return ERR_PTR(ret); -- 2.26.1.301.g55bc3eb7cb9-goog