Re: [PATCH v5 3/3] mtd: spi-nor: Rework hwcaps selection for the spi-mem case

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 08/06/2019 08:10 AM, Vignesh Raghavendra wrote:
> +static int spi_nor_spimem_check_op(struct spi_nor *nor,
> +				   struct spi_mem_op *op)
> +{
> +	/*
> +	 * First test with 4 address bytes. The opcode itself might
> +	 * be a 3B addressing opcode but we don't care, because
> +	 * SPI controller implementation should not check the opcode,
> +	 * but just the sequence.
> +	 */
> +	op->addr.nbytes = 4;
> +	if (!spi_mem_supports_op(nor->spimem, op)) {
> +		/* If flash size <16MB, 3 address bytes are sufficient */
> +		if (nor->mtd.size <= SZ_16M) {
> +			op->addr.nbytes = 3;
> +			if (!spi_mem_supports_op(nor->spimem, op))
> +				return -ENOTSUPP;
> +			return 0;
> +		}
> +		return -ENOTSUPP;
> +	}
> +
> +	return 0;
> +}

We can get rid of a level of indentation by writing it as:

static int spi_nor_spimem_check_op(struct spi_nor *nor,
                                   struct spi_mem_op *op)
{
        op->addr.nbytes = 4;
        if (!spi_mem_supports_op(nor->spimem, op)) {
                if (nor->mtd.size > SZ_16M)
			return -ENOTSUPP;

                /* If flash size <16MB, 3 address bytes are sufficient */
		op->addr.nbytes = 3;
		if (!spi_mem_supports_op(nor->spimem, op))
			return -ENOTSUPP;
        }

        return 0;
}

I'll do this by myself when applying, no need to resubmit.

Thanks, Vignesh!
ta
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/



[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux