| /kernel/linux/linux-6.6/drivers/net/ethernet/freescale/dpaa2/ |
| D | dpaa2-mac.c | 10 #include "dpaa2-mac.h" 20 static int dpaa2_mac_cmp_ver(struct dpaa2_mac *mac, in dpaa2_mac_cmp_ver() argument 23 if (mac->ver_major == ver_major) in dpaa2_mac_cmp_ver() 24 return mac->ver_minor - ver_minor; in dpaa2_mac_cmp_ver() 25 return mac->ver_major - ver_major; in dpaa2_mac_cmp_ver() 28 static void dpaa2_mac_detect_features(struct dpaa2_mac *mac) in dpaa2_mac_detect_features() argument 30 mac->features = 0; in dpaa2_mac_detect_features() 32 if (dpaa2_mac_cmp_ver(mac, DPMAC_PROTOCOL_CHANGE_VER_MAJOR, in dpaa2_mac_detect_features() 34 mac->features |= DPAA2_MAC_FEATURE_PROTOCOL_CHANGE; in dpaa2_mac_detect_features() 155 struct dpaa2_mac *mac = phylink_to_dpaa2_mac(config); in dpaa2_mac_select_pcs() local [all …]
|
| /kernel/linux/linux-6.6/drivers/net/ethernet/chelsio/cxgb3/ |
| D | xgmac.c | 41 static inline int macidx(const struct cmac *mac) in macidx() argument 43 return mac->offset / (XGMAC0_1_BASE_ADDR - XGMAC0_0_BASE_ADDR); in macidx() 46 static void xaui_serdes_reset(struct cmac *mac) in xaui_serdes_reset() argument 54 struct adapter *adap = mac->adapter; in xaui_serdes_reset() 55 u32 ctrl = A_XGM_SERDES_CTRL0 + mac->offset; in xaui_serdes_reset() 57 t3_write_reg(adap, ctrl, adap->params.vpd.xauicfg[macidx(mac)] | in xaui_serdes_reset() 70 void t3b_pcs_reset(struct cmac *mac) in t3b_pcs_reset() argument 72 t3_set_reg_field(mac->adapter, A_XGM_RESET_CTRL + mac->offset, in t3b_pcs_reset() 75 t3_set_reg_field(mac->adapter, A_XGM_RESET_CTRL + mac->offset, 0, in t3b_pcs_reset() 79 int t3_mac_reset(struct cmac *mac) in t3_mac_reset() argument [all …]
|
| /kernel/linux/linux-5.10/drivers/net/ethernet/chelsio/cxgb3/ |
| D | xgmac.c | 41 static inline int macidx(const struct cmac *mac) in macidx() argument 43 return mac->offset / (XGMAC0_1_BASE_ADDR - XGMAC0_0_BASE_ADDR); in macidx() 46 static void xaui_serdes_reset(struct cmac *mac) in xaui_serdes_reset() argument 54 struct adapter *adap = mac->adapter; in xaui_serdes_reset() 55 u32 ctrl = A_XGM_SERDES_CTRL0 + mac->offset; in xaui_serdes_reset() 57 t3_write_reg(adap, ctrl, adap->params.vpd.xauicfg[macidx(mac)] | in xaui_serdes_reset() 70 void t3b_pcs_reset(struct cmac *mac) in t3b_pcs_reset() argument 72 t3_set_reg_field(mac->adapter, A_XGM_RESET_CTRL + mac->offset, in t3b_pcs_reset() 75 t3_set_reg_field(mac->adapter, A_XGM_RESET_CTRL + mac->offset, 0, in t3b_pcs_reset() 79 int t3_mac_reset(struct cmac *mac) in t3_mac_reset() argument [all …]
|
| /kernel/linux/linux-6.6/drivers/net/wireless/zydas/zd1211rw/ |
| D | zd_mac.c | 125 static void housekeeping_init(struct zd_mac *mac); 126 static void housekeeping_enable(struct zd_mac *mac); 127 static void housekeeping_disable(struct zd_mac *mac); 128 static void beacon_init(struct zd_mac *mac); 129 static void beacon_enable(struct zd_mac *mac); 130 static void beacon_disable(struct zd_mac *mac); 131 static void set_rts_cts(struct zd_mac *mac, unsigned int short_preamble); 152 struct zd_mac *mac = zd_hw_mac(hw); in zd_check_signal() local 154 dev_dbg_f_cond(zd_mac_dev(mac), signal < 0 || signal > 100, in zd_check_signal() 170 struct zd_mac *mac = zd_hw_mac(hw); in zd_mac_preinit_hw() local [all …]
|
| /kernel/linux/linux-5.10/drivers/net/wireless/zydas/zd1211rw/ |
| D | zd_mac.c | 125 static void housekeeping_init(struct zd_mac *mac); 126 static void housekeeping_enable(struct zd_mac *mac); 127 static void housekeeping_disable(struct zd_mac *mac); 128 static void beacon_init(struct zd_mac *mac); 129 static void beacon_enable(struct zd_mac *mac); 130 static void beacon_disable(struct zd_mac *mac); 131 static void set_rts_cts(struct zd_mac *mac, unsigned int short_preamble); 152 struct zd_mac *mac = zd_hw_mac(hw); in zd_check_signal() local 154 dev_dbg_f_cond(zd_mac_dev(mac), signal < 0 || signal > 100, in zd_check_signal() 170 struct zd_mac *mac = zd_hw_mac(hw); in zd_mac_preinit_hw() local [all …]
|
| /kernel/linux/linux-5.10/drivers/net/ethernet/freescale/dpaa2/ |
| D | dpaa2-mac.c | 5 #include "dpaa2-mac.h" 78 static bool dpaa2_mac_phy_mode_mismatch(struct dpaa2_mac *mac, in dpaa2_mac_phy_mode_mismatch() argument 90 return (interface != mac->if_mode); in dpaa2_mac_phy_mode_mismatch() 100 struct dpaa2_mac *mac = phylink_to_dpaa2_mac(config); in dpaa2_mac_validate() local 104 dpaa2_mac_phy_mode_mismatch(mac, state->interface)) { in dpaa2_mac_validate() 149 struct dpaa2_mac *mac = phylink_to_dpaa2_mac(config); in dpaa2_mac_config() local 150 struct dpmac_link_state *dpmac_state = &mac->state; in dpaa2_mac_config() 158 err = dpmac_set_link_state(mac->mc_io, 0, in dpaa2_mac_config() 159 mac->mc_dev->mc_handle, dpmac_state); in dpaa2_mac_config() 161 netdev_err(mac->net_dev, "%s: dpmac_set_link_state() = %d\n", in dpaa2_mac_config() [all …]
|
| /kernel/linux/linux-5.10/drivers/net/ethernet/pasemi/ |
| D | pasemi_mac.c | 65 MODULE_PARM_DESC(debug, "PA Semi MAC bitmapped debugging message enable value"); 83 static unsigned int read_mac_reg(const struct pasemi_mac *mac, unsigned int reg) in read_mac_reg() argument 85 return pasemi_read_mac_reg(mac->dma_if, reg); in read_mac_reg() 88 static void write_mac_reg(const struct pasemi_mac *mac, unsigned int reg, in write_mac_reg() argument 91 pasemi_write_mac_reg(mac->dma_if, reg, val); in write_mac_reg() 104 static struct pasemi_mac_rxring *rx_ring(const struct pasemi_mac *mac) in rx_ring() argument 106 return mac->rx; in rx_ring() 109 static struct pasemi_mac_txring *tx_ring(const struct pasemi_mac *mac) in tx_ring() argument 111 return mac->tx; in tx_ring() 124 static int mac_to_intf(struct pasemi_mac *mac) in mac_to_intf() argument [all …]
|
| /kernel/linux/linux-6.6/drivers/net/ethernet/pasemi/ |
| D | pasemi_mac.c | 65 MODULE_PARM_DESC(debug, "PA Semi MAC bitmapped debugging message enable value"); 83 static unsigned int read_mac_reg(const struct pasemi_mac *mac, unsigned int reg) in read_mac_reg() argument 85 return pasemi_read_mac_reg(mac->dma_if, reg); in read_mac_reg() 88 static void write_mac_reg(const struct pasemi_mac *mac, unsigned int reg, in write_mac_reg() argument 91 pasemi_write_mac_reg(mac->dma_if, reg, val); in write_mac_reg() 104 static struct pasemi_mac_rxring *rx_ring(const struct pasemi_mac *mac) in rx_ring() argument 106 return mac->rx; in rx_ring() 109 static struct pasemi_mac_txring *tx_ring(const struct pasemi_mac *mac) in tx_ring() argument 111 return mac->tx; in tx_ring() 124 static int mac_to_intf(struct pasemi_mac *mac) in mac_to_intf() argument [all …]
|
| /kernel/linux/linux-6.6/drivers/net/wireless/quantenna/qtnfmac/ |
| D | core.c | 42 struct qtnf_wmac *mac = NULL; in qtnf_core_get_mac() local 45 pr_err("invalid MAC index %u\n", macid); in qtnf_core_get_mac() 50 mac = bus->mac[macid]; in qtnf_core_get_mac() 52 if (unlikely(!mac)) { in qtnf_core_get_mac() 53 pr_err("MAC%u: not initialized\n", macid); in qtnf_core_get_mac() 57 return mac; in qtnf_core_get_mac() 84 queue_work(vif->mac->bus->hprio_workqueue, &vif->high_pri_tx_work); in qtnf_packet_send_hi_pri() 93 struct qtnf_wmac *mac; in qtnf_netdev_hard_start_xmit() local 109 mac = vif->mac; in qtnf_netdev_hard_start_xmit() 110 if (unlikely(!mac)) { in qtnf_netdev_hard_start_xmit() [all …]
|
| D | cfg80211.c | 78 struct qtnf_wmac *mac; in qtnf_validate_iface_combinations() local 86 mac = wiphy_priv(wiphy); in qtnf_validate_iface_combinations() 87 if (!mac) in qtnf_validate_iface_combinations() 91 vif = &mac->iflist[i]; in qtnf_validate_iface_combinations() 112 vif = qtnf_mac_get_base_vif(mac); in qtnf_validate_iface_combinations() 116 pr_err("MAC%u invalid combination: AP as primary repeater interface is not supported\n", in qtnf_validate_iface_combinations() 117 mac->macid); in qtnf_validate_iface_combinations() 137 vif->mac->macid, vif->vifid, type); in qtnf_change_virtual_intf() 146 qtnf_scan_done(vif->mac, true); in qtnf_change_virtual_intf() 151 vif->mac->macid, vif->vifid, type); in qtnf_change_virtual_intf() [all …]
|
| /kernel/linux/linux-6.6/drivers/net/ethernet/stmicro/stmmac/ |
| D | dwmac-ingenic.c | 75 struct ingenic_mac *mac = plat_dat->bsp_priv; in ingenic_mac_init() local 78 if (mac->soc_info->set_mode) { in ingenic_mac_init() 79 ret = mac->soc_info->set_mode(plat_dat); in ingenic_mac_init() 89 struct ingenic_mac *mac = plat_dat->bsp_priv; in jz4775_mac_set_mode() local 96 dev_dbg(mac->dev, "MAC PHY Control Register: PHY_INTERFACE_MODE_MII\n"); in jz4775_mac_set_mode() 102 dev_dbg(mac->dev, "MAC PHY Control Register: PHY_INTERFACE_MODE_GMII\n"); in jz4775_mac_set_mode() 108 dev_dbg(mac->dev, "MAC PHY Control Register: PHY_INTERFACE_MODE_RMII\n"); in jz4775_mac_set_mode() 117 dev_dbg(mac->dev, "MAC PHY Control Register: PHY_INTERFACE_MODE_RGMII\n"); in jz4775_mac_set_mode() 121 dev_err(mac->dev, "Unsupported interface %d", plat_dat->mac_interface); in jz4775_mac_set_mode() 125 /* Update MAC PHY control register */ in jz4775_mac_set_mode() [all …]
|
| /kernel/linux/linux-5.10/drivers/net/wireless/quantenna/qtnfmac/ |
| D | core.c | 42 struct qtnf_wmac *mac = NULL; in qtnf_core_get_mac() local 45 pr_err("invalid MAC index %u\n", macid); in qtnf_core_get_mac() 50 mac = bus->mac[macid]; in qtnf_core_get_mac() 52 if (unlikely(!mac)) { in qtnf_core_get_mac() 53 pr_err("MAC%u: not initialized\n", macid); in qtnf_core_get_mac() 57 return mac; in qtnf_core_get_mac() 84 queue_work(vif->mac->bus->hprio_workqueue, &vif->high_pri_tx_work); in qtnf_packet_send_hi_pri() 93 struct qtnf_wmac *mac; in qtnf_netdev_hard_start_xmit() local 109 mac = vif->mac; in qtnf_netdev_hard_start_xmit() 110 if (unlikely(!mac)) { in qtnf_netdev_hard_start_xmit() [all …]
|
| D | cfg80211.c | 78 struct qtnf_wmac *mac; in qtnf_validate_iface_combinations() local 86 mac = wiphy_priv(wiphy); in qtnf_validate_iface_combinations() 87 if (!mac) in qtnf_validate_iface_combinations() 91 vif = &mac->iflist[i]; in qtnf_validate_iface_combinations() 112 vif = qtnf_mac_get_base_vif(mac); in qtnf_validate_iface_combinations() 116 pr_err("MAC%u invalid combination: AP as primary repeater interface is not supported\n", in qtnf_validate_iface_combinations() 117 mac->macid); in qtnf_validate_iface_combinations() 137 vif->mac->macid, vif->vifid, type); in qtnf_change_virtual_intf() 146 qtnf_scan_done(vif->mac, true); in qtnf_change_virtual_intf() 151 vif->mac->macid, vif->vifid, type); in qtnf_change_virtual_intf() [all …]
|
| /kernel/linux/linux-6.6/drivers/net/wireless/purelifi/plfxlc/ |
| D | mac.c | 15 #include "mac.h" 88 struct plfxlc_mac *mac = plfxlc_hw_mac(hw); in plfxlc_mac_init_hw() local 89 struct plfxlc_chip *chip = &mac->chip; in plfxlc_mac_init_hw() 94 dev_warn(plfxlc_mac_dev(mac), "init hw failed (%d)\n", r); in plfxlc_mac_init_hw() 98 dev_dbg(plfxlc_mac_dev(mac), "irq_disabled (%d)\n", irqs_disabled()); in plfxlc_mac_init_hw() 103 void plfxlc_mac_release(struct plfxlc_mac *mac) in plfxlc_mac_release() argument 105 plfxlc_chip_release(&mac->chip); in plfxlc_mac_release() 116 struct plfxlc_mac *mac = plfxlc_hw_mac(hw); in plfxlc_op_stop() local 118 clear_bit(PURELIFI_DEVICE_RUNNING, &mac->flags); in plfxlc_op_stop() 121 int plfxlc_restore_settings(struct plfxlc_mac *mac) in plfxlc_restore_settings() argument [all …]
|
| /kernel/linux/linux-5.10/arch/m68k/include/uapi/asm/ |
| D | bootinfo-mac.h | 3 ** asm/bootinfo-mac.h -- Macintosh-specific boot information definitions 14 #define BI_MAC_MODEL 0x8000 /* Mac Gestalt ID (model type) */ 15 #define BI_MAC_VADDR 0x8001 /* Mac video base address */ 16 #define BI_MAC_VDEPTH 0x8002 /* Mac video depth */ 17 #define BI_MAC_VROW 0x8003 /* Mac video rowbytes */ 18 #define BI_MAC_VDIM 0x8004 /* Mac video dimensions */ 19 #define BI_MAC_VLOGICAL 0x8005 /* Mac video logical base */ 20 #define BI_MAC_SCCBASE 0x8006 /* Mac SCC base address */ 21 #define BI_MAC_BTIME 0x8007 /* Mac boot time */ 22 #define BI_MAC_GMTBIAS 0x8008 /* Mac GMT timezone offset */ [all …]
|
| /kernel/linux/linux-6.6/arch/m68k/include/uapi/asm/ |
| D | bootinfo-mac.h | 3 ** asm/bootinfo-mac.h -- Macintosh-specific boot information definitions 14 #define BI_MAC_MODEL 0x8000 /* Mac Gestalt ID (model type) */ 15 #define BI_MAC_VADDR 0x8001 /* Mac video base address */ 16 #define BI_MAC_VDEPTH 0x8002 /* Mac video depth */ 17 #define BI_MAC_VROW 0x8003 /* Mac video rowbytes */ 18 #define BI_MAC_VDIM 0x8004 /* Mac video dimensions */ 19 #define BI_MAC_VLOGICAL 0x8005 /* Mac video logical base */ 20 #define BI_MAC_SCCBASE 0x8006 /* Mac SCC base address */ 21 #define BI_MAC_BTIME 0x8007 /* Mac boot time */ 22 #define BI_MAC_GMTBIAS 0x8008 /* Mac GMT timezone offset */ [all …]
|
| /kernel/linux/linux-6.6/drivers/net/ethernet/chelsio/cxgb/ |
| D | vsc7326.c | 4 /* Driver for Vitesse VSC7326 (Schaumburg) MAC */ 16 * interface is down (MAC port disabled). This is a workaround 17 * for disabling the T2/MAC flow-control. When the interface is 50 pr_err("Invalid tpi read from MAC, breaking loop.\n"); in vsc_read() 74 /* Hard reset the MAC. This wipes out *all* configuration. */ 84 val |= 0x1; /* Enable mac MAC itself */ in vsc7326_full_reset() 361 static int mac_intr_handler(struct cmac *mac) in mac_intr_handler() argument 366 static int mac_intr_enable(struct cmac *mac) in mac_intr_enable() argument 371 static int mac_intr_disable(struct cmac *mac) in mac_intr_disable() argument 376 static int mac_intr_clear(struct cmac *mac) in mac_intr_clear() argument [all …]
|
| /kernel/linux/linux-5.10/drivers/net/ethernet/chelsio/cxgb/ |
| D | vsc7326.c | 4 /* Driver for Vitesse VSC7326 (Schaumburg) MAC */ 16 * interface is down (MAC port disabled). This is a workaround 17 * for disabling the T2/MAC flow-control. When the interface is 50 pr_err("Invalid tpi read from MAC, breaking loop.\n"); in vsc_read() 74 /* Hard reset the MAC. This wipes out *all* configuration. */ 84 val |= 0x1; /* Enable mac MAC itself */ in vsc7326_full_reset() 361 static int mac_intr_handler(struct cmac *mac) in mac_intr_handler() argument 366 static int mac_intr_enable(struct cmac *mac) in mac_intr_enable() argument 371 static int mac_intr_disable(struct cmac *mac) in mac_intr_disable() argument 376 static int mac_intr_clear(struct cmac *mac) in mac_intr_clear() argument [all …]
|
| /kernel/linux/linux-6.6/drivers/net/ethernet/microchip/lan966x/ |
| D | lan966x_mdb.c | 16 unsigned char mac[ETH_ALEN]; member 57 const unsigned char *mac, in lan966x_mdb_entry_get() argument 63 if (ether_addr_equal(mdb_entry->mac, mac) && in lan966x_mdb_entry_get() 81 ether_addr_copy(mdb_entry->mac, mdb->addr); in lan966x_mdb_entry_add() 89 static void lan966x_mdb_encode_mac(unsigned char *mac, in lan966x_mdb_encode_mac() argument 93 ether_addr_copy(mac, mdb_entry->mac); in lan966x_mdb_encode_mac() 96 mac[0] = 0; in lan966x_mdb_encode_mac() 97 mac[1] = mdb_entry->ports >> 8; in lan966x_mdb_encode_mac() 98 mac[2] = mdb_entry->ports & 0xff; in lan966x_mdb_encode_mac() 100 mac[0] = mdb_entry->ports >> 8; in lan966x_mdb_encode_mac() [all …]
|
| D | lan966x_mac.c | 21 unsigned char mac[ETH_ALEN] __aligned(2); member 53 const unsigned char mac[ETH_ALEN], in lan966x_mac_select() 58 /* Set the MAC address to handle and the vlan associated in a format in lan966x_mac_select() 62 mach |= mac[0] << 8; in lan966x_mac_select() 63 mach |= mac[1] << 0; in lan966x_mac_select() 64 macl |= mac[2] << 24; in lan966x_mac_select() 65 macl |= mac[3] << 16; in lan966x_mac_select() 66 macl |= mac[4] << 8; in lan966x_mac_select() 67 macl |= mac[5] << 0; in lan966x_mac_select() 75 const unsigned char mac[ETH_ALEN], in __lan966x_mac_learn_locked() [all …]
|
| /kernel/linux/linux-5.10/drivers/staging/netlogic/ |
| D | platform_net.c | 67 int mac; in gmac_controller2_init() local 92 for (mac = 0; mac < 4; mac++) { in gmac_controller2_init() 93 ndata1.tx_stnid[mac] = FMN_STNID_GMAC1_TX0 + mac; in gmac_controller2_init() 94 ndata1.phy_addr[mac] = mac + 4 + 0x10; in gmac_controller2_init() 96 xlr_resource_init(&xlr_net1_res[mac * 2], in gmac_controller2_init() 97 xlr_gmac_offsets[mac + 4], in gmac_controller2_init() 98 xlr_gmac_irqs[mac + 4]); in gmac_controller2_init() 107 int mac; in xls_gmac_init() local 155 for (mac = 0; mac < 4; mac++) { in xls_gmac_init() 156 ndata0.tx_stnid[mac] = FMN_STNID_GMAC0_TX0 + mac; in xls_gmac_init() [all …]
|
| /kernel/linux/linux-6.6/drivers/net/ethernet/sunplus/ |
| D | spl2sw_driver.c | 27 struct spl2sw_mac *mac = netdev_priv(ndev); in spl2sw_ethernet_open() local 28 struct spl2sw_common *comm = mac->comm; in spl2sw_ethernet_open() 31 netdev_dbg(ndev, "Open port = %x\n", mac->lan_port); in spl2sw_ethernet_open() 33 comm->enable |= mac->lan_port; in spl2sw_ethernet_open() 51 struct spl2sw_mac *mac = netdev_priv(ndev); in spl2sw_ethernet_stop() local 52 struct spl2sw_common *comm = mac->comm; in spl2sw_ethernet_stop() 56 comm->enable &= ~mac->lan_port; in spl2sw_ethernet_stop() 68 struct spl2sw_mac *mac = netdev_priv(ndev); in spl2sw_ethernet_start_xmit() local 69 struct spl2sw_common *comm = mac->comm; in spl2sw_ethernet_start_xmit() 110 cmd1 = TXD_OWN | TXD_SOP | TXD_EOP | (mac->to_vlan << 12) | in spl2sw_ethernet_start_xmit() [all …]
|
| /kernel/linux/linux-6.6/drivers/net/ethernet/microchip/sparx5/ |
| D | sparx5_mactable.c | 14 /* Commands for Mac Table Command register */ 18 #define MAC_CMD_READ 3 /* Read entry at Mac Table Index */ 19 #define MAC_CMD_WRITE 4 /* Write entry at Mac Table Index */ 35 unsigned char mac[ETH_ALEN]; member 60 const unsigned char mac[ETH_ALEN], in sparx5_mact_select() 65 /* Set the MAC address to handle and the vlan associated in a format in sparx5_mact_select() 69 mach |= mac[0] << 8; in sparx5_mact_select() 70 mach |= mac[1] << 0; in sparx5_mact_select() 71 macl |= mac[2] << 24; in sparx5_mact_select() 72 macl |= mac[3] << 16; in sparx5_mact_select() [all …]
|
| /kernel/linux/linux-6.6/drivers/net/ethernet/freescale/enetc/ |
| D | enetc_hw.h | 303 /* Port MAC counters: Port MAC 0 corresponds to the eMAC and 304 * Port MAC 1 to the pMAC. 306 #define ENETC_PM_REOCT(mac) (0x8100 + ENETC_PMAC_OFFSET * (mac)) argument 307 #define ENETC_PM_RALN(mac) (0x8110 + ENETC_PMAC_OFFSET * (mac)) argument 308 #define ENETC_PM_RXPF(mac) (0x8118 + ENETC_PMAC_OFFSET * (mac)) argument 309 #define ENETC_PM_RFRM(mac) (0x8120 + ENETC_PMAC_OFFSET * (mac)) argument 310 #define ENETC_PM_RFCS(mac) (0x8128 + ENETC_PMAC_OFFSET * (mac)) argument 311 #define ENETC_PM_RVLAN(mac) (0x8130 + ENETC_PMAC_OFFSET * (mac)) argument 312 #define ENETC_PM_RERR(mac) (0x8138 + ENETC_PMAC_OFFSET * (mac)) argument 313 #define ENETC_PM_RUCA(mac) (0x8140 + ENETC_PMAC_OFFSET * (mac)) argument [all …]
|
| /kernel/linux/linux-6.6/net/core/ |
| D | of_net.c | 65 const void *mac; in of_get_mac_address_nvmem() local 78 cell = of_nvmem_cell_get(np, "mac-address"); in of_get_mac_address_nvmem() 82 mac = nvmem_cell_read(cell, &len); in of_get_mac_address_nvmem() 85 if (IS_ERR(mac)) in of_get_mac_address_nvmem() 86 return PTR_ERR(mac); in of_get_mac_address_nvmem() 88 if (len != ETH_ALEN || !is_valid_ether_addr(mac)) { in of_get_mac_address_nvmem() 89 kfree(mac); in of_get_mac_address_nvmem() 93 memcpy(addr, mac, ETH_ALEN); in of_get_mac_address_nvmem() 94 kfree(mac); in of_get_mac_address_nvmem() 105 * Search the device tree for the best MAC address to use. 'mac-address' is [all …]
|