static ssize_t show_pch_mac(struct device *dev, struct device_attribute *attr, char *buf) { u8 mac[8]; struct pch_phub_reg *chip = dev_get_drvdata(dev); pch_phub_read_gbe_mac_addr(chip, mac); return sprintf(buf, "%02x:%02x:%02x:%02x:%02x:%02x\n", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]); }
static ssize_t show_pch_mac(struct device *dev, struct device_attribute *attr, char *buf) { u8 mac[8]; struct pch_phub_reg *chip = dev_get_drvdata(dev); ssize_t rom_size; chip->pch_phub_extrom_base_address = pci_map_rom(chip->pdev, &rom_size); if (!chip->pch_phub_extrom_base_address) return -ENOMEM; pch_phub_read_gbe_mac_addr(chip, mac); pci_unmap_rom(chip->pdev, chip->pch_phub_extrom_base_address); return sprintf(buf, "%pM\n", mac); }