misc: eeprom_93xx46: Remove hardcoded bit lengths
authorEmmanuel Gil Peyrot <linkmauve@linkmauve.fr>
Tue, 11 May 2021 21:07:24 +0000 (23:07 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 14 May 2021 11:45:24 +0000 (13:45 +0200)
commit4a5ff99bbb8fcd4642995ef39bccc7f25e1f90d3
treeddfbd67241e11191f101db98fbd0b812da0fd6a3
parent9ac78c8a0c938fb31e2336fc5266776c3833a7dc
misc: eeprom_93xx46: Remove hardcoded bit lengths

This avoids using magic numbers based on the length of an address or a
command, while we only want to differentiate between 8-bit and 16-bit.

The driver was previously wrapping around the offset in the write
operation, this now returns -EINVAL instead (but should never happen in
the first place).

If two pointer indirections are too many, we could move the flags to the
main struct instead, but I doubt it’s going to make any sensible
difference on any hardware.

Reviewed-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
Signed-off-by: Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
Link: https://lore.kernel.org/r/20210511210727.24895-2-linkmauve@linkmauve.fr
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/misc/eeprom/eeprom_93xx46.c