eeprom: at24: add support for the write-protect pin
authorBartosz Golaszewski <brgl@bgdev.pl>
Tue, 19 Dec 2017 10:28:54 +0000 (11:28 +0100)
committerBartosz Golaszewski <brgl@bgdev.pl>
Mon, 1 Jan 2018 18:40:50 +0000 (19:40 +0100)
commit6ce261e87fe14d551aae36e15171c60c823ba10a
tree87a04a4365a08148157ad1f24c680cb40b18d282
parent3f3d8ef7f4eff5909b0cc996718de81de99af1e6
eeprom: at24: add support for the write-protect pin

AT24 EEPROMs have a write-protect pin, which - when pulled high -
inhibits writes to the upper quadrant of memory (although it has been
observed that on some chips it disables writing to the entire memory
range).

On some boards, this pin is connected to a GPIO and pulled high by
default, which forces the user to manually change its state before
writing. On linux this means that we either need to hog the line all
the time, or set the GPIO value before writing from outside of the
at24 driver.

Make the driver check if the write-protect GPIO was defined in the
device tree and pull it low whenever writing to the EEPROM.

Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
drivers/misc/eeprom/at24.c