Re: [PATCH linux-next v4 5/5] mtd: atmel-quadspi: add driver for Atmel QSPI controller

Cyrille Pitchen
2015-08-25T11:24:28Z

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@micron.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