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 X-Spam-Level: X-Spam-Status: No, score=-13.7 required=3.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED,DKIM_SIGNED,DKIM_VALID,FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 975CBC433DB for ; Fri, 12 Mar 2021 13:50:39 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id EE85A64F9E for ; Fri, 12 Mar 2021 13:50:38 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org EE85A64F9E Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-mtd-bounces+linux-mtd=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-Id:Date: Subject:Cc:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=BZUQpKIMXJErrQwzVup4XcIkhMjOLTsGg6WrXd3lNoc=; b=DXWY42C/kWbp7BMALMHl2qlqk Iru5SMXWrFfJx4lWz5wU92Un/COk9lGFpAFV+nUpfQHYkwF9wcyC1aTRvXkj33OtA6yK3DjhW1m73 7Jbc7Hl/bgM9vbXyRx9ASOZDZmKX3A5hPaPuPkLEeO+J2/7yiveoMZTNLk0hwzdQ2yyv9t1IAb79i +oXpFjIiFkhaY7R9Xw4/0dp13pO6yna/TJbNdwKQfHR7j+OgcBK8NKyUn+z+IRNQ/zjpaKDB1EMPb XaDxAPtVegbkCatQfNnnRQM/CJSwtMxXokeIwjuM9XVlI7mBTzbn30rr9ECWvmZMplb7JoHBBwC1R bgAoppTzg==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lKiAj-00BYij-Mb; Fri, 12 Mar 2021 13:49:45 +0000 Received: from mail-lf1-x133.google.com ([2a00:1450:4864:20::133]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lKiAU-00BYho-TG for linux-mtd@lists.infradead.org; Fri, 12 Mar 2021 13:49:34 +0000 Received: by mail-lf1-x133.google.com with SMTP id m22so45825194lfg.5 for ; Fri, 12 Mar 2021 05:49:30 -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=ig/feJqfg6Zk4+Z4VaaTDAGGxi9ON2uvzxTxlPep8Ng=; b=Pop+0/qgodqLeVXPy4/mpIwgtod1OWM0PRrTMbXdi4Qj3ZbtSvOBsSlTuAcR0O8OUV B+X88hjj2FBuaIT49XcmVEeW88dI1ek7No+5JOFjLrymAuvxm1pNndX+mTT5Epqz58Hr p5u4i/RF6m/QPm6kJjjf5aBuf3c6VI00YC2BioNlIpnJTQeVIczGZc7hm4hPBrmW21hv rJahjaalMDOSSxRXummAgpa11nrDogmhDkZLqLNPif0iy1zem8PhXubsZkMnL9DzY+pi eBF/qiif/6tUw6372Kbejj3kOSrNYPHx6kav0z/viVkOCVdq9cPoytRCA8lgvNhgydX1 PEGw== 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=ig/feJqfg6Zk4+Z4VaaTDAGGxi9ON2uvzxTxlPep8Ng=; b=q0e/18N/DLgAsSCDJT9VTns/tRCLTp01AxHixDjPBCHJ3ysldVOczr3rESzRe67Qse k7TKLXkTFhnhSV2RcJXhFKeqD6JZX2vrIruBQLsOywUOe2M5D0ZoHp3KL83YrpJBJwli fipaLe24SqskfN2JKFXUlPw0S088NITjhgcbBLsqiQcRg7BJcBgXTaHy+IsooJG/XeuV RaohGxOlzJ7IFSdz1bFYJuzk6cQYbVpidGMsh3uaIg/T4i36QGPP4omJos41z536n97x 7FjL3j8rLLvq/e23w5vDLVLZqQW0t7G92SoCcALf9PxRYac/Fx+86wdeORvoqBvNZI6s B+EA== X-Gm-Message-State: AOAM530pp3mo/fiQVdZn63gJIwLIF+qq3NOuY+okuWa5tPpyT3I7myft jVqLo4Vq7ae9rN1tSDNd8RU= X-Google-Smtp-Source: ABdhPJzW2/QQiUcxc5Vn2KspsRiqIepsFziS7gL2I7XO06JQCB8gE3mTkvqu8KUK4M7WErehAfYprg== X-Received: by 2002:a05:6512:696:: with SMTP id t22mr5361614lfe.631.1615556970104; Fri, 12 Mar 2021 05:49:30 -0800 (PST) Received: from localhost.lan (ip-194-187-74-233.konfederacka.maverick.com.pl. [194.187.74.233]) by smtp.gmail.com with ESMTPSA id j19sm1741071lfb.15.2021.03.12.05.49.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 12 Mar 2021 05:49:29 -0800 (PST) From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= To: Miquel Raynal , Richard Weinberger , Vignesh Raghavendra , Rob Herring Cc: linux-mtd@lists.infradead.org, devicetree@vger.kernel.org, Vivek Unune , =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Subject: [PATCH 2/2] mtd: parsers: ofpart: support Linksys Northstar partitions Date: Fri, 12 Mar 2021 14:49:19 +0100 Message-Id: <20210312134919.7767-2-zajec5@gmail.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210312134919.7767-1-zajec5@gmail.com> References: <20210312134919.7767-1-zajec5@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210312_134932_044036_B3AD222D X-CRM114-Status: GOOD ( 23.44 ) X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-mtd" Errors-To: linux-mtd-bounces+linux-mtd=archiver.kernel.org@lists.infradead.org RnJvbTogUmFmYcWCIE1pxYJlY2tpIDxyYWZhbEBtaWxlY2tpLnBsPgoKVGhpcyBhbGxvd3MgZXh0 ZW5kaW5nIG9mcGFydCBwYXJzZXIgd2l0aCBzdXBwb3J0IGZvciBMaW5rc3lzIE5vcnRoc3Rhcgpk ZXZpY2VzLiBUaGF0IHN1cHBvcnQgdXNlcyByZWNlbnRseSBhZGRlZCBxdWlya3MgbWVjaGFuaXNt LgoKU2lnbmVkLW9mZi1ieTogUmFmYcWCIE1pxYJlY2tpIDxyYWZhbEBtaWxlY2tpLnBsPgotLS0K IGRyaXZlcnMvbXRkL3BhcnNlcnMvS2NvbmZpZyAgICAgICAgICAgICB8IDEwICsrKysrCiBkcml2 ZXJzL210ZC9wYXJzZXJzL01ha2VmaWxlICAgICAgICAgICAgfCAgMSArCiBkcml2ZXJzL210ZC9w YXJzZXJzL29mcGFydF9jb3JlLmMgICAgICAgfCAgNiArKysKIGRyaXZlcnMvbXRkL3BhcnNlcnMv b2ZwYXJ0X2xpbmtzeXNfbnMuYyB8IDUwICsrKysrKysrKysrKysrKysrKysrKysrKysKIGRyaXZl cnMvbXRkL3BhcnNlcnMvb2ZwYXJ0X2xpbmtzeXNfbnMuaCB8IDE4ICsrKysrKysrKwogNSBmaWxl cyBjaGFuZ2VkLCA4NSBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9t dGQvcGFyc2Vycy9vZnBhcnRfbGlua3N5c19ucy5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVy cy9tdGQvcGFyc2Vycy9vZnBhcnRfbGlua3N5c19ucy5oCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9t dGQvcGFyc2Vycy9LY29uZmlnIGIvZHJpdmVycy9tdGQvcGFyc2Vycy9LY29uZmlnCmluZGV4IDA1 Mjg4NTVjZjZjMS4uOWJhYmU2NzhjNDFiIDEwMDY0NAotLS0gYS9kcml2ZXJzL210ZC9wYXJzZXJz L0tjb25maWcKKysrIGIvZHJpdmVycy9tdGQvcGFyc2Vycy9LY29uZmlnCkBAIC03Niw2ICs3Niwx NiBAQCBjb25maWcgTVREX09GX1BBUlRTX0JDTTQ5MDgKIAkgIHRoYXQgY2FuIGhhdmUgbXVsdGlw bGUgImZpcm13YXJlIiBwYXJ0aXRpb25zLiBJdCB0YWtlcyBjYXJlIG9mCiAJICBmaW5kaW5nIGN1 cnJlbnRseSB1c2VkIG9uZSBhbmQgYmFja3VwIG9uZXMuCiAKK2NvbmZpZyBNVERfT0ZfUEFSVFNf TElOS1NZU19OUworCWJvb2wgIkxpbmtzeXMgTm9ydGhzdGFyIHBhcnRpdGlvbmluZyBzdXBwb3J0 IgorCWRlcGVuZHMgb24gTVREX09GX1BBUlRTICYmIChBUkNIX0JDTV81MzAxWCB8fCBBUkNIX0JD TTQ5MDggfHwgQ09NUElMRV9URVNUKQorCWRlZmF1bHQgQVJDSF9CQ01fNTMwMVgKKwloZWxwCisJ ICBUaGlzIHByb3ZpZGVzIHBhcnRpdGlvbnMgcGFyc2VyIGZvciBMaW5rc3lzIGRldmljZXMgYmFz ZWQgb24gQnJvYWRjb20KKwkgIE5vcnRoc3RhciBhcmNoaXRlY3R1cmUuIExpbmtzeXMgY29tbW9u bHkgdXNlcyBmaXhlZCBmbGFzaCBsYXlvdXQgd2l0aAorCSAgdHdvICJmaXJtd2FyZSIgcGFydGl0 aW9ucy4gQ3VycmVudGx5IHVzZWQgZmlybXdhcmUgaGFzIHRvIGJlIGRldGVjdGVkCisJICB1c2lu ZyBDRkUgZW52aXJvbm1lbnQgdmFyaWFibGUuCisKIGNvbmZpZyBNVERfUEFSU0VSX0lNQUdFVEFH CiAJdHJpc3RhdGUgIlBhcnNlciBmb3IgQkNNOTYzWFggSW1hZ2UgVGFnIGZvcm1hdCBwYXJ0aXRp b25zIgogCWRlcGVuZHMgb24gQkNNNjNYWCB8fCBCTUlQU19HRU5FUklDIHx8IENPTVBJTEVfVEVT VApkaWZmIC0tZ2l0IGEvZHJpdmVycy9tdGQvcGFyc2Vycy9NYWtlZmlsZSBiL2RyaXZlcnMvbXRk L3BhcnNlcnMvTWFrZWZpbGUKaW5kZXggMmRmZTlmYjYwMmRlLi4yZTk4YWEwNDgyNzggMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvbXRkL3BhcnNlcnMvTWFrZWZpbGUKKysrIGIvZHJpdmVycy9tdGQvcGFy c2Vycy9NYWtlZmlsZQpAQCAtNiw2ICs2LDcgQEAgb2JqLSQoQ09ORklHX01URF9DTURMSU5FX1BB UlRTKQkJKz0gY21kbGluZXBhcnQubwogb2JqLSQoQ09ORklHX01URF9PRl9QQVJUUykJCSs9IG9m cGFydC5vCiBvZnBhcnQteQkJCQkrPSBvZnBhcnRfY29yZS5vCiBvZnBhcnQtJChDT05GSUdfTVRE X09GX1BBUlRTX0JDTTQ5MDgpCSs9IG9mcGFydF9iY200OTA4Lm8KK29mcGFydC0kKENPTkZJR19N VERfT0ZfUEFSVFNfTElOS1NZU19OUykrPSBvZnBhcnRfbGlua3N5c19ucy5vCiBvYmotJChDT05G SUdfTVREX1BBUlNFUl9JTUFHRVRBRykJKz0gcGFyc2VyX2ltYWdldGFnLm8KIG9iai0kKENPTkZJ R19NVERfQUZTX1BBUlRTKQkJKz0gYWZzLm8KIG9iai0kKENPTkZJR19NVERfUEFSU0VSX1RSWCkJ CSs9IHBhcnNlcl90cngubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tdGQvcGFyc2Vycy9vZnBhcnRf Y29yZS5jIGIvZHJpdmVycy9tdGQvcGFyc2Vycy9vZnBhcnRfY29yZS5jCmluZGV4IDJjZWY1Mjdk ZDk3Ni4uMGZkOGQyYTBkYjk3IDEwMDY0NAotLS0gYS9kcml2ZXJzL210ZC9wYXJzZXJzL29mcGFy dF9jb3JlLmMKKysrIGIvZHJpdmVycy9tdGQvcGFyc2Vycy9vZnBhcnRfY29yZS5jCkBAIC0xNyw2 ICsxNyw3IEBACiAjaW5jbHVkZSA8bGludXgvbXRkL3BhcnRpdGlvbnMuaD4KIAogI2luY2x1ZGUg Im9mcGFydF9iY200OTA4LmgiCisjaW5jbHVkZSAib2ZwYXJ0X2xpbmtzeXNfbnMuaCIKIAogc3Ry dWN0IGZpeGVkX3BhcnRpdGlvbnNfcXVpcmtzIHsKIAlpbnQgKCpwb3N0X3BhcnNlKShzdHJ1Y3Qg bXRkX2luZm8gKm10ZCwgc3RydWN0IG10ZF9wYXJ0aXRpb24gKnBhcnRzLCBpbnQgbnJfcGFydHMp OwpAQCAtMjYsNiArMjcsMTAgQEAgc3RhdGljIHN0cnVjdCBmaXhlZF9wYXJ0aXRpb25zX3F1aXJr cyBiY200OTA4X3BhcnRpdGlvbnNfcXVpcmtzID0gewogCS5wb3N0X3BhcnNlID0gYmNtNDkwOF9w YXJ0aXRpb25zX3Bvc3RfcGFyc2UsCiB9OwogCitzdGF0aWMgc3RydWN0IGZpeGVkX3BhcnRpdGlv bnNfcXVpcmtzIGxpbmtzeXNfbnNfcGFydGl0aW9uc19xdWlya3MgPSB7CisJLnBvc3RfcGFyc2Ug PSBsaW5rc3lzX25zX3BhcnRpdGlvbnNfcG9zdF9wYXJzZSwKK307CisKIHN0YXRpYyBjb25zdCBz dHJ1Y3Qgb2ZfZGV2aWNlX2lkIHBhcnNlX29mcGFydF9tYXRjaF90YWJsZVtdOwogCiBzdGF0aWMg Ym9vbCBub2RlX2hhc19jb21wYXRpYmxlKHN0cnVjdCBkZXZpY2Vfbm9kZSAqcHApCkBAIC0xNjcs NiArMTcyLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgcGFyc2Vfb2ZwYXJ0 X21hdGNoX3RhYmxlW10gPSB7CiAJeyAuY29tcGF0aWJsZSA9ICJmaXhlZC1wYXJ0aXRpb25zIiB9 LAogCS8qIEN1c3RvbWl6ZWQgKi8KIAl7IC5jb21wYXRpYmxlID0gImJyY20sYmNtNDkwOC1wYXJ0 aXRpb25zIiwgLmRhdGEgPSAmYmNtNDkwOF9wYXJ0aXRpb25zX3F1aXJrcywgfSwKKwl7IC5jb21w YXRpYmxlID0gImxpbmtzeXMsbnMtcGFydGl0aW9ucyIsIC5kYXRhID0gJmxpbmtzeXNfbnNfcGFy dGl0aW9uc19xdWlya3MsIH0sCiAJe30sCiB9OwogTU9EVUxFX0RFVklDRV9UQUJMRShvZiwgcGFy c2Vfb2ZwYXJ0X21hdGNoX3RhYmxlKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbXRkL3BhcnNlcnMv b2ZwYXJ0X2xpbmtzeXNfbnMuYyBiL2RyaXZlcnMvbXRkL3BhcnNlcnMvb2ZwYXJ0X2xpbmtzeXNf bnMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjMxOGM0MmQwMjU2 YgotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvbXRkL3BhcnNlcnMvb2ZwYXJ0X2xpbmtzeXNf bnMuYwpAQCAtMCwwICsxLDUwIEBACisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIu MAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBSYWZhxYIgTWnFgmVja2kgPHJhZmFsQG1pbGVj a2kucGw+CisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2JjbTQ3eHhfbnZyYW0uaD4KKyNpbmNsdWRl IDxsaW51eC9tdGQvbXRkLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL3BhcnRpdGlvbnMuaD4KKwor I2luY2x1ZGUgIm9mcGFydF9saW5rc3lzX25zLmgiCisKKyNkZWZpbmUgTlZSQU1fQk9PVF9QQVJU CQkiYm9vdHBhcnRpdGlvbiIKKworc3RhdGljIGludCBvZnBhcnRfbGlua3N5c19uc19ib290cGFy dGl0aW9uKHZvaWQpCit7CisJY2hhciBidWZbNF07CisJaW50IGJvb3RwYXJ0aXRpb247CisKKwkv KiBDaGVjayBDRkUgZW52aXJvbm1lbnQgdmFyaWFibGUgKi8KKwlpZiAoYmNtNDd4eF9udnJhbV9n ZXRlbnYoTlZSQU1fQk9PVF9QQVJULCBidWYsIHNpemVvZihidWYpKSA+IDApIHsKKwkJaWYgKCFr c3RydG9pbnQoYnVmLCAwLCAmYm9vdHBhcnRpdGlvbikpCisJCQlyZXR1cm4gYm9vdHBhcnRpdGlv bjsKKwkJcHJfd2FybigiRmFpbGVkIHRvIHBhcnNlICVzIHZhbHVlIFwiJXNcIlxuIiwgTlZSQU1f Qk9PVF9QQVJULAorCQkJYnVmKTsKKwl9IGVsc2UgeworCQlwcl93YXJuKCJGYWlsZWQgdG8gZ2V0 IE5WUkFNIFwiJXNcIlxuIiwgTlZSQU1fQk9PVF9QQVJUKTsKKwl9CisKKwlyZXR1cm4gMDsKK30K KworaW50IGxpbmtzeXNfbnNfcGFydGl0aW9uc19wb3N0X3BhcnNlKHN0cnVjdCBtdGRfaW5mbyAq bXRkLAorCQkJCSAgICAgc3RydWN0IG10ZF9wYXJ0aXRpb24gKnBhcnRzLAorCQkJCSAgICAgaW50 IG5yX3BhcnRzKQoreworCWludCBib290cGFydGl0aW9uID0gb2ZwYXJ0X2xpbmtzeXNfbnNfYm9v dHBhcnRpdGlvbigpOworCWludCB0cnhfaWR4ID0gMDsKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7 IGkgPCBucl9wYXJ0czsgaSsrKSB7CisJCWlmIChvZl9kZXZpY2VfaXNfY29tcGF0aWJsZShwYXJ0 c1tpXS5vZl9ub2RlLCAibGlua3N5cyxucy1maXJtd2FyZSIpKSB7CisJCQlpZiAodHJ4X2lkeCsr ID09IGJvb3RwYXJ0aXRpb24pCisJCQkJcGFydHNbaV0ubmFtZSA9ICJmaXJtd2FyZSI7CisJCQll bHNlCisJCQkJcGFydHNbaV0ubmFtZSA9ICJiYWNrdXAiOworCQl9CisJfQorCisJcmV0dXJuIDA7 Cit9CmRpZmYgLS1naXQgYS9kcml2ZXJzL210ZC9wYXJzZXJzL29mcGFydF9saW5rc3lzX25zLmgg Yi9kcml2ZXJzL210ZC9wYXJzZXJzL29mcGFydF9saW5rc3lzX25zLmgKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi43MzBjNDY4MTJlYmYKLS0tIC9kZXYvbnVsbAorKysg Yi9kcml2ZXJzL210ZC9wYXJzZXJzL29mcGFydF9saW5rc3lzX25zLmgKQEAgLTAsMCArMSwxOCBA QAorLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAgKi8KKyNpZm5kZWYgX19PRlBB UlRfTElOS1NZU19OU19ICisjZGVmaW5lIF9fT0ZQQVJUX0xJTktTWVNfTlNfSAorCisjaWZkZWYg Q09ORklHX01URF9PRl9QQVJUU19MSU5LU1lTX05TCitpbnQgbGlua3N5c19uc19wYXJ0aXRpb25z X3Bvc3RfcGFyc2Uoc3RydWN0IG10ZF9pbmZvICptdGQsCisJCQkJICAgICBzdHJ1Y3QgbXRkX3Bh cnRpdGlvbiAqcGFydHMsCisJCQkJICAgICBpbnQgbnJfcGFydHMpOworI2Vsc2UKK3N0YXRpYyBp bmxpbmUgaW50IGxpbmtzeXNfbnNfcGFydGl0aW9uc19wb3N0X3BhcnNlKHN0cnVjdCBtdGRfaW5m byAqbXRkLAorCQkJCQkJICAgc3RydWN0IG10ZF9wYXJ0aXRpb24gKnBhcnRzLAorCQkJCQkJICAg aW50IG5yX3BhcnRzKQoreworCXJldHVybiAtRU9QTk9UU1VQUDsKK30KKyNlbmRpZgorCisjZW5k aWYKLS0gCjIuMjYuMgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpMaW51eCBNVEQgZGlzY3Vzc2lvbiBtYWlsaW5nIGxpc3QKaHR0cDovL2xp c3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1tdGQvCg== 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 X-Spam-Level: X-Spam-Status: No, score=-15.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 086E5C433E0 for ; Fri, 12 Mar 2021 13:50:15 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id D999364FEA for ; Fri, 12 Mar 2021 13:50:14 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229968AbhCLNtn (ORCPT ); Fri, 12 Mar 2021 08:49:43 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50454 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231516AbhCLNtc (ORCPT ); Fri, 12 Mar 2021 08:49:32 -0500 Received: from mail-lf1-x12f.google.com (mail-lf1-x12f.google.com [IPv6:2a00:1450:4864:20::12f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8F708C061574 for ; Fri, 12 Mar 2021 05:49:31 -0800 (PST) Received: by mail-lf1-x12f.google.com with SMTP id v9so45879268lfa.1 for ; Fri, 12 Mar 2021 05:49:31 -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=ig/feJqfg6Zk4+Z4VaaTDAGGxi9ON2uvzxTxlPep8Ng=; b=Pop+0/qgodqLeVXPy4/mpIwgtod1OWM0PRrTMbXdi4Qj3ZbtSvOBsSlTuAcR0O8OUV B+X88hjj2FBuaIT49XcmVEeW88dI1ek7No+5JOFjLrymAuvxm1pNndX+mTT5Epqz58Hr p5u4i/RF6m/QPm6kJjjf5aBuf3c6VI00YC2BioNlIpnJTQeVIczGZc7hm4hPBrmW21hv rJahjaalMDOSSxRXummAgpa11nrDogmhDkZLqLNPif0iy1zem8PhXubsZkMnL9DzY+pi eBF/qiif/6tUw6372Kbejj3kOSrNYPHx6kav0z/viVkOCVdq9cPoytRCA8lgvNhgydX1 PEGw== 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=ig/feJqfg6Zk4+Z4VaaTDAGGxi9ON2uvzxTxlPep8Ng=; b=eyTa2iG/aVATqA2nYClPrjh3cE7ihP2k2rZwYTMexJ6aM41iPBUlpRKGsYGIfC3P69 GK08YYK4J6wAkNjjXzmqRIiVAp4qzE6w26pTrj9AlPkQJA66+ewNjP8bEwP994xh9SQI z7xiZbUVcS5aqseFICfIgsRXIQiSLdlHdgxs6sYgaDe7zfAL6HPvK1/fNUvob30VZ946 J/1uF5WjebXzdG8mZPUpO532GPYGlMV2l9FfjcNifIEEiA+c9Ts9fhAym8YCTxNpKKCB 6zFMRidSpZXPb466Qsid0zzrp8zGuy2F1Ak+6xEu+AjnqZ0ij9OV1HPzxxrHt0oWbDBA WhYA== X-Gm-Message-State: AOAM531dJWhEiHAlf6I8vRc6m9NP4h5a+rucgbN0toC9TBvh0UsXSg0D K8Dh/PFkjb6Vwrp7D+32zk8= X-Google-Smtp-Source: ABdhPJzW2/QQiUcxc5Vn2KspsRiqIepsFziS7gL2I7XO06JQCB8gE3mTkvqu8KUK4M7WErehAfYprg== X-Received: by 2002:a05:6512:696:: with SMTP id t22mr5361614lfe.631.1615556970104; Fri, 12 Mar 2021 05:49:30 -0800 (PST) Received: from localhost.lan (ip-194-187-74-233.konfederacka.maverick.com.pl. [194.187.74.233]) by smtp.gmail.com with ESMTPSA id j19sm1741071lfb.15.2021.03.12.05.49.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 12 Mar 2021 05:49:29 -0800 (PST) From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= To: Miquel Raynal , Richard Weinberger , Vignesh Raghavendra , Rob Herring Cc: linux-mtd@lists.infradead.org, devicetree@vger.kernel.org, Vivek Unune , =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Subject: [PATCH 2/2] mtd: parsers: ofpart: support Linksys Northstar partitions Date: Fri, 12 Mar 2021 14:49:19 +0100 Message-Id: <20210312134919.7767-2-zajec5@gmail.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210312134919.7767-1-zajec5@gmail.com> References: <20210312134919.7767-1-zajec5@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org From: Rafał Miłecki This allows extending ofpart parser with support for Linksys Northstar devices. That support uses recently added quirks mechanism. Signed-off-by: Rafał Miłecki --- drivers/mtd/parsers/Kconfig | 10 +++++ drivers/mtd/parsers/Makefile | 1 + drivers/mtd/parsers/ofpart_core.c | 6 +++ drivers/mtd/parsers/ofpart_linksys_ns.c | 50 +++++++++++++++++++++++++ drivers/mtd/parsers/ofpart_linksys_ns.h | 18 +++++++++ 5 files changed, 85 insertions(+) create mode 100644 drivers/mtd/parsers/ofpart_linksys_ns.c create mode 100644 drivers/mtd/parsers/ofpart_linksys_ns.h diff --git a/drivers/mtd/parsers/Kconfig b/drivers/mtd/parsers/Kconfig index 0528855cf6c1..9babe678c41b 100644 --- a/drivers/mtd/parsers/Kconfig +++ b/drivers/mtd/parsers/Kconfig @@ -76,6 +76,16 @@ config MTD_OF_PARTS_BCM4908 that can have multiple "firmware" partitions. It takes care of finding currently used one and backup ones. +config MTD_OF_PARTS_LINKSYS_NS + bool "Linksys Northstar partitioning support" + depends on MTD_OF_PARTS && (ARCH_BCM_5301X || ARCH_BCM4908 || COMPILE_TEST) + default ARCH_BCM_5301X + help + This provides partitions parser for Linksys devices based on Broadcom + Northstar architecture. Linksys commonly uses fixed flash layout with + two "firmware" partitions. Currently used firmware has to be detected + using CFE environment variable. + config MTD_PARSER_IMAGETAG tristate "Parser for BCM963XX Image Tag format partitions" depends on BCM63XX || BMIPS_GENERIC || COMPILE_TEST diff --git a/drivers/mtd/parsers/Makefile b/drivers/mtd/parsers/Makefile index 2dfe9fb602de..2e98aa048278 100644 --- a/drivers/mtd/parsers/Makefile +++ b/drivers/mtd/parsers/Makefile @@ -6,6 +6,7 @@ obj-$(CONFIG_MTD_CMDLINE_PARTS) += cmdlinepart.o obj-$(CONFIG_MTD_OF_PARTS) += ofpart.o ofpart-y += ofpart_core.o ofpart-$(CONFIG_MTD_OF_PARTS_BCM4908) += ofpart_bcm4908.o +ofpart-$(CONFIG_MTD_OF_PARTS_LINKSYS_NS)+= ofpart_linksys_ns.o obj-$(CONFIG_MTD_PARSER_IMAGETAG) += parser_imagetag.o obj-$(CONFIG_MTD_AFS_PARTS) += afs.o obj-$(CONFIG_MTD_PARSER_TRX) += parser_trx.o diff --git a/drivers/mtd/parsers/ofpart_core.c b/drivers/mtd/parsers/ofpart_core.c index 2cef527dd976..0fd8d2a0db97 100644 --- a/drivers/mtd/parsers/ofpart_core.c +++ b/drivers/mtd/parsers/ofpart_core.c @@ -17,6 +17,7 @@ #include #include "ofpart_bcm4908.h" +#include "ofpart_linksys_ns.h" struct fixed_partitions_quirks { int (*post_parse)(struct mtd_info *mtd, struct mtd_partition *parts, int nr_parts); @@ -26,6 +27,10 @@ static struct fixed_partitions_quirks bcm4908_partitions_quirks = { .post_parse = bcm4908_partitions_post_parse, }; +static struct fixed_partitions_quirks linksys_ns_partitions_quirks = { + .post_parse = linksys_ns_partitions_post_parse, +}; + static const struct of_device_id parse_ofpart_match_table[]; static bool node_has_compatible(struct device_node *pp) @@ -167,6 +172,7 @@ static const struct of_device_id parse_ofpart_match_table[] = { { .compatible = "fixed-partitions" }, /* Customized */ { .compatible = "brcm,bcm4908-partitions", .data = &bcm4908_partitions_quirks, }, + { .compatible = "linksys,ns-partitions", .data = &linksys_ns_partitions_quirks, }, {}, }; MODULE_DEVICE_TABLE(of, parse_ofpart_match_table); diff --git a/drivers/mtd/parsers/ofpart_linksys_ns.c b/drivers/mtd/parsers/ofpart_linksys_ns.c new file mode 100644 index 000000000000..318c42d0256b --- /dev/null +++ b/drivers/mtd/parsers/ofpart_linksys_ns.c @@ -0,0 +1,50 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2021 Rafał Miłecki + */ + +#include +#include +#include + +#include "ofpart_linksys_ns.h" + +#define NVRAM_BOOT_PART "bootpartition" + +static int ofpart_linksys_ns_bootpartition(void) +{ + char buf[4]; + int bootpartition; + + /* Check CFE environment variable */ + if (bcm47xx_nvram_getenv(NVRAM_BOOT_PART, buf, sizeof(buf)) > 0) { + if (!kstrtoint(buf, 0, &bootpartition)) + return bootpartition; + pr_warn("Failed to parse %s value \"%s\"\n", NVRAM_BOOT_PART, + buf); + } else { + pr_warn("Failed to get NVRAM \"%s\"\n", NVRAM_BOOT_PART); + } + + return 0; +} + +int linksys_ns_partitions_post_parse(struct mtd_info *mtd, + struct mtd_partition *parts, + int nr_parts) +{ + int bootpartition = ofpart_linksys_ns_bootpartition(); + int trx_idx = 0; + int i; + + for (i = 0; i < nr_parts; i++) { + if (of_device_is_compatible(parts[i].of_node, "linksys,ns-firmware")) { + if (trx_idx++ == bootpartition) + parts[i].name = "firmware"; + else + parts[i].name = "backup"; + } + } + + return 0; +} diff --git a/drivers/mtd/parsers/ofpart_linksys_ns.h b/drivers/mtd/parsers/ofpart_linksys_ns.h new file mode 100644 index 000000000000..730c46812ebf --- /dev/null +++ b/drivers/mtd/parsers/ofpart_linksys_ns.h @@ -0,0 +1,18 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef __OFPART_LINKSYS_NS_H +#define __OFPART_LINKSYS_NS_H + +#ifdef CONFIG_MTD_OF_PARTS_LINKSYS_NS +int linksys_ns_partitions_post_parse(struct mtd_info *mtd, + struct mtd_partition *parts, + int nr_parts); +#else +static inline int linksys_ns_partitions_post_parse(struct mtd_info *mtd, + struct mtd_partition *parts, + int nr_parts) +{ + return -EOPNOTSUPP; +} +#endif + +#endif -- 2.26.2