Maybe it would be simpler as three separate functions: int of_eth_get_mac_address() <- rename existing function to this int nvmem_eth_get_mac_address() <- patch 2 int mtd_eth_nvmem_get_mac_address() patch 3 int ret; ret = of_eth_get_mac_address(dev, mac_addr); if (!ret) return 0; ret = nvmem_eth_get_mac_address(dev, mac_addr); if (ret == -EPROBEDEFER) return ret; if (!ret) return 0; ret = mtd_eth_nvmem_get_mac_address(dev, mac_addr); if (!ret) return 0; return -ENODEV; regards, dan carpenter -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html