bna: make function tables cont
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / drivers / net / ethernet / brocade / bna / bnad.c
index b7f96ab8b30cbb88f3171d109d2e0f230ba40c64..33ab1f81c1c26c621508cbd1d50be5e4d1ff27d1 100644 (file)
@@ -1730,7 +1730,14 @@ bnad_setup_tx(struct bnad *bnad, u32 tx_id)
        struct bna_intr_info *intr_info =
                        &res_info[BNA_TX_RES_INTR_T_TXCMPL].res_u.intr_info;
        struct bna_tx_config *tx_config = &bnad->tx_config[tx_id];
-       struct bna_tx_event_cbfn tx_cbfn;
+       static const struct bna_tx_event_cbfn tx_cbfn = {
+               .tcb_setup_cbfn = bnad_cb_tcb_setup,
+               .tcb_destroy_cbfn = bnad_cb_tcb_destroy,
+               .tx_stall_cbfn = bnad_cb_tx_stall,
+               .tx_resume_cbfn = bnad_cb_tx_resume,
+               .tx_cleanup_cbfn = bnad_cb_tx_cleanup,
+       };
+
        struct bna_tx *tx;
        unsigned long flags;
 
@@ -1742,13 +1749,6 @@ bnad_setup_tx(struct bnad *bnad, u32 tx_id)
        tx_config->tx_type = BNA_TX_T_REGULAR;
        tx_config->coalescing_timeo = bnad->tx_coalescing_timeo;
 
-       /* Initialize the tx event handlers */
-       tx_cbfn.tcb_setup_cbfn = bnad_cb_tcb_setup;
-       tx_cbfn.tcb_destroy_cbfn = bnad_cb_tcb_destroy;
-       tx_cbfn.tx_stall_cbfn = bnad_cb_tx_stall;
-       tx_cbfn.tx_resume_cbfn = bnad_cb_tx_resume;
-       tx_cbfn.tx_cleanup_cbfn = bnad_cb_tx_cleanup;
-
        /* Get BNA's resource requirement for one tx object */
        spin_lock_irqsave(&bnad->bna_lock, flags);
        bna_tx_res_req(bnad->num_txq_per_tx,
@@ -1893,7 +1893,14 @@ bnad_setup_rx(struct bnad *bnad, u32 rx_id)
        struct bna_intr_info *intr_info =
                        &res_info[BNA_RX_RES_T_INTR].res_u.intr_info;
        struct bna_rx_config *rx_config = &bnad->rx_config[rx_id];
-       struct bna_rx_event_cbfn rx_cbfn;
+       static const struct bna_rx_event_cbfn rx_cbfn = {
+               .rcb_setup_cbfn = bnad_cb_rcb_setup,
+               .rcb_destroy_cbfn = bnad_cb_rcb_destroy,
+               .ccb_setup_cbfn = bnad_cb_ccb_setup,
+               .ccb_destroy_cbfn = bnad_cb_ccb_destroy,
+               .rx_cleanup_cbfn = bnad_cb_rx_cleanup,
+               .rx_post_cbfn = bnad_cb_rx_post,
+       };
        struct bna_rx *rx;
        unsigned long flags;
 
@@ -1902,14 +1909,6 @@ bnad_setup_rx(struct bnad *bnad, u32 rx_id)
        /* Initialize the Rx object configuration */
        bnad_init_rx_config(bnad, rx_config);
 
-       /* Initialize the Rx event handlers */
-       rx_cbfn.rcb_setup_cbfn = bnad_cb_rcb_setup;
-       rx_cbfn.rcb_destroy_cbfn = bnad_cb_rcb_destroy;
-       rx_cbfn.ccb_setup_cbfn = bnad_cb_ccb_setup;
-       rx_cbfn.ccb_destroy_cbfn = bnad_cb_ccb_destroy;
-       rx_cbfn.rx_cleanup_cbfn = bnad_cb_rx_cleanup;
-       rx_cbfn.rx_post_cbfn = bnad_cb_rx_post;
-
        /* Get BNA's resource requirement for one Rx object */
        spin_lock_irqsave(&bnad->bna_lock, flags);
        bna_rx_res_req(rx_config, res_info);