aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/brocade/bna/bfa_ioc_ct.c
diff options
context:
space:
mode:
authorstephen hemminger <shemminger@vyatta.com>2011-09-16 07:09:51 -0400
committerDavid S. Miller <davem@davemloft.net>2011-09-16 19:20:20 -0400
commitd91d25d537af07ba71ed9751d5319daa8eee5066 (patch)
tree98e74416319a55d84de9c3401c63b7809926e18d /drivers/net/ethernet/brocade/bna/bfa_ioc_ct.c
parent1d70cb06db4f8105997672378ae248f44c3a4379 (diff)
bna: make function tables cont
To prevent malicious usage, all tables of pointers must be const. Compile tested only. Gleaned for PAX. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/brocade/bna/bfa_ioc_ct.c')
-rw-r--r--drivers/net/ethernet/brocade/bna/bfa_ioc_ct.c36
1 files changed, 15 insertions, 21 deletions
diff --git a/drivers/net/ethernet/brocade/bna/bfa_ioc_ct.c b/drivers/net/ethernet/brocade/bna/bfa_ioc_ct.c
index b4429bc67c34..7d0d8ffc01bf 100644
--- a/drivers/net/ethernet/brocade/bna/bfa_ioc_ct.c
+++ b/drivers/net/ethernet/brocade/bna/bfa_ioc_ct.c
@@ -49,21 +49,21 @@ static bool bfa_ioc_ct_sync_complete(struct bfa_ioc *ioc);
49static enum bfa_status bfa_ioc_ct_pll_init(void __iomem *rb, 49static enum bfa_status bfa_ioc_ct_pll_init(void __iomem *rb,
50 enum bfi_asic_mode asic_mode); 50 enum bfi_asic_mode asic_mode);
51 51
52static struct bfa_ioc_hwif nw_hwif_ct; 52static const struct bfa_ioc_hwif nw_hwif_ct = {
53 53 .ioc_pll_init = bfa_ioc_ct_pll_init,
54static void 54 .ioc_firmware_lock = bfa_ioc_ct_firmware_lock,
55bfa_ioc_set_ctx_hwif(struct bfa_ioc *ioc, struct bfa_ioc_hwif *hwif) 55 .ioc_firmware_unlock = bfa_ioc_ct_firmware_unlock,
56{ 56 .ioc_reg_init = bfa_ioc_ct_reg_init,
57 hwif->ioc_firmware_lock = bfa_ioc_ct_firmware_lock; 57 .ioc_map_port = bfa_ioc_ct_map_port,
58 hwif->ioc_firmware_unlock = bfa_ioc_ct_firmware_unlock; 58 .ioc_isr_mode_set = bfa_ioc_ct_isr_mode_set,
59 hwif->ioc_notify_fail = bfa_ioc_ct_notify_fail; 59 .ioc_notify_fail = bfa_ioc_ct_notify_fail,
60 hwif->ioc_ownership_reset = bfa_ioc_ct_ownership_reset; 60 .ioc_ownership_reset = bfa_ioc_ct_ownership_reset,
61 hwif->ioc_sync_start = bfa_ioc_ct_sync_start; 61 .ioc_sync_start = bfa_ioc_ct_sync_start,
62 hwif->ioc_sync_join = bfa_ioc_ct_sync_join; 62 .ioc_sync_join = bfa_ioc_ct_sync_join,
63 hwif->ioc_sync_leave = bfa_ioc_ct_sync_leave; 63 .ioc_sync_leave = bfa_ioc_ct_sync_leave,
64 hwif->ioc_sync_ack = bfa_ioc_ct_sync_ack; 64 .ioc_sync_ack = bfa_ioc_ct_sync_ack,
65 hwif->ioc_sync_complete = bfa_ioc_ct_sync_complete; 65 .ioc_sync_complete = bfa_ioc_ct_sync_complete,
66} 66};
67 67
68/** 68/**
69 * Called from bfa_ioc_attach() to map asic specific calls. 69 * Called from bfa_ioc_attach() to map asic specific calls.
@@ -71,12 +71,6 @@ bfa_ioc_set_ctx_hwif(struct bfa_ioc *ioc, struct bfa_ioc_hwif *hwif)
71void 71void
72bfa_nw_ioc_set_ct_hwif(struct bfa_ioc *ioc) 72bfa_nw_ioc_set_ct_hwif(struct bfa_ioc *ioc)
73{ 73{
74 bfa_ioc_set_ctx_hwif(ioc, &nw_hwif_ct);
75
76 nw_hwif_ct.ioc_pll_init = bfa_ioc_ct_pll_init;
77 nw_hwif_ct.ioc_reg_init = bfa_ioc_ct_reg_init;
78 nw_hwif_ct.ioc_map_port = bfa_ioc_ct_map_port;
79 nw_hwif_ct.ioc_isr_mode_set = bfa_ioc_ct_isr_mode_set;
80 ioc->ioc_hwif = &nw_hwif_ct; 74 ioc->ioc_hwif = &nw_hwif_ct;
81} 75}
82 76