Message ID | cover.1726838531.git.pnewman@connecttech.com |
---|---|
Headers | show |
Series | serial: 8250_exar: Replace custom EEPROM code with eeprom_93cx6 | expand |
On Fri, Sep 20, 2024 at 10:03:23AM -0400, Parker Newman wrote: > From: Parker Newman <pnewman@connecttech.com> ... > + osc_freq = le16_to_cpu(ee_words[0]) | (le16_to_cpu(ee_words[1]) << 16); > + if (osc_freq == GENMASK(31, 0)) > return -EIO; Just noticed that you have #define CTI_EE_MASK_OSC_FREQ_LOWER GENMASK(15, 0) #define CTI_EE_MASK_OSC_FREQ_UPPER GENMASK(31, 16) So, please modify them and the above check using these. Something like #define CTI_EE_MASK_OSC_FREQ GENMASK(31, 0) osc_freq = le16_to_cpu(ee_words[0]) | (le16_to_cpu(ee_words[1]) << 16); if (osc_freq == CTI_EE_MASK_OSC_FREQ) return -EIO; P.S> If I am not mistaken the definitions were only used in this function.
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