}
 EXPORT_SYMBOL_GPL(mt76_get_of_data_from_mtd);
 
-static int mt76_get_of_eeprom_from_nvmem(struct mt76_dev *dev, void *eep, int len)
+int mt76_get_of_data_from_nvmem(struct mt76_dev *dev, void *eep,
+                               const char *cell_name, int len)
 {
        struct device_node *np = dev->dev->of_node;
        struct nvmem_cell *cell;
        size_t retlen;
        int ret = 0;
 
-       cell = of_nvmem_cell_get(np, "eeprom");
+       cell = of_nvmem_cell_get(np, cell_name);
        if (IS_ERR(cell))
                return PTR_ERR(cell);
 
 
        return ret;
 }
+EXPORT_SYMBOL_GPL(mt76_get_of_data_from_nvmem);
 
 static int mt76_get_of_eeprom(struct mt76_dev *dev, void *eep, int len)
 {
        if (!ret)
                return 0;
 
-       return mt76_get_of_eeprom_from_nvmem(dev, eep, len);
+       return mt76_get_of_data_from_nvmem(dev, eep, "eeprom", len);
 }
 
 void
 
 int mt76_eeprom_init(struct mt76_dev *dev, int len);
 void mt76_eeprom_override(struct mt76_phy *phy);
 int mt76_get_of_data_from_mtd(struct mt76_dev *dev, void *eep, int offset, int len);
+int mt76_get_of_data_from_nvmem(struct mt76_dev *dev, void *eep,
+                               const char *cell_name, int len);
 
 struct mt76_queue *
 mt76_init_queue(struct mt76_dev *dev, int qid, int idx, int n_desc,