Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755201AbbFEOjN (ORCPT ); Fri, 5 Jun 2015 10:39:13 -0400 Received: from mail-out.m-online.net ([212.18.0.10]:56092 "EHLO mail-out.m-online.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753079AbbFEOjH (ORCPT ); Fri, 5 Jun 2015 10:39:07 -0400 X-Auth-Info: ut80iYMhX/7/9K0l5f838vr3fRmwr+3jgU+G/IMbOdQ= From: Marek Vasut To: Michal Suchanek Subject: Re: [PATCH 04/11] mtd: ofpart: do not fail probe when no partitions exist Date: Fri, 5 Jun 2015 16:13:09 +0200 User-Agent: KMail/1.13.7 (Linux/3.14-2-amd64; KDE/4.13.1; x86_64; ; ) 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?q?Rafa=C5=82_Mi=C5=82ecki?= , Alison Chaiken , Huang Shijie , Ben Hutchings , Knut Wohlrab , "Bean Huo =?utf-8?q?=E9=9C=8D=E6=96=8C=E6=96=8C?= (beanhuo)" , "grmoore@altera.com" , devicetree , Linux Kernel Mailing List , "linux-arm-kernel@lists.infradead.org" , "linux-samsung-soc" , dmaengine , MTD Maling List , "linux-spi" References: <201506041728.50227.marex@denx.de> In-Reply-To: MIME-Version: 1.0 Content-Type: Text/Plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Message-Id: <201506051613.09187.marex@denx.de> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3888 Lines: 112 On Thursday, June 04, 2015 at 05:40:58 PM, Michal Suchanek wrote: > 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. OK, now it has become clearer to me, thanks! > There are two problems here > > 1) the above is not invalid. It just is not a partition. The parser > should not fail seeing this The parser should complain verbosely and ignore this I guess ? > 2) the mtd probe should not fail when a partition parser fails and > should present the unpartitioned device OK > 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/