Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753965AbbFDPlp (ORCPT ); Thu, 4 Jun 2015 11:41:45 -0400 Received: from mail-wg0-f52.google.com ([74.125.82.52]:34589 "EHLO mail-wg0-f52.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752789AbbFDPll (ORCPT ); Thu, 4 Jun 2015 11:41:41 -0400 MIME-Version: 1.0 In-Reply-To: <201506041728.50227.marex@denx.de> References: <201506040058.52882.marex@denx.de> <201506041728.50227.marex@denx.de> From: Michal Suchanek Date: Thu, 4 Jun 2015 17:40:58 +0200 Message-ID: Subject: Re: [PATCH 04/11] mtd: ofpart: do not fail probe when no partitions exist To: Marek Vasut Cc: Rob Herring , Pawel Moll , Mark Rutland , Ian Campbell , Kumar Gala , Russell King , Kukjin Kim , Krzysztof Kozlowski , Vinod Koul , Dan Williams , David Woodhouse , Brian Norris , Han Xu , Mark Brown , Geert Uytterhoeven , =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= , Alison Chaiken , Huang Shijie , Ben Hutchings , Knut Wohlrab , =?UTF-8?B?QmVhbiBIdW8g6ZyN5paM5paMIChiZWFuaHVvKQ==?= , "grmoore@altera.com" , devicetree , Linux Kernel Mailing List , "linux-arm-kernel@lists.infradead.org" , linux-samsung-soc , dmaengine , MTD Maling List , linux-spi Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3372 Lines: 93 On 4 June 2015 at 17:28, Marek Vasut wrote: > On Thursday, June 04, 2015 at 06:54:00 AM, Michal Suchanek wrote: >> On 4 June 2015 at 00:58, Marek Vasut wrote: >> > On Wednesday, June 03, 2015 at 11:26:40 PM, Michal Suchanek wrote: >> >> On Exynos it is necessary to set SPI controller parameters that apply to >> >> a SPI slave in a DT subnode of the slave device. The ofpart code returns >> >> an error when there are subnodes of the SPI flash but no partitions are >> >> found. Change this condition to a warning so that flash without >> >> partitions can be accessed on Exynos. >> > >> > I have to admit the rationale for this patch is not very clear to me, >> > sorry. Can you please explain this a bit more ? >> >> This is how the DT entry for SPI slave looks with s3c64xx: >> flash: m25p80@0 { >> #address-cells = <1>; >> #size-cells = <1>; >> compatible = "jedec,spi-nor"; >> reg = <0>; >> spi-max-frequency = <40000000>; >> linux,max_tx_len = <65536>; > > SIDENOTE: I thought this was actually added by your patch #8 in this > series. The underscores in the name of the property are not really > consistent with the rest of the names. > >> m25p,fast-read; >> controller-data { >> samsung,spi-feedback-delay = <0>; >> }; >> }; >> >> this is example of flash partitions: >> flash@0 { >> #address-cells = <1>; >> #size-cells = <1>; >> >> partition@0 { >> label = "u-boot"; >> reg = <0x0000000 0x100000>; >> read-only; >> }; >> >> uimage@100000 { >> reg = <0x0100000 0x200000>; >> }; >> }; >> >> The parser ignores any flash without subnodes and returns 0 (no >> partititon). When there is a subnode it assumes the flash is >> partitioned and tries to parse the subnodes as partitions. When there >> are subnodes and none parses as partition an error is returned. As >> shown above it is valid to have subnodes on unpartitioned flash. >> >> When an error is returned from a partition parser the mtdpart code >> passes on this error to the flash probe function and the proble of the >> flash fails. > > What does /proc/mtd tell you when you have no partitions defined > in the DT ? It should provide you with the entire MTD device and > the code shouldn't even try to parse any OF partitions, since you > don't have any. mtdinfo shows I have no mtd devices and the log shows that probe failed unless I patch the kernel. When there is *support* for of partitions the ofparser is run on mtd probe. If it fails because it considers >> controller-data { >> samsung,spi-feedback-delay = <0>; >> }; an invalid partition and does not find any valid partition the probe fails. There are two problems here 1) the above is not invalid. It just is not a partition. The parser should not fail seeing this 2) the mtd probe should not fail when a partition parser fails and should present the unpartitioned device Both are addressed in separate patches. Thanks Michal -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/