[PATCH v2 0/4] serial: 8250_exar: Replace custom EEPROM code with eeprom_93cx6

Parker Newman
2024-09-20T14:04:16Z

From: Parker Newman <pnewman@connecttech.com>

This series of patches replaces the custom 93cx6 EEPROM read functions in
the 8250_exar driver with the eeprom_93cx6 driver. This removes duplicate code
and improves code readability.

In order to use the eeprom_93cx6 driver a quirk needed to be added to add an
extra clock cycle before reading from the EEPROM. This is similar to the
quirk in the eeprom_93xx46 driver.

More details in associated patch and mailing list discussion with
Andy Shevchenko about these changes:
Link: https://lore.kernel.org/linux-serial/Ztr5u2wEt8VF1IdI@black.fi.intel.com/

Changes in v2:
- Dropped patch 3 "misc: eeprom: eeprom_93cx6: Replace printk(KERN_ERR...) with pr_err()".
- Moved Kconfig change into main patch.
- Moved quirk define into struct eeprom_93cx6.
- Moved quirk check function into eeprom_93cx6.h.
- Refactored cti_read_osc_freq() based on feedback.
- Minor commit message formatting fixes.

Parker Newman (4):
misc: eeprom: eeprom_93cx6: Add quirk for extra read clock cycle
misc: eeprom: eeprom_93cx6: Switch to BIT() macro
serial: 8250_exar: Replace custom EEPROM read with eeprom_93cx6
serial: 8250_exar: Remove old exar_ee_read() and other unneeded code

drivers/misc/eeprom/eeprom_93cx6.c | 15 +++-
drivers/tty/serial/8250/8250_exar.c | 121 ++++++++--------------------
drivers/tty/serial/8250/Kconfig | 1 +
include/linux/eeprom_93cx6.h | 12 +++
4 files changed, 58 insertions(+), 91 deletions(-)

base-commit: 5ed771f174726ae879945d4f148a9005ac909cb7
--
2.46.0