int zd_ioread32v(struct zd_chip *chip, const zd_addr_t *addresses, u32 *values, unsigned int count) { int r; mutex_lock(&chip->mutex); r = zd_ioread32v_locked(chip, values, addresses, count); mutex_unlock(&chip->mutex); return r; }
static int _read_mac_addr(struct zd_chip *chip, u8 *mac_addr, const zd_addr_t *addr) { int r; u32 parts[2]; r = zd_ioread32v_locked(chip, parts, (const zd_addr_t *)addr, 2); if (r) { dev_dbg_f(zd_chip_dev(chip), "error: couldn't read e2p macs. Error number %d\n", r); return r; } mac_addr[0] = parts[0]; mac_addr[1] = parts[0] >> 8; mac_addr[2] = parts[0] >> 16; mac_addr[3] = parts[0] >> 24; mac_addr[4] = parts[1]; mac_addr[5] = parts[1] >> 8; return 0; }