devrec 542 drivers/net/ieee802154/mrf24j40.c struct mrf24j40 *devrec = context; devrec 543 drivers/net/ieee802154/mrf24j40.c __le16 fc = ieee802154_get_fc_from_skb(devrec->tx_skb); devrec 553 drivers/net/ieee802154/mrf24j40.c devrec->tx_post_msg.complete = NULL; devrec 554 drivers/net/ieee802154/mrf24j40.c devrec->tx_post_buf[0] = MRF24J40_WRITESHORT(REG_TXNCON); devrec 555 drivers/net/ieee802154/mrf24j40.c devrec->tx_post_buf[1] = val; devrec 557 drivers/net/ieee802154/mrf24j40.c ret = spi_async(devrec->spi, &devrec->tx_post_msg); devrec 559 drivers/net/ieee802154/mrf24j40.c dev_err(printdev(devrec), "SPI write Failed for transmit buf\n"); devrec 565 drivers/net/ieee802154/mrf24j40.c static int write_tx_buf(struct mrf24j40 *devrec, u16 reg, devrec 573 drivers/net/ieee802154/mrf24j40.c dev_err(printdev(devrec), "write_tx_buf() was passed too large a buffer. Performing short write.\n"); devrec 578 drivers/net/ieee802154/mrf24j40.c devrec->tx_hdr_buf[0] = cmd >> 8 & 0xff; devrec 579 drivers/net/ieee802154/mrf24j40.c devrec->tx_hdr_buf[1] = cmd & 0xff; devrec 580 drivers/net/ieee802154/mrf24j40.c devrec->tx_len_buf[0] = 0x0; /* Header Length. Set to 0 for now. TODO */ devrec 581 drivers/net/ieee802154/mrf24j40.c devrec->tx_len_buf[1] = length; /* Total length */ devrec 582 drivers/net/ieee802154/mrf24j40.c devrec->tx_buf_trx.tx_buf = data; devrec 583 drivers/net/ieee802154/mrf24j40.c devrec->tx_buf_trx.len = length; devrec 585 drivers/net/ieee802154/mrf24j40.c ret = spi_async(devrec->spi, &devrec->tx_msg); devrec 587 drivers/net/ieee802154/mrf24j40.c dev_err(printdev(devrec), "SPI write Failed for TX buf\n"); devrec 594 drivers/net/ieee802154/mrf24j40.c struct mrf24j40 *devrec = hw->priv; devrec 596 drivers/net/ieee802154/mrf24j40.c dev_dbg(printdev(devrec), "tx packet of %d bytes\n", skb->len); devrec 597 drivers/net/ieee802154/mrf24j40.c devrec->tx_skb = skb; devrec 599 drivers/net/ieee802154/mrf24j40.c return write_tx_buf(devrec, 0x000, skb->data, skb->len); devrec 612 drivers/net/ieee802154/mrf24j40.c struct mrf24j40 *devrec = hw->priv; devrec 614 drivers/net/ieee802154/mrf24j40.c dev_dbg(printdev(devrec), "start\n"); devrec 617 drivers/net/ieee802154/mrf24j40.c return regmap_update_bits(devrec->regmap_short, REG_INTCON, devrec 623 drivers/net/ieee802154/mrf24j40.c struct mrf24j40 *devrec = hw->priv; devrec 625 drivers/net/ieee802154/mrf24j40.c dev_dbg(printdev(devrec), "stop\n"); devrec 628 drivers/net/ieee802154/mrf24j40.c regmap_update_bits(devrec->regmap_short, REG_INTCON, devrec 634 drivers/net/ieee802154/mrf24j40.c struct mrf24j40 *devrec = hw->priv; devrec 638 drivers/net/ieee802154/mrf24j40.c dev_dbg(printdev(devrec), "Set Channel %d\n", channel); devrec 646 drivers/net/ieee802154/mrf24j40.c ret = regmap_update_bits(devrec->regmap_long, REG_RFCON0, devrec 652 drivers/net/ieee802154/mrf24j40.c ret = regmap_update_bits(devrec->regmap_short, REG_RFCTL, BIT_RFRST, devrec 657 drivers/net/ieee802154/mrf24j40.c ret = regmap_update_bits(devrec->regmap_short, REG_RFCTL, BIT_RFRST, 0); devrec 668 drivers/net/ieee802154/mrf24j40.c struct mrf24j40 *devrec = hw->priv; devrec 670 drivers/net/ieee802154/mrf24j40.c dev_dbg(printdev(devrec), "filter\n"); devrec 679 drivers/net/ieee802154/mrf24j40.c regmap_write(devrec->regmap_short, REG_SADRH, addrh); devrec 680 drivers/net/ieee802154/mrf24j40.c regmap_write(devrec->regmap_short, REG_SADRL, addrl); devrec 681 drivers/net/ieee802154/mrf24j40.c dev_dbg(printdev(devrec), devrec 691 drivers/net/ieee802154/mrf24j40.c regmap_write(devrec->regmap_short, REG_EADR0 + i, devrec 708 drivers/net/ieee802154/mrf24j40.c regmap_write(devrec->regmap_short, REG_PANIDH, panidh); devrec 709 drivers/net/ieee802154/mrf24j40.c regmap_write(devrec->regmap_short, REG_PANIDL, panidl); devrec 711 drivers/net/ieee802154/mrf24j40.c dev_dbg(printdev(devrec), "Set PANID to %04hx\n", filt->pan_id); devrec 723 drivers/net/ieee802154/mrf24j40.c ret = regmap_update_bits(devrec->regmap_short, REG_RXMCR, devrec 732 drivers/net/ieee802154/mrf24j40.c dev_dbg(printdev(devrec), "Set Pan Coord to %s\n", devrec 739 drivers/net/ieee802154/mrf24j40.c static void mrf24j40_handle_rx_read_buf_unlock(struct mrf24j40 *devrec) devrec 744 drivers/net/ieee802154/mrf24j40.c devrec->rx_msg.complete = NULL; devrec 745 drivers/net/ieee802154/mrf24j40.c devrec->rx_buf[0] = MRF24J40_WRITESHORT(REG_BBREG1); devrec 746 drivers/net/ieee802154/mrf24j40.c devrec->rx_buf[1] = 0x00; /* CLR RXDECINV */ devrec 747 drivers/net/ieee802154/mrf24j40.c ret = spi_async(devrec->spi, &devrec->rx_msg); devrec 749 drivers/net/ieee802154/mrf24j40.c dev_err(printdev(devrec), "failed to unlock rx buffer\n"); devrec 754 drivers/net/ieee802154/mrf24j40.c struct mrf24j40 *devrec = context; devrec 755 drivers/net/ieee802154/mrf24j40.c u8 len = devrec->rx_buf[2]; devrec 759 drivers/net/ieee802154/mrf24j40.c memcpy(rx_local_buf, devrec->rx_fifo_buf, len); devrec 760 drivers/net/ieee802154/mrf24j40.c mrf24j40_handle_rx_read_buf_unlock(devrec); devrec 764 drivers/net/ieee802154/mrf24j40.c dev_err(printdev(devrec), "failed to allocate skb\n"); devrec 769 drivers/net/ieee802154/mrf24j40.c ieee802154_rx_irqsafe(devrec->hw, skb, 0); devrec 775 drivers/net/ieee802154/mrf24j40.c devrec->rx_lqi_buf[0], devrec->rx_lqi_buf[1]); devrec 781 drivers/net/ieee802154/mrf24j40.c struct mrf24j40 *devrec = context; devrec 786 drivers/net/ieee802154/mrf24j40.c if (!ieee802154_is_valid_psdu_len(devrec->rx_buf[2])) devrec 787 drivers/net/ieee802154/mrf24j40.c devrec->rx_buf[2] = IEEE802154_MTU; devrec 790 drivers/net/ieee802154/mrf24j40.c devrec->rx_addr_buf[0] = cmd >> 8 & 0xff; devrec 791 drivers/net/ieee802154/mrf24j40.c devrec->rx_addr_buf[1] = cmd & 0xff; devrec 792 drivers/net/ieee802154/mrf24j40.c devrec->rx_fifo_buf_trx.len = devrec->rx_buf[2]; devrec 793 drivers/net/ieee802154/mrf24j40.c ret = spi_async(devrec->spi, &devrec->rx_buf_msg); devrec 795 drivers/net/ieee802154/mrf24j40.c dev_err(printdev(devrec), "failed to read rx buffer\n"); devrec 796 drivers/net/ieee802154/mrf24j40.c mrf24j40_handle_rx_read_buf_unlock(devrec); devrec 802 drivers/net/ieee802154/mrf24j40.c struct mrf24j40 *devrec = context; devrec 807 drivers/net/ieee802154/mrf24j40.c devrec->rx_msg.complete = mrf24j40_handle_rx_read_buf; devrec 808 drivers/net/ieee802154/mrf24j40.c devrec->rx_trx.len = 3; devrec 810 drivers/net/ieee802154/mrf24j40.c devrec->rx_buf[0] = cmd >> 8 & 0xff; devrec 811 drivers/net/ieee802154/mrf24j40.c devrec->rx_buf[1] = cmd & 0xff; devrec 813 drivers/net/ieee802154/mrf24j40.c ret = spi_async(devrec->spi, &devrec->rx_msg); devrec 815 drivers/net/ieee802154/mrf24j40.c dev_err(printdev(devrec), "failed to read rx buffer length\n"); devrec 816 drivers/net/ieee802154/mrf24j40.c mrf24j40_handle_rx_read_buf_unlock(devrec); devrec 820 drivers/net/ieee802154/mrf24j40.c static int mrf24j40_handle_rx(struct mrf24j40 *devrec) devrec 825 drivers/net/ieee802154/mrf24j40.c devrec->rx_msg.complete = mrf24j40_handle_rx_read_len; devrec 826 drivers/net/ieee802154/mrf24j40.c devrec->rx_trx.len = 2; devrec 827 drivers/net/ieee802154/mrf24j40.c devrec->rx_buf[0] = MRF24J40_WRITESHORT(REG_BBREG1); devrec 828 drivers/net/ieee802154/mrf24j40.c devrec->rx_buf[1] = BIT_RXDECINV; /* SET RXDECINV */ devrec 830 drivers/net/ieee802154/mrf24j40.c return spi_async(devrec->spi, &devrec->rx_msg); devrec 837 drivers/net/ieee802154/mrf24j40.c struct mrf24j40 *devrec = hw->priv; devrec 845 drivers/net/ieee802154/mrf24j40.c return regmap_update_bits(devrec->regmap_short, REG_TXMCR, devrec 853 drivers/net/ieee802154/mrf24j40.c struct mrf24j40 *devrec = hw->priv; devrec 877 drivers/net/ieee802154/mrf24j40.c return regmap_update_bits(devrec->regmap_short, REG_BBREG2, devrec 912 drivers/net/ieee802154/mrf24j40.c struct mrf24j40 *devrec = hw->priv; devrec 917 drivers/net/ieee802154/mrf24j40.c return regmap_write(devrec->regmap_short, REG_CCAEDTH, devrec 932 drivers/net/ieee802154/mrf24j40.c struct mrf24j40 *devrec = hw->priv; devrec 981 drivers/net/ieee802154/mrf24j40.c return regmap_update_bits(devrec->regmap_long, REG_RFCON3, devrec 987 drivers/net/ieee802154/mrf24j40.c struct mrf24j40 *devrec = hw->priv; devrec 992 drivers/net/ieee802154/mrf24j40.c ret = regmap_update_bits(devrec->regmap_short, REG_RXMCR, devrec 997 drivers/net/ieee802154/mrf24j40.c ret = regmap_update_bits(devrec->regmap_short, REG_RXMCR, devrec 1022 drivers/net/ieee802154/mrf24j40.c struct mrf24j40 *devrec = context; devrec 1023 drivers/net/ieee802154/mrf24j40.c u8 intstat = devrec->irq_buf[1]; devrec 1025 drivers/net/ieee802154/mrf24j40.c enable_irq(devrec->spi->irq); devrec 1029 drivers/net/ieee802154/mrf24j40.c regmap_write_async(devrec->regmap_short, REG_SECCON0, devrec 1034 drivers/net/ieee802154/mrf24j40.c ieee802154_xmit_complete(devrec->hw, devrec->tx_skb, false); devrec 1038 drivers/net/ieee802154/mrf24j40.c mrf24j40_handle_rx(devrec); devrec 1043 drivers/net/ieee802154/mrf24j40.c struct mrf24j40 *devrec = data; devrec 1048 drivers/net/ieee802154/mrf24j40.c devrec->irq_buf[0] = MRF24J40_READSHORT(REG_INTSTAT); devrec 1049 drivers/net/ieee802154/mrf24j40.c devrec->irq_buf[1] = 0; devrec 1052 drivers/net/ieee802154/mrf24j40.c ret = spi_async(devrec->spi, &devrec->irq_msg); devrec 1061 drivers/net/ieee802154/mrf24j40.c static int mrf24j40_hw_init(struct mrf24j40 *devrec) devrec 1068 drivers/net/ieee802154/mrf24j40.c ret = regmap_write(devrec->regmap_short, REG_SOFTRST, 0x07); devrec 1072 drivers/net/ieee802154/mrf24j40.c ret = regmap_write(devrec->regmap_short, REG_PACON2, 0x98); devrec 1076 drivers/net/ieee802154/mrf24j40.c ret = regmap_write(devrec->regmap_short, REG_TXSTBL, 0x95); devrec 1080 drivers/net/ieee802154/mrf24j40.c ret = regmap_write(devrec->regmap_long, REG_RFCON0, 0x03); devrec 1084 drivers/net/ieee802154/mrf24j40.c ret = regmap_write(devrec->regmap_long, REG_RFCON1, 0x01); devrec 1088 drivers/net/ieee802154/mrf24j40.c ret = regmap_write(devrec->regmap_long, REG_RFCON2, 0x80); devrec 1092 drivers/net/ieee802154/mrf24j40.c ret = regmap_write(devrec->regmap_long, REG_RFCON6, 0x90); devrec 1096 drivers/net/ieee802154/mrf24j40.c ret = regmap_write(devrec->regmap_long, REG_RFCON7, 0x80); devrec 1100 drivers/net/ieee802154/mrf24j40.c ret = regmap_write(devrec->regmap_long, REG_RFCON8, 0x10); devrec 1104 drivers/net/ieee802154/mrf24j40.c ret = regmap_write(devrec->regmap_long, REG_SLPCON1, 0x21); devrec 1108 drivers/net/ieee802154/mrf24j40.c ret = regmap_write(devrec->regmap_short, REG_BBREG2, 0x80); devrec 1112 drivers/net/ieee802154/mrf24j40.c ret = regmap_write(devrec->regmap_short, REG_CCAEDTH, 0x60); devrec 1116 drivers/net/ieee802154/mrf24j40.c ret = regmap_write(devrec->regmap_short, REG_BBREG6, 0x40); devrec 1120 drivers/net/ieee802154/mrf24j40.c ret = regmap_write(devrec->regmap_short, REG_RFCTL, 0x04); devrec 1124 drivers/net/ieee802154/mrf24j40.c ret = regmap_write(devrec->regmap_short, REG_RFCTL, 0x0); devrec 1131 drivers/net/ieee802154/mrf24j40.c ret = regmap_update_bits(devrec->regmap_short, REG_RXMCR, 0x03, 0x00); devrec 1135 drivers/net/ieee802154/mrf24j40.c if (spi_get_device_id(devrec->spi)->driver_data == MRF24J40MC) { devrec 1139 drivers/net/ieee802154/mrf24j40.c regmap_update_bits(devrec->regmap_long, REG_TESTMODE, 0x07, devrec 1143 drivers/net/ieee802154/mrf24j40.c regmap_update_bits(devrec->regmap_short, REG_TRISGPIO, 0x08, devrec 1147 drivers/net/ieee802154/mrf24j40.c regmap_update_bits(devrec->regmap_short, REG_GPIO, 0x08, 0x08); devrec 1152 drivers/net/ieee802154/mrf24j40.c regmap_write(devrec->regmap_long, REG_RFCON3, 0x28); devrec 1155 drivers/net/ieee802154/mrf24j40.c irq_type = irq_get_trigger_type(devrec->spi->irq); devrec 1158 drivers/net/ieee802154/mrf24j40.c dev_warn(&devrec->spi->dev, devrec 1164 drivers/net/ieee802154/mrf24j40.c ret = regmap_update_bits(devrec->regmap_long, REG_SLPCON0, devrec 1181 drivers/net/ieee802154/mrf24j40.c mrf24j40_setup_tx_spi_messages(struct mrf24j40 *devrec) devrec 1183 drivers/net/ieee802154/mrf24j40.c spi_message_init(&devrec->tx_msg); devrec 1184 drivers/net/ieee802154/mrf24j40.c devrec->tx_msg.context = devrec; devrec 1185 drivers/net/ieee802154/mrf24j40.c devrec->tx_msg.complete = write_tx_buf_complete; devrec 1186 drivers/net/ieee802154/mrf24j40.c devrec->tx_hdr_trx.len = 2; devrec 1187 drivers/net/ieee802154/mrf24j40.c devrec->tx_hdr_trx.tx_buf = devrec->tx_hdr_buf; devrec 1188 drivers/net/ieee802154/mrf24j40.c spi_message_add_tail(&devrec->tx_hdr_trx, &devrec->tx_msg); devrec 1189 drivers/net/ieee802154/mrf24j40.c devrec->tx_len_trx.len = 2; devrec 1190 drivers/net/ieee802154/mrf24j40.c devrec->tx_len_trx.tx_buf = devrec->tx_len_buf; devrec 1191 drivers/net/ieee802154/mrf24j40.c spi_message_add_tail(&devrec->tx_len_trx, &devrec->tx_msg); devrec 1192 drivers/net/ieee802154/mrf24j40.c spi_message_add_tail(&devrec->tx_buf_trx, &devrec->tx_msg); devrec 1194 drivers/net/ieee802154/mrf24j40.c spi_message_init(&devrec->tx_post_msg); devrec 1195 drivers/net/ieee802154/mrf24j40.c devrec->tx_post_msg.context = devrec; devrec 1196 drivers/net/ieee802154/mrf24j40.c devrec->tx_post_trx.len = 2; devrec 1197 drivers/net/ieee802154/mrf24j40.c devrec->tx_post_trx.tx_buf = devrec->tx_post_buf; devrec 1198 drivers/net/ieee802154/mrf24j40.c spi_message_add_tail(&devrec->tx_post_trx, &devrec->tx_post_msg); devrec 1202 drivers/net/ieee802154/mrf24j40.c mrf24j40_setup_rx_spi_messages(struct mrf24j40 *devrec) devrec 1204 drivers/net/ieee802154/mrf24j40.c spi_message_init(&devrec->rx_msg); devrec 1205 drivers/net/ieee802154/mrf24j40.c devrec->rx_msg.context = devrec; devrec 1206 drivers/net/ieee802154/mrf24j40.c devrec->rx_trx.len = 2; devrec 1207 drivers/net/ieee802154/mrf24j40.c devrec->rx_trx.tx_buf = devrec->rx_buf; devrec 1208 drivers/net/ieee802154/mrf24j40.c devrec->rx_trx.rx_buf = devrec->rx_buf; devrec 1209 drivers/net/ieee802154/mrf24j40.c spi_message_add_tail(&devrec->rx_trx, &devrec->rx_msg); devrec 1211 drivers/net/ieee802154/mrf24j40.c spi_message_init(&devrec->rx_buf_msg); devrec 1212 drivers/net/ieee802154/mrf24j40.c devrec->rx_buf_msg.context = devrec; devrec 1213 drivers/net/ieee802154/mrf24j40.c devrec->rx_buf_msg.complete = mrf24j40_handle_rx_read_buf_complete; devrec 1214 drivers/net/ieee802154/mrf24j40.c devrec->rx_addr_trx.len = 2; devrec 1215 drivers/net/ieee802154/mrf24j40.c devrec->rx_addr_trx.tx_buf = devrec->rx_addr_buf; devrec 1216 drivers/net/ieee802154/mrf24j40.c spi_message_add_tail(&devrec->rx_addr_trx, &devrec->rx_buf_msg); devrec 1217 drivers/net/ieee802154/mrf24j40.c devrec->rx_fifo_buf_trx.rx_buf = devrec->rx_fifo_buf; devrec 1218 drivers/net/ieee802154/mrf24j40.c spi_message_add_tail(&devrec->rx_fifo_buf_trx, &devrec->rx_buf_msg); devrec 1219 drivers/net/ieee802154/mrf24j40.c devrec->rx_lqi_trx.len = 2; devrec 1220 drivers/net/ieee802154/mrf24j40.c devrec->rx_lqi_trx.rx_buf = devrec->rx_lqi_buf; devrec 1221 drivers/net/ieee802154/mrf24j40.c spi_message_add_tail(&devrec->rx_lqi_trx, &devrec->rx_buf_msg); devrec 1225 drivers/net/ieee802154/mrf24j40.c mrf24j40_setup_irq_spi_messages(struct mrf24j40 *devrec) devrec 1227 drivers/net/ieee802154/mrf24j40.c spi_message_init(&devrec->irq_msg); devrec 1228 drivers/net/ieee802154/mrf24j40.c devrec->irq_msg.context = devrec; devrec 1229 drivers/net/ieee802154/mrf24j40.c devrec->irq_msg.complete = mrf24j40_intstat_complete; devrec 1230 drivers/net/ieee802154/mrf24j40.c devrec->irq_trx.len = 2; devrec 1231 drivers/net/ieee802154/mrf24j40.c devrec->irq_trx.tx_buf = devrec->irq_buf; devrec 1232 drivers/net/ieee802154/mrf24j40.c devrec->irq_trx.rx_buf = devrec->irq_buf; devrec 1233 drivers/net/ieee802154/mrf24j40.c spi_message_add_tail(&devrec->irq_trx, &devrec->irq_msg); devrec 1236 drivers/net/ieee802154/mrf24j40.c static void mrf24j40_phy_setup(struct mrf24j40 *devrec) devrec 1238 drivers/net/ieee802154/mrf24j40.c ieee802154_random_extended_addr(&devrec->hw->phy->perm_extended_addr); devrec 1239 drivers/net/ieee802154/mrf24j40.c devrec->hw->phy->current_channel = 11; devrec 1242 drivers/net/ieee802154/mrf24j40.c devrec->hw->phy->supported.max_minbe = 3; devrec 1246 drivers/net/ieee802154/mrf24j40.c devrec->hw->phy->supported.min_maxbe = 5; devrec 1247 drivers/net/ieee802154/mrf24j40.c devrec->hw->phy->supported.max_maxbe = 5; devrec 1249 drivers/net/ieee802154/mrf24j40.c devrec->hw->phy->cca.mode = NL802154_CCA_CARRIER; devrec 1250 drivers/net/ieee802154/mrf24j40.c devrec->hw->phy->supported.cca_modes = BIT(NL802154_CCA_ENERGY) | devrec 1253 drivers/net/ieee802154/mrf24j40.c devrec->hw->phy->supported.cca_opts = BIT(NL802154_CCA_OPT_ENERGY_CARRIER_AND); devrec 1255 drivers/net/ieee802154/mrf24j40.c devrec->hw->phy->cca_ed_level = -6900; devrec 1256 drivers/net/ieee802154/mrf24j40.c devrec->hw->phy->supported.cca_ed_levels = mrf24j40_ed_levels; devrec 1257 drivers/net/ieee802154/mrf24j40.c devrec->hw->phy->supported.cca_ed_levels_size = ARRAY_SIZE(mrf24j40_ed_levels); devrec 1259 drivers/net/ieee802154/mrf24j40.c switch (spi_get_device_id(devrec->spi)->driver_data) { devrec 1262 drivers/net/ieee802154/mrf24j40.c devrec->hw->phy->supported.tx_powers = mrf24j40ma_powers; devrec 1263 drivers/net/ieee802154/mrf24j40.c devrec->hw->phy->supported.tx_powers_size = ARRAY_SIZE(mrf24j40ma_powers); devrec 1264 drivers/net/ieee802154/mrf24j40.c devrec->hw->phy->flags |= WPAN_PHY_FLAG_TXPOWER; devrec 1275 drivers/net/ieee802154/mrf24j40.c struct mrf24j40 *devrec; devrec 1281 drivers/net/ieee802154/mrf24j40.c hw = ieee802154_alloc_hw(sizeof(*devrec), &mrf24j40_ops); devrec 1285 drivers/net/ieee802154/mrf24j40.c devrec = hw->priv; devrec 1286 drivers/net/ieee802154/mrf24j40.c devrec->spi = spi; devrec 1287 drivers/net/ieee802154/mrf24j40.c spi_set_drvdata(spi, devrec); devrec 1288 drivers/net/ieee802154/mrf24j40.c devrec->hw = hw; devrec 1289 drivers/net/ieee802154/mrf24j40.c devrec->hw->parent = &spi->dev; devrec 1290 drivers/net/ieee802154/mrf24j40.c devrec->hw->phy->supported.channels[0] = CHANNEL_MASK; devrec 1291 drivers/net/ieee802154/mrf24j40.c devrec->hw->flags = IEEE802154_HW_TX_OMIT_CKSUM | IEEE802154_HW_AFILT | devrec 1295 drivers/net/ieee802154/mrf24j40.c devrec->hw->phy->flags = WPAN_PHY_FLAG_CCA_MODE | devrec 1298 drivers/net/ieee802154/mrf24j40.c mrf24j40_setup_tx_spi_messages(devrec); devrec 1299 drivers/net/ieee802154/mrf24j40.c mrf24j40_setup_rx_spi_messages(devrec); devrec 1300 drivers/net/ieee802154/mrf24j40.c mrf24j40_setup_irq_spi_messages(devrec); devrec 1302 drivers/net/ieee802154/mrf24j40.c devrec->regmap_short = devm_regmap_init_spi(spi, devrec 1304 drivers/net/ieee802154/mrf24j40.c if (IS_ERR(devrec->regmap_short)) { devrec 1305 drivers/net/ieee802154/mrf24j40.c ret = PTR_ERR(devrec->regmap_short); devrec 1311 drivers/net/ieee802154/mrf24j40.c devrec->regmap_long = devm_regmap_init(&spi->dev, devrec 1314 drivers/net/ieee802154/mrf24j40.c if (IS_ERR(devrec->regmap_long)) { devrec 1315 drivers/net/ieee802154/mrf24j40.c ret = PTR_ERR(devrec->regmap_long); devrec 1328 drivers/net/ieee802154/mrf24j40.c ret = mrf24j40_hw_init(devrec); devrec 1332 drivers/net/ieee802154/mrf24j40.c mrf24j40_phy_setup(devrec); devrec 1340 drivers/net/ieee802154/mrf24j40.c irq_type, dev_name(&spi->dev), devrec); devrec 1342 drivers/net/ieee802154/mrf24j40.c dev_err(printdev(devrec), "Unable to get IRQ"); devrec 1346 drivers/net/ieee802154/mrf24j40.c dev_dbg(printdev(devrec), "registered mrf24j40\n"); devrec 1347 drivers/net/ieee802154/mrf24j40.c ret = ieee802154_register_hw(devrec->hw); devrec 1354 drivers/net/ieee802154/mrf24j40.c ieee802154_free_hw(devrec->hw); devrec 1361 drivers/net/ieee802154/mrf24j40.c struct mrf24j40 *devrec = spi_get_drvdata(spi); devrec 1363 drivers/net/ieee802154/mrf24j40.c dev_dbg(printdev(devrec), "remove\n"); devrec 1365 drivers/net/ieee802154/mrf24j40.c ieee802154_unregister_hw(devrec->hw); devrec 1366 drivers/net/ieee802154/mrf24j40.c ieee802154_free_hw(devrec->hw);