From a521b0edbb27c86b344e20768147a157c98a3668 Mon Sep 17 00:00:00 2001
From: Scott Lahteine <github@thinkyhead.com>
Date: Wed, 29 Apr 2020 16:20:07 -0500
Subject: [PATCH] Strip never-used eeprom functions

---
 Marlin/src/HAL/shared/eeprom_if.h       |  2 --
 Marlin/src/HAL/shared/eeprom_if_i2c.cpp | 46 -------------------------
 Marlin/src/HAL/shared/eeprom_if_spi.cpp | 40 ---------------------
 3 files changed, 88 deletions(-)

diff --git a/Marlin/src/HAL/shared/eeprom_if.h b/Marlin/src/HAL/shared/eeprom_if.h
index e6e7046011..1a6b0c97fb 100644
--- a/Marlin/src/HAL/shared/eeprom_if.h
+++ b/Marlin/src/HAL/shared/eeprom_if.h
@@ -26,5 +26,3 @@
 //
 void eeprom_write_byte(uint8_t *pos, unsigned char value);
 uint8_t eeprom_read_byte(uint8_t *pos);
-void eeprom_read_block(void *__dst, const void *__src, size_t __n);
-void eeprom_update_block(const void *__src, void *__dst, size_t __n);
diff --git a/Marlin/src/HAL/shared/eeprom_if_i2c.cpp b/Marlin/src/HAL/shared/eeprom_if_i2c.cpp
index a4ad9763ba..e2435a7122 100644
--- a/Marlin/src/HAL/shared/eeprom_if_i2c.cpp
+++ b/Marlin/src/HAL/shared/eeprom_if_i2c.cpp
@@ -68,37 +68,6 @@ void eeprom_write_byte(uint8_t *pos, unsigned char value) {
   delay(EEPROM_WRITE_DELAY);
 }
 
-// WARNING: address is a page address, 6-bit end will wrap around
-// also, data can be maximum of about 30 bytes, because the Wire library has a buffer of 32 bytes
-void eeprom_update_block(const void *pos, void *__dst, size_t n) {
-  const unsigned eeprom_address = (unsigned)__dst;
-
-  eeprom_init();
-
-  Wire.beginTransmission(eeprom_device_address);
-  Wire.write(int(eeprom_address >> 8));   // MSB
-  Wire.write(int(eeprom_address & 0xFF)); // LSB
-  Wire.endTransmission();
-
-  uint8_t *ptr = (uint8_t*)pos;
-  uint8_t flag = 0;
-  Wire.requestFrom(eeprom_device_address, (byte)n);
-  for (byte c = 0; c < n && Wire.available(); c++)
-    flag |= Wire.read() ^ ptr[c];
-
-  if (flag) {
-    Wire.beginTransmission(eeprom_device_address);
-    Wire.write(int(eeprom_address >> 8));   // MSB
-    Wire.write(int(eeprom_address & 0xFF)); // LSB
-    Wire.write((uint8_t*)pos, n);
-    Wire.endTransmission();
-
-    // wait for write cycle to complete
-    // this could be done more efficiently with "acknowledge polling"
-    delay(EEPROM_WRITE_DELAY);
-  }
-}
-
 uint8_t eeprom_read_byte(uint8_t *pos) {
   const unsigned eeprom_address = (unsigned)pos;
 
@@ -110,19 +79,4 @@ uint8_t eeprom_read_byte(uint8_t *pos) {
   return Wire.available() ? Wire.read() : 0xFF;
 }
 
-// Don't read more than 30..32 bytes at a time!
-void eeprom_read_block(void* pos, const void *__dst, size_t n) {
-  const unsigned eeprom_address = (unsigned)__dst;
-
-  eeprom_init();
-
-  Wire.beginTransmission(eeprom_device_address);
-  Wire.write(int(eeprom_address >> 8));   // MSB
-  Wire.write(int(eeprom_address & 0xFF)); // LSB
-  Wire.endTransmission();
-  Wire.requestFrom(eeprom_device_address, (byte)n);
-  for (byte c = 0; c < n; c++ )
-    if (Wire.available()) *((uint8_t*)pos + c) = Wire.read();
-}
-
 #endif // USE_SHARED_EEPROM && I2C_EEPROM
diff --git a/Marlin/src/HAL/shared/eeprom_if_spi.cpp b/Marlin/src/HAL/shared/eeprom_if_spi.cpp
index 4c3a92e020..6a3c5cc059 100644
--- a/Marlin/src/HAL/shared/eeprom_if_spi.cpp
+++ b/Marlin/src/HAL/shared/eeprom_if_spi.cpp
@@ -58,24 +58,6 @@ uint8_t eeprom_read_byte(uint8_t* pos) {
   return v;
 }
 
-void eeprom_read_block(void* dest, const void* eeprom_address, size_t n) {
-  uint8_t eeprom_temp[3];
-
-  // set read location
-  // begin transmission from device
-  eeprom_temp[0] = CMD_READ;
-  eeprom_temp[1] = ((unsigned)eeprom_address>>8) & 0xFF; // addr High
-  eeprom_temp[2] = (unsigned)eeprom_address& 0xFF;       // addr Low
-  WRITE(SPI_EEPROM1_CS, HIGH);
-  WRITE(SPI_EEPROM1_CS, LOW);
-  spiSend(SPI_CHAN_EEPROM1, eeprom_temp, 3);
-
-  uint8_t *p_dest = (uint8_t *)dest;
-  while (n--)
-    *p_dest++ = spiRec(SPI_CHAN_EEPROM1);
-  WRITE(SPI_EEPROM1_CS, HIGH);
-}
-
 void eeprom_write_byte(uint8_t* pos, uint8_t value) {
   uint8_t eeprom_temp[3];
 
@@ -98,26 +80,4 @@ void eeprom_write_byte(uint8_t* pos, uint8_t value) {
   delay(EEPROM_WRITE_DELAY);   // wait for page write to complete
 }
 
-void eeprom_update_block(const void* src, void* eeprom_address, size_t n) {
-  uint8_t eeprom_temp[3];
-
-  /*write enable*/
-  eeprom_temp[0] = CMD_WREN;
-  WRITE(SPI_EEPROM1_CS, LOW);
-  spiSend(SPI_CHAN_EEPROM1, eeprom_temp, 1);
-  WRITE(SPI_EEPROM1_CS, HIGH);
-  delay(1);
-
-  /*write addr*/
-  eeprom_temp[0] = CMD_WRITE;
-  eeprom_temp[1] = ((unsigned)eeprom_address>>8) & 0xFF;  //addr High
-  eeprom_temp[2] = (unsigned)eeprom_address & 0xFF;       //addr Low
-  WRITE(SPI_EEPROM1_CS, LOW);
-  spiSend(SPI_CHAN_EEPROM1, eeprom_temp, 3);
-
-  spiSend(SPI_CHAN_EEPROM1, (const uint8_t*)src, n);
-  WRITE(SPI_EEPROM1_CS, HIGH);
-  delay(EEPROM_WRITE_DELAY);   // wait for page write to complete
-}
-
 #endif // USE_SHARED_EEPROM && I2C_EEPROM
-- 
GitLab