[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <55DC5064.6050500@atmel.com>
Date: Tue, 25 Aug 2015 13:24:20 +0200
From: Cyrille Pitchen <cyrille.pitchen@...el.com>
To: "Bean Huo 霍斌斌 (beanhuo)"
<beanhuo@...ron.com>,
"nicolas.ferre@...el.com" <nicolas.ferre@...el.com>,
"broonie@...nel.org" <broonie@...nel.org>,
"linux-spi@...r.kernel.org" <linux-spi@...r.kernel.org>,
"dwmw2@...radead.org" <dwmw2@...radead.org>,
"computersforpeace@...il.com" <computersforpeace@...il.com>,
"zajec5@...il.com" <zajec5@...il.com>,
"juhosg@...nwrt.org" <juhosg@...nwrt.org>,
"marex@...x.de" <marex@...x.de>,
"shijie.huang@...el.com" <shijie.huang@...el.com>,
"ben@...adent.org.uk" <ben@...adent.org.uk>
CC: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"robh+dt@...nel.org" <robh+dt@...nel.org>,
"pawel.moll@....com" <pawel.moll@....com>,
"mark.rutland@....com" <mark.rutland@....com>,
"ijc+devicetree@...lion.org.uk" <ijc+devicetree@...lion.org.uk>,
"galak@...eaurora.org" <galak@...eaurora.org>,
"linux-mtd@...ts.infradead.org" <linux-mtd@...ts.infradead.org>
Subject: Re: [PATCH linux-next v4 5/5] mtd: atmel-quadspi: add driver for
Atmel QSPI controller
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 <beanhuo@...ron.com>
>
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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists