On Sat, Jul 08, 2023 at 08:29:35PM +0200, Christian Marangi wrote: > In preparation for NVMEM support, split get_of_eeprom() in subfunction > to tidy the code and facilitate the addition of alternative method to > get eeprom data. No behaviour change intended. > > While at it also drop OF ifdef checks as OF have stubs and calling > of_get_property would result in the same error returned. > > Signed-off-by: Christian Marangi <ansuelsmth@xxxxxxxxx> Reviewed-by: Daniel Golle <daniel@xxxxxxxxxxxxxx> Tested-by: Daniel Golle <daniel@xxxxxxxxxxxxxx> > --- > drivers/net/wireless/mediatek/mt76/eeprom.c | 51 ++++++++++++++------- > 1 file changed, 35 insertions(+), 16 deletions(-) > > diff --git a/drivers/net/wireless/mediatek/mt76/eeprom.c b/drivers/net/wireless/mediatek/mt76/eeprom.c > index dce851d42e08..c3a762074be8 100644 > --- a/drivers/net/wireless/mediatek/mt76/eeprom.c > +++ b/drivers/net/wireless/mediatek/mt76/eeprom.c > @@ -9,31 +9,35 @@ > #include <linux/etherdevice.h> > #include "mt76.h" > > -int mt76_get_of_eeprom(struct mt76_dev *dev, void *eep, int offset, int len) > +static int mt76_get_of_eeprom_data(struct mt76_dev *dev, void *eep, int len) > { > -#if defined(CONFIG_OF) && defined(CONFIG_MTD) > struct device_node *np = dev->dev->of_node; > - struct mtd_info *mtd; > - const __be32 *list; > const void *data; > - const char *part; > - phandle phandle; > int size; > - size_t retlen; > - int ret; > > - if (!np) > + data = of_get_property(np, "mediatek,eeprom-data", &size); > + if (!data) > return -ENOENT; > > - data = of_get_property(np, "mediatek,eeprom-data", &size); > - if (data) { > - if (size > len) > - return -EINVAL; > + if (size > len) > + return -EINVAL; > > - memcpy(eep, data, size); > + memcpy(eep, data, size); > > - return 0; > - } > + return 0; > +} > + > +static int mt76_get_of_epprom_from_mtd(struct mt76_dev *dev, void *eep, int offset, int len) > +{ > +#ifdef CONFIG_MTD > + struct device_node *np = dev->dev->of_node; > + struct mtd_info *mtd; > + const __be32 *list; > + const char *part; > + phandle phandle; > + size_t retlen; > + int size; > + int ret; > > list = of_get_property(np, "mediatek,mtd-eeprom", &size); > if (!list) > @@ -100,6 +104,21 @@ int mt76_get_of_eeprom(struct mt76_dev *dev, void *eep, int offset, int len) > return -ENOENT; > #endif > } > + > +int mt76_get_of_eeprom(struct mt76_dev *dev, void *eep, int offset, int len) > +{ > + struct device_node *np = dev->dev->of_node; > + int ret; > + > + if (!np) > + return -ENOENT; > + > + ret = mt76_get_of_eeprom_data(dev, eep, len); > + if (!ret) > + return 0; > + > + return mt76_get_of_epprom_from_mtd(dev, eep, offset, len); > +} > EXPORT_SYMBOL_GPL(mt76_get_of_eeprom); > > void > -- > 2.40.1 > >