drivers/net/ethernet/wangxun/txgbe/txgbe_aml.c
157
struct txgbe *txgbe = wx->priv;
drivers/net/ethernet/wangxun/txgbe/txgbe_aml.c
159
if (test_bit(PHY_INTERFACE_MODE_XLGMII, txgbe->link_interfaces))
drivers/net/ethernet/wangxun/txgbe/txgbe_aml.c
161
else if (test_bit(PHY_INTERFACE_MODE_25GBASER, txgbe->link_interfaces))
drivers/net/ethernet/wangxun/txgbe/txgbe_aml.c
163
else if (test_bit(PHY_INTERFACE_MODE_10GBASER, txgbe->link_interfaces))
drivers/net/ethernet/wangxun/txgbe/txgbe_aml.c
168
*autoneg = phylink_test(txgbe->advertising, Autoneg);
drivers/net/ethernet/wangxun/txgbe/txgbe_aml.c
208
struct txgbe *txgbe = wx->priv;
drivers/net/ethernet/wangxun/txgbe/txgbe_aml.c
211
txgbe->link_port = PORT_DA;
drivers/net/ethernet/wangxun/txgbe/txgbe_aml.c
225
txgbe->link_port = PORT_DA;
drivers/net/ethernet/wangxun/txgbe/txgbe_aml.c
233
txgbe->link_port = PORT_FIBRE;
drivers/net/ethernet/wangxun/txgbe/txgbe_aml.c
238
txgbe->link_port = PORT_FIBRE;
drivers/net/ethernet/wangxun/txgbe/txgbe_aml.c
243
txgbe->link_port = PORT_FIBRE;
drivers/net/ethernet/wangxun/txgbe/txgbe_aml.c
258
if (!linkmode_equal(txgbe->link_support, modes)) {
drivers/net/ethernet/wangxun/txgbe/txgbe_aml.c
259
linkmode_copy(txgbe->link_support, modes);
drivers/net/ethernet/wangxun/txgbe/txgbe_aml.c
260
phy_interface_and(txgbe->link_interfaces,
drivers/net/ethernet/wangxun/txgbe/txgbe_aml.c
263
linkmode_copy(txgbe->advertising, modes);
drivers/net/ethernet/wangxun/txgbe/txgbe_aml.c
275
struct txgbe *txgbe = wx->priv;
drivers/net/ethernet/wangxun/txgbe/txgbe_aml.c
278
txgbe->link_port = PORT_DA;
drivers/net/ethernet/wangxun/txgbe/txgbe_aml.c
286
txgbe->link_port = PORT_FIBRE;
drivers/net/ethernet/wangxun/txgbe/txgbe_aml.c
291
txgbe->link_port = PORT_FIBRE;
drivers/net/ethernet/wangxun/txgbe/txgbe_aml.c
296
txgbe->link_port = PORT_DA;
drivers/net/ethernet/wangxun/txgbe/txgbe_aml.c
303
txgbe->link_port = PORT_DA;
drivers/net/ethernet/wangxun/txgbe/txgbe_aml.c
323
if (!linkmode_equal(txgbe->link_support, modes)) {
drivers/net/ethernet/wangxun/txgbe/txgbe_aml.c
324
linkmode_copy(txgbe->link_support, modes);
drivers/net/ethernet/wangxun/txgbe/txgbe_aml.c
325
phy_interface_and(txgbe->link_interfaces,
drivers/net/ethernet/wangxun/txgbe/txgbe_aml.c
328
linkmode_copy(txgbe->advertising, modes);
drivers/net/ethernet/wangxun/txgbe/txgbe_aml.c
376
struct txgbe *txgbe = wx->priv;
drivers/net/ethernet/wangxun/txgbe/txgbe_aml.c
378
phy_interface_zero(txgbe->link_interfaces);
drivers/net/ethernet/wangxun/txgbe/txgbe_aml.c
379
linkmode_zero(txgbe->link_support);
drivers/net/ethernet/wangxun/txgbe/txgbe_aml.c
39
struct txgbe *txgbe = data;
drivers/net/ethernet/wangxun/txgbe/txgbe_aml.c
40
struct wx *wx = txgbe->wx;
drivers/net/ethernet/wangxun/txgbe/txgbe_aml.c
486
int txgbe_phylink_init_aml(struct txgbe *txgbe)
drivers/net/ethernet/wangxun/txgbe/txgbe_aml.c
490
struct wx *wx = txgbe->wx;
drivers/net/ethernet/wangxun/txgbe/txgbe_aml.h
16
int txgbe_phylink_init_aml(struct txgbe *txgbe);
drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
107
static int txgbe_get_ethtool_fdir_entry(struct txgbe *txgbe,
drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
112
union txgbe_atr_input *mask = &txgbe->fdir_mask;
drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
119
hlist_for_each_entry_safe(rule, node, &txgbe->fdir_filter_list,
drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
172
static int txgbe_get_ethtool_fdir_all(struct txgbe *txgbe,
drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
183
hlist_for_each_entry_safe(rule, node, &txgbe->fdir_filter_list,
drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
20
struct txgbe *txgbe = wx->priv;
drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
207
struct txgbe *txgbe = wx->priv;
drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
212
cmd->rule_cnt = txgbe->fdir_filter_count;
drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
216
ret = txgbe_get_ethtool_fdir_entry(txgbe, cmd);
drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
219
ret = txgbe_get_ethtool_fdir_all(txgbe, cmd, (u32 *)rule_locs);
drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
269
static bool txgbe_match_ethtool_fdir_entry(struct txgbe *txgbe,
drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
275
hlist_for_each_entry_safe(rule, node2, &txgbe->fdir_filter_list,
drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
280
wx_dbg(txgbe->wx, "FDIR entry already exist\n");
drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
287
static int txgbe_update_ethtool_fdir_entry(struct txgbe *txgbe,
drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
293
struct wx *wx = txgbe->wx;
drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
297
hlist_for_each_entry_safe(rule, node, &txgbe->fdir_filter_list,
drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
30
cmd->base.port = txgbe->link_port;
drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
31
cmd->base.autoneg = phylink_test(txgbe->advertising, Autoneg) ?
drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
323
txgbe->fdir_filter_count--;
drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
33
linkmode_copy(cmd->link_modes.supported, txgbe->link_support);
drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
34
linkmode_copy(cmd->link_modes.advertising, txgbe->advertising);
drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
342
&txgbe->fdir_filter_list);
drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
345
txgbe->fdir_filter_count++;
drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
350
static int txgbe_add_ethtool_fdir_entry(struct txgbe *txgbe,
drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
357
struct wx *wx = txgbe->wx;
drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
464
spin_lock(&txgbe->fdir_perfect_lock);
drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
466
if (hlist_empty(&txgbe->fdir_filter_list)) {
drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
468
memcpy(&txgbe->fdir_mask, &mask, sizeof(mask));
drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
472
} else if (memcmp(&txgbe->fdir_mask, &mask, sizeof(mask))) {
drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
481
if (txgbe_match_ethtool_fdir_entry(txgbe, input))
drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
495
txgbe_update_ethtool_fdir_entry(txgbe, input, input->sw_idx);
drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
497
spin_unlock(&txgbe->fdir_perfect_lock);
drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
501
spin_unlock(&txgbe->fdir_perfect_lock);
drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
507
static int txgbe_del_ethtool_fdir_entry(struct txgbe *txgbe,
drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
514
spin_lock(&txgbe->fdir_perfect_lock);
drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
515
err = txgbe_update_ethtool_fdir_entry(txgbe, NULL, fsp->location);
drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
516
spin_unlock(&txgbe->fdir_perfect_lock);
drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
524
struct txgbe *txgbe = wx->priv;
drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
529
ret = txgbe_add_ethtool_fdir_entry(txgbe, cmd);
drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
532
ret = txgbe_del_ethtool_fdir_entry(txgbe, cmd);
drivers/net/ethernet/wangxun/txgbe/txgbe_fdir.c
575
struct txgbe *txgbe = wx->priv;
drivers/net/ethernet/wangxun/txgbe/txgbe_fdir.c
580
spin_lock(&txgbe->fdir_perfect_lock);
drivers/net/ethernet/wangxun/txgbe/txgbe_fdir.c
582
if (!hlist_empty(&txgbe->fdir_filter_list))
drivers/net/ethernet/wangxun/txgbe/txgbe_fdir.c
583
ret = txgbe_fdir_set_input_mask(wx, &txgbe->fdir_mask);
drivers/net/ethernet/wangxun/txgbe/txgbe_fdir.c
589
&txgbe->fdir_filter_list, fdir_node) {
drivers/net/ethernet/wangxun/txgbe/txgbe_fdir.c
615
spin_unlock(&txgbe->fdir_perfect_lock);
drivers/net/ethernet/wangxun/txgbe/txgbe_fdir.c
635
struct txgbe *txgbe = wx->priv;
drivers/net/ethernet/wangxun/txgbe/txgbe_fdir.c
638
spin_lock(&txgbe->fdir_perfect_lock);
drivers/net/ethernet/wangxun/txgbe/txgbe_fdir.c
641
&txgbe->fdir_filter_list, fdir_node) {
drivers/net/ethernet/wangxun/txgbe/txgbe_fdir.c
645
txgbe->fdir_filter_count = 0;
drivers/net/ethernet/wangxun/txgbe/txgbe_fdir.c
647
spin_unlock(&txgbe->fdir_perfect_lock);
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
108
struct txgbe *txgbe = d->host_data;
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
110
irq_set_chip_data(irq, txgbe);
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
111
irq_set_chip(irq, &txgbe->misc.chip);
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
125
struct txgbe *txgbe = data;
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
126
struct wx *wx = txgbe->wx;
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
131
txgbe->eicr = eicr;
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
133
wx_msg_task(txgbe->wx);
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
156
txgbe->eicr = wx_misc_isb(wx, WX_ISB_MISC);
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
163
struct txgbe *txgbe = data;
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
164
struct wx *wx = txgbe->wx;
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
169
eicr = txgbe->eicr;
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
172
sub_irq = irq_find_mapping(txgbe->misc.domain, TXGBE_IRQ_LINK);
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
177
sub_irq = irq_find_mapping(txgbe->misc.domain, TXGBE_IRQ_GPIO);
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
190
static void txgbe_del_irq_domain(struct txgbe *txgbe)
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
194
for (hwirq = 0; hwirq < txgbe->misc.nirqs; hwirq++) {
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
195
virq = irq_find_mapping(txgbe->misc.domain, hwirq);
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
199
irq_domain_remove(txgbe->misc.domain);
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
202
void txgbe_free_misc_irq(struct txgbe *txgbe)
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
204
if (txgbe->wx->mac.type != wx_mac_sp)
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
205
free_irq(txgbe->gpio_irq, txgbe);
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
207
free_irq(txgbe->link_irq, txgbe);
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
208
free_irq(txgbe->misc.irq, txgbe);
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
209
txgbe_del_irq_domain(txgbe);
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
210
txgbe->wx->misc_irq_domain = false;
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
213
int txgbe_setup_misc_irq(struct txgbe *txgbe)
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
216
struct wx *wx = txgbe->wx;
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
219
txgbe->misc.nirqs = TXGBE_IRQ_MAX;
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
220
txgbe->misc.domain = irq_domain_create_simple(NULL, txgbe->misc.nirqs, 0,
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
221
&txgbe_misc_irq_domain_ops, txgbe);
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
222
if (!txgbe->misc.domain)
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
225
for (hwirq = 0; hwirq < txgbe->misc.nirqs; hwirq++)
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
226
irq_create_mapping(txgbe->misc.domain, hwirq);
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
228
txgbe->misc.chip = txgbe_irq_chip;
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
230
txgbe->misc.irq = wx->msix_entry->vector;
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
232
txgbe->misc.irq = wx->pdev->irq;
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
237
err = request_threaded_irq(txgbe->misc.irq, txgbe_misc_irq_handle,
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
240
wx->netdev->name, txgbe);
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
244
err = txgbe_request_link_irq(txgbe);
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
251
err = txgbe_request_gpio_irq(txgbe);
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
261
free_irq(txgbe->link_irq, txgbe);
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
263
free_irq(txgbe->misc.irq, txgbe);
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
265
txgbe_del_irq_domain(txgbe);
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
84
static int txgbe_request_link_irq(struct txgbe *txgbe)
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
86
txgbe->link_irq = irq_find_mapping(txgbe->misc.domain, TXGBE_IRQ_LINK);
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
87
return request_threaded_irq(txgbe->link_irq, NULL,
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
89
IRQF_ONESHOT, "txgbe-link-irq", txgbe);
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
92
static int txgbe_request_gpio_irq(struct txgbe *txgbe)
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
94
txgbe->gpio_irq = irq_find_mapping(txgbe->misc.domain, TXGBE_IRQ_GPIO);
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
95
return request_threaded_irq(txgbe->gpio_irq, NULL,
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
97
IRQF_ONESHOT, "txgbe-gpio-irq", txgbe);
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.h
6
void txgbe_free_misc_irq(struct txgbe *txgbe);
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.h
7
int txgbe_setup_misc_irq(struct txgbe *txgbe);
drivers/net/ethernet/wangxun/txgbe/txgbe_main.c
434
static void txgbe_init_fdir(struct txgbe *txgbe)
drivers/net/ethernet/wangxun/txgbe/txgbe_main.c
436
txgbe->fdir_filter_count = 0;
drivers/net/ethernet/wangxun/txgbe/txgbe_main.c
437
spin_lock_init(&txgbe->fdir_perfect_lock);
drivers/net/ethernet/wangxun/txgbe/txgbe_main.c
695
struct txgbe *txgbe;
drivers/net/ethernet/wangxun/txgbe/txgbe_main.c
880
txgbe = devm_kzalloc(&pdev->dev, sizeof(*txgbe), GFP_KERNEL);
drivers/net/ethernet/wangxun/txgbe/txgbe_main.c
881
if (!txgbe) {
drivers/net/ethernet/wangxun/txgbe/txgbe_main.c
886
txgbe->wx = wx;
drivers/net/ethernet/wangxun/txgbe/txgbe_main.c
887
wx->priv = txgbe;
drivers/net/ethernet/wangxun/txgbe/txgbe_main.c
889
txgbe_init_fdir(txgbe);
drivers/net/ethernet/wangxun/txgbe/txgbe_main.c
891
err = txgbe_init_phy(txgbe);
drivers/net/ethernet/wangxun/txgbe/txgbe_main.c
920
txgbe_remove_phy(txgbe);
drivers/net/ethernet/wangxun/txgbe/txgbe_main.c
950
struct txgbe *txgbe = wx->priv;
drivers/net/ethernet/wangxun/txgbe/txgbe_main.c
959
txgbe_remove_phy(txgbe);
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
126
static int txgbe_mdio_pcs_init(struct txgbe *txgbe)
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
134
wx = txgbe->wx;
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
158
txgbe->pcs = pcs;
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
167
struct txgbe *txgbe = wx->priv;
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
170
return txgbe->pcs;
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
268
static int txgbe_phylink_init(struct txgbe *txgbe)
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
27
static int txgbe_swnodes_register(struct txgbe *txgbe)
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
272
struct wx *wx = txgbe->wx;
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
287
fwnode = software_node_fwnode(txgbe->nodes.group[SWNODE_PHYLINK]);
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
29
struct txgbe_nodes *nodes = &txgbe->nodes;
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
30
struct pci_dev *pdev = txgbe->wx->pdev;
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
314
struct txgbe *txgbe = data;
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
315
struct wx *wx = txgbe->wx;
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
322
if (txgbe->pcs)
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
323
phylink_pcs_change(txgbe->pcs, up);
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
381
static int txgbe_gpio_init(struct txgbe *txgbe)
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
388
wx = txgbe->wx;
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
406
gc->fwnode = software_node_fwnode(txgbe->nodes.group[SWNODE_GPIO]);
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
416
txgbe->gpio = gc;
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
421
static int txgbe_clock_register(struct txgbe *txgbe)
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
423
struct pci_dev *pdev = txgbe->wx->pdev;
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
441
txgbe->clk = clk;
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
442
txgbe->clock = clock;
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
473
static int txgbe_i2c_register(struct txgbe *txgbe)
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
481
wx = txgbe->wx;
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
490
info.fwnode = software_node_fwnode(txgbe->nodes.group[SWNODE_I2C]);
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
500
txgbe->i2c_dev = i2c_dev;
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
505
static int txgbe_sfp_register(struct txgbe *txgbe)
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
507
struct pci_dev *pdev = txgbe->wx->pdev;
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
512
info.fwnode = software_node_fwnode(txgbe->nodes.group[SWNODE_SFP]);
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
519
txgbe->sfp_dev = sfp_dev;
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
524
static int txgbe_ext_phy_init(struct txgbe *txgbe)
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
532
wx = txgbe->wx;
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
566
ret = txgbe_phylink_init(txgbe);
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
575
int txgbe_init_phy(struct txgbe *txgbe)
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
577
struct wx *wx = txgbe->wx;
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
583
return txgbe_phylink_init_aml(txgbe);
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
586
return txgbe_ext_phy_init(txgbe);
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
592
ret = txgbe_swnodes_register(txgbe);
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
598
ret = txgbe_mdio_pcs_init(txgbe);
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
604
ret = txgbe_phylink_init(txgbe);
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
610
ret = txgbe_gpio_init(txgbe);
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
616
ret = txgbe_clock_register(txgbe);
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
622
ret = txgbe_i2c_register(txgbe);
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
628
ret = txgbe_sfp_register(txgbe);
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
637
platform_device_unregister(txgbe->i2c_dev);
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
639
clkdev_drop(txgbe->clock);
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
640
clk_unregister(txgbe->clk);
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
644
xpcs_destroy_pcs(txgbe->pcs);
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
646
software_node_unregister_node_group(txgbe->nodes.group);
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
651
void txgbe_remove_phy(struct txgbe *txgbe)
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
653
switch (txgbe->wx->mac.type) {
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
656
phylink_destroy(txgbe->wx->phylink);
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
659
if (txgbe->wx->media_type == wx_media_copper) {
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
660
phylink_disconnect_phy(txgbe->wx->phylink);
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
661
phylink_destroy(txgbe->wx->phylink);
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
669
platform_device_unregister(txgbe->sfp_dev);
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
670
platform_device_unregister(txgbe->i2c_dev);
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
671
clkdev_drop(txgbe->clock);
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
672
clk_unregister(txgbe->clk);
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
673
phylink_destroy(txgbe->wx->phylink);
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
674
xpcs_destroy_pcs(txgbe->pcs);
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
675
software_node_unregister_node_group(txgbe->nodes.group);
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.h
8
int txgbe_init_phy(struct txgbe *txgbe);
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.h
9
void txgbe_remove_phy(struct txgbe *txgbe);