]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
serial: 8250_exar: Remove old exar_ee_read() and other unneeded code
authorParker Newman <pnewman@connecttech.com>
Wed, 2 Oct 2024 15:12:36 +0000 (11:12 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 11 Oct 2024 06:42:03 +0000 (08:42 +0200)
Remove the old exar_ee_read() and associated helper functions.
Remove defines that are no longer needed after the switch to using the
eeprom_93cx6 driver.

Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Parker Newman <pnewman@connecttech.com>
Link: https://lore.kernel.org/r/ed756c48965a95ce3384ebb7fe2441b4928b4510.1727880931.git.pnewman@connecttech.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/8250/8250_exar.c

index 2ae5634834e2126202b2b310c59d5704175926ef..fc5203446267033e01fbc41d7855e5342c9d4dc4 100644 (file)
 #define UART_EXAR_REGB_EECS            BIT(5)
 #define UART_EXAR_REGB_EEDI            BIT(6)
 #define UART_EXAR_REGB_EEDO            BIT(7)
-#define UART_EXAR_REGB_EE_ADDR_SIZE    6
-#define UART_EXAR_REGB_EE_DATA_SIZE    16
 
 #define UART_EXAR_XR17C15X_PORT_OFFSET 0x200
 #define UART_EXAR_XR17V25X_PORT_OFFSET 0x200
@@ -270,94 +268,6 @@ static inline u8 exar_read_reg(struct exar8250 *priv, unsigned int reg)
        return readb(priv->virt + reg);
 }
 
-static inline void exar_ee_select(struct exar8250 *priv)
-{
-       // Set chip select pin high to enable EEPROM reads/writes
-       exar_write_reg(priv, UART_EXAR_REGB, UART_EXAR_REGB_EECS);
-       // Min ~500ns delay needed between CS assert and EEPROM access
-       udelay(1);
-}
-
-static inline void exar_ee_deselect(struct exar8250 *priv)
-{
-       exar_write_reg(priv, UART_EXAR_REGB, 0x00);
-}
-
-static inline void exar_ee_write_bit(struct exar8250 *priv, u8 bit)
-{
-       u8 value = UART_EXAR_REGB_EECS;
-
-       if (bit)
-               value |= UART_EXAR_REGB_EEDI;
-
-       // Clock out the bit on the EEPROM interface
-       exar_write_reg(priv, UART_EXAR_REGB, value);
-       // 2us delay = ~500khz clock speed
-       udelay(2);
-
-       value |= UART_EXAR_REGB_EECK;
-
-       exar_write_reg(priv, UART_EXAR_REGB, value);
-       udelay(2);
-}
-
-static inline u8 exar_ee_read_bit(struct exar8250 *priv)
-{
-       u8 regb;
-       u8 value = UART_EXAR_REGB_EECS;
-
-       // Clock in the bit on the EEPROM interface
-       exar_write_reg(priv, UART_EXAR_REGB, value);
-       // 2us delay = ~500khz clock speed
-       udelay(2);
-
-       value |= UART_EXAR_REGB_EECK;
-
-       exar_write_reg(priv, UART_EXAR_REGB, value);
-       udelay(2);
-
-       regb = exar_read_reg(priv, UART_EXAR_REGB);
-
-       return (regb & UART_EXAR_REGB_EEDO ? 1 : 0);
-}
-
-/**
- * exar_ee_read() - Read a word from the EEPROM
- * @priv: Device's private structure
- * @ee_addr: Offset of EEPROM to read word from
- *
- * Read a single 16bit word from an Exar UART's EEPROM.
- * The type of the EEPROM is AT93C46D.
- *
- * Return: EEPROM word
- */
-static u16 exar_ee_read(struct exar8250 *priv, u8 ee_addr)
-{
-       int i;
-       u16 data = 0;
-
-       exar_ee_select(priv);
-
-       // Send read command (opcode 110)
-       exar_ee_write_bit(priv, 1);
-       exar_ee_write_bit(priv, 1);
-       exar_ee_write_bit(priv, 0);
-
-       // Send address to read from
-       for (i = UART_EXAR_REGB_EE_ADDR_SIZE - 1; i >= 0; i--)
-               exar_ee_write_bit(priv, ee_addr & BIT(i));
-
-       // Read data 1 bit at a time starting with a dummy bit
-       for (i = UART_EXAR_REGB_EE_DATA_SIZE; i >= 0; i--) {
-               if (exar_ee_read_bit(priv))
-                       data |= BIT(i);
-       }
-
-       exar_ee_deselect(priv);
-
-       return data;
-}
-
 static void exar_eeprom_93cx6_reg_read(struct eeprom_93cx6 *eeprom)
 {
        struct exar8250 *priv = eeprom->data;