Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755213AbbHYLY2 (ORCPT ); Tue, 25 Aug 2015 07:24:28 -0400 Received: from eusmtp01.atmel.com ([212.144.249.243]:24913 "EHLO eusmtp01.atmel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751616AbbHYLY0 (ORCPT ); Tue, 25 Aug 2015 07:24:26 -0400 Message-ID: <55DC5064.6050500@atmel.com> Date: Tue, 25 Aug 2015 13:24:20 +0200 From: Cyrille Pitchen User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.8.0 MIME-Version: 1.0 To: =?UTF-8?B?IkJlYW4gSHVvIOmcjeaWjOaWjCAoYmVhbmh1byki?= , "nicolas.ferre@atmel.com" , "broonie@kernel.org" , "linux-spi@vger.kernel.org" , "dwmw2@infradead.org" , "computersforpeace@gmail.com" , "zajec5@gmail.com" , "juhosg@openwrt.org" , "marex@denx.de" , "shijie.huang@intel.com" , "ben@decadent.org.uk" CC: "linux-kernel@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "devicetree@vger.kernel.org" , "robh+dt@kernel.org" , "pawel.moll@arm.com" , "mark.rutland@arm.com" , "ijc+devicetree@hellion.org.uk" , "galak@codeaurora.org" , "linux-mtd@lists.infradead.org" Subject: Re: [PATCH linux-next v4 5/5] mtd: atmel-quadspi: add driver for Atmel QSPI controller References: In-Reply-To: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit X-Originating-IP: [10.161.30.18] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2181 Lines: 78 Hi! Le 25/08/2015 03:44, Bean Huo 霍斌斌 (beanhuo) a écrit : > >> + nor->read_reg = atmel_qspi_read_reg; >> + nor->write_reg = atmel_qspi_write_reg; >> + nor->read = atmel_qspi_read; >> + nor->write = atmel_qspi_write; >> + nor->erase = atmel_qspi_erase; >> + nor->set_protocol = atmel_qspi_set_protocol; > > This is very good, the structure of spi_nor should add a hook function to notify spi controller > That spi nor transfer protocol already changed. > >> + >> + if (of_modalias_node(child, modalias, sizeof(modalias)) < 0) { >> + err = -ENODEV; >> + goto release_channel; >> + } >> + >> + err = of_property_read_u32(child, "spi-max-frequency", &aq->clk_rate); >> + if (err < 0) >> + goto release_channel; >> + >> + err = atmel_qspi_init(aq); >> + if (err) >> + goto release_channel; >> + >> + nor->dev->of_node = child; >> + err = spi_nor_scan(nor, modalias, SPI_NOR_QUAD); >> goto release_channel; >> + > > > ....... > >> static inline struct spi_nor *mtd_to_spi_nor(struct mtd_info *mtd) { > return mtd->priv; >> @@ -944,6 +960,11 @@ static int micron_quad_enable(struct spi_nor *nor) >> return ret; >> } >> >> + /* switch protocol to Quad CMD 4-4-4 */ >> + ret = spi_nor_set_protocol(nor, SPI_PROTO_4_4_4); >> + if (ret) >> + return ret; >> + > > This make sense,from spi nor side,once its protocol being changed, > Mtd layer must notify this status to spi nor controller immediately, > And spi nor controller also should re-adjust its protocol. > Otherwise, following reading SR operation will fail. > >> >> ret = spi_nor_wait_till_ready(nor); >> if (ret) >> return ret; > > If my ack has any value in here, feel free to add it. > > Acked-by: Bean Huo > Since your comments deal with the protocol change, I'll add your ack to the first patch of the series: "mtd: spi-nor: notify (Q)SPI controller about protocol change" Thanks for your review! Best regards, Cyrille -- 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/