Re: [PATCH v2 1/6] mtd: spi-nor: change return value of read/write

From: Michal Suchanek
Date: Wed Aug 05 2015 - 04:27:56 EST


On 4 August 2015 at 18:42, Marek Vasut <marex@xxxxxxx> wrote:
> On Tuesday, August 04, 2015 at 08:42:51 AM, Michal Suchanek wrote:
>> On 3 August 2015 at 23:46, Marek Vasut <marex@xxxxxxx> wrote:
>> > On Monday, August 03, 2015 at 08:39:01 PM, Michal Suchanek wrote:
>> >> Change the return value of spi-nor device read and write methods to
>> >> allow returning amount of data transferred and errors as
>> >> read(2)/write(2) does.
>> >>
>> >> Signed-off-by: Michal Suchanek <hramrach@xxxxxxxxx>
>> >> ---
>> >>
>> >> include/linux/mtd/spi-nor.h | 4 ++--
>> >> 1 file changed, 2 insertions(+), 2 deletions(-)
>> >>
>> >> diff --git a/include/linux/mtd/spi-nor.h b/include/linux/mtd/spi-nor.h
>> >> index e540952..7d782cb 100644
>> >> --- a/include/linux/mtd/spi-nor.h
>> >> +++ b/include/linux/mtd/spi-nor.h
>> >> @@ -185,9 +185,9 @@ struct spi_nor {
>> >>
>> >> int (*write_reg)(struct spi_nor *nor, u8 opcode, u8 *buf, int len,
>> >>
>> >> int write_enable);
>> >>
>> >> - int (*read)(struct spi_nor *nor, loff_t from,
>> >> + ssize_t (*read)(struct spi_nor *nor, loff_t from,
>> >>
>> >> size_t len, size_t *retlen, u_char *read_buf);
>> >>
>> >> - void (*write)(struct spi_nor *nor, loff_t to,
>> >> + ssize_t (*write)(struct spi_nor *nor, loff_t to,
>> >>
>> >> size_t len, size_t *retlen, const u_char
>> >> *write_buf);
>> >>
>> >> int (*erase)(struct spi_nor *nor, loff_t offs);
>> >
>> > You realize that if someone does bisect and has only this patch applied,
>> > the compiler will complain loudly about mismatching data types, right ?
>> > :)
>>
>> Yes, the compiler prints a warning. However, only the return value
>> which is not used changes so it should not cause any real problem.
>
> Are you certain that ssize_t is equal to int , always , everywhere ? :-)

No, it's larger or equal.

> Note that it is possible to do such conversion even without introducing
> compiler warnings along the way -- just do the data type conversion first
> and the other changes in subsequent patches. It will be clear that one
> patch does one thing then.

If this is the only concern with these patches it is easily amended ;-)

Thanks

Michal
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/