Commit f4f3d0f0 authored by Roland Dreier's avatar Roland Dreier

IB/mthca: Fix section mismatches

Commit b3b30f5e ("IB/mthca: Recover from catastrophic errors")
introduced some section mismatch breakage, because the error recovery
code tears down and reinitializes the device, which calls into lots of
code originally marked __devinit and __devexit from regular .text.

Fix this by getting rid of these now-incorrect section markers.

Reported by Randy Dunlap <randy.dunlap@oracle.com>.
Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
parent 3c8edf0e
...@@ -33,7 +33,6 @@ ...@@ -33,7 +33,6 @@
* $Id: mthca_av.c 1349 2004-12-16 21:09:43Z roland $ * $Id: mthca_av.c 1349 2004-12-16 21:09:43Z roland $
*/ */
#include <linux/init.h>
#include <linux/string.h> #include <linux/string.h>
#include <linux/slab.h> #include <linux/slab.h>
...@@ -323,7 +322,7 @@ int mthca_ah_query(struct ib_ah *ibah, struct ib_ah_attr *attr) ...@@ -323,7 +322,7 @@ int mthca_ah_query(struct ib_ah *ibah, struct ib_ah_attr *attr)
return 0; return 0;
} }
int __devinit mthca_init_av_table(struct mthca_dev *dev) int mthca_init_av_table(struct mthca_dev *dev)
{ {
int err; int err;
......
...@@ -36,7 +36,6 @@ ...@@ -36,7 +36,6 @@
* $Id: mthca_cq.c 1369 2004-12-20 16:17:07Z roland $ * $Id: mthca_cq.c 1369 2004-12-20 16:17:07Z roland $
*/ */
#include <linux/init.h>
#include <linux/hardirq.h> #include <linux/hardirq.h>
#include <asm/io.h> #include <asm/io.h>
...@@ -970,7 +969,7 @@ void mthca_free_cq(struct mthca_dev *dev, ...@@ -970,7 +969,7 @@ void mthca_free_cq(struct mthca_dev *dev,
mthca_free_mailbox(dev, mailbox); mthca_free_mailbox(dev, mailbox);
} }
int __devinit mthca_init_cq_table(struct mthca_dev *dev) int mthca_init_cq_table(struct mthca_dev *dev)
{ {
int err; int err;
......
...@@ -33,7 +33,6 @@ ...@@ -33,7 +33,6 @@
* $Id: mthca_eq.c 1382 2004-12-24 02:21:02Z roland $ * $Id: mthca_eq.c 1382 2004-12-24 02:21:02Z roland $
*/ */
#include <linux/init.h>
#include <linux/errno.h> #include <linux/errno.h>
#include <linux/interrupt.h> #include <linux/interrupt.h>
#include <linux/pci.h> #include <linux/pci.h>
...@@ -479,10 +478,10 @@ static irqreturn_t mthca_arbel_msi_x_interrupt(int irq, void *eq_ptr) ...@@ -479,10 +478,10 @@ static irqreturn_t mthca_arbel_msi_x_interrupt(int irq, void *eq_ptr)
return IRQ_HANDLED; return IRQ_HANDLED;
} }
static int __devinit mthca_create_eq(struct mthca_dev *dev, static int mthca_create_eq(struct mthca_dev *dev,
int nent, int nent,
u8 intr, u8 intr,
struct mthca_eq *eq) struct mthca_eq *eq)
{ {
int npages; int npages;
u64 *dma_list = NULL; u64 *dma_list = NULL;
...@@ -664,9 +663,9 @@ static void mthca_free_irqs(struct mthca_dev *dev) ...@@ -664,9 +663,9 @@ static void mthca_free_irqs(struct mthca_dev *dev)
dev->eq_table.eq + i); dev->eq_table.eq + i);
} }
static int __devinit mthca_map_reg(struct mthca_dev *dev, static int mthca_map_reg(struct mthca_dev *dev,
unsigned long offset, unsigned long size, unsigned long offset, unsigned long size,
void __iomem **map) void __iomem **map)
{ {
unsigned long base = pci_resource_start(dev->pdev, 0); unsigned long base = pci_resource_start(dev->pdev, 0);
...@@ -691,7 +690,7 @@ static void mthca_unmap_reg(struct mthca_dev *dev, unsigned long offset, ...@@ -691,7 +690,7 @@ static void mthca_unmap_reg(struct mthca_dev *dev, unsigned long offset,
iounmap(map); iounmap(map);
} }
static int __devinit mthca_map_eq_regs(struct mthca_dev *dev) static int mthca_map_eq_regs(struct mthca_dev *dev)
{ {
if (mthca_is_memfree(dev)) { if (mthca_is_memfree(dev)) {
/* /*
...@@ -781,7 +780,7 @@ static void mthca_unmap_eq_regs(struct mthca_dev *dev) ...@@ -781,7 +780,7 @@ static void mthca_unmap_eq_regs(struct mthca_dev *dev)
} }
} }
int __devinit mthca_map_eq_icm(struct mthca_dev *dev, u64 icm_virt) int mthca_map_eq_icm(struct mthca_dev *dev, u64 icm_virt)
{ {
int ret; int ret;
u8 status; u8 status;
...@@ -825,7 +824,7 @@ void mthca_unmap_eq_icm(struct mthca_dev *dev) ...@@ -825,7 +824,7 @@ void mthca_unmap_eq_icm(struct mthca_dev *dev)
__free_page(dev->eq_table.icm_page); __free_page(dev->eq_table.icm_page);
} }
int __devinit mthca_init_eq_table(struct mthca_dev *dev) int mthca_init_eq_table(struct mthca_dev *dev)
{ {
int err; int err;
u8 status; u8 status;
......
...@@ -317,7 +317,7 @@ err: ...@@ -317,7 +317,7 @@ err:
return ret; return ret;
} }
void __devexit mthca_free_agents(struct mthca_dev *dev) void mthca_free_agents(struct mthca_dev *dev)
{ {
struct ib_mad_agent *agent; struct ib_mad_agent *agent;
int p, q; int p, q;
......
...@@ -98,7 +98,7 @@ static struct mthca_profile default_profile = { ...@@ -98,7 +98,7 @@ static struct mthca_profile default_profile = {
.uarc_size = 1 << 18, /* Arbel only */ .uarc_size = 1 << 18, /* Arbel only */
}; };
static int __devinit mthca_tune_pci(struct mthca_dev *mdev) static int mthca_tune_pci(struct mthca_dev *mdev)
{ {
int cap; int cap;
u16 val; u16 val;
...@@ -143,7 +143,7 @@ static int __devinit mthca_tune_pci(struct mthca_dev *mdev) ...@@ -143,7 +143,7 @@ static int __devinit mthca_tune_pci(struct mthca_dev *mdev)
return 0; return 0;
} }
static int __devinit mthca_dev_lim(struct mthca_dev *mdev, struct mthca_dev_lim *dev_lim) static int mthca_dev_lim(struct mthca_dev *mdev, struct mthca_dev_lim *dev_lim)
{ {
int err; int err;
u8 status; u8 status;
...@@ -255,7 +255,7 @@ static int __devinit mthca_dev_lim(struct mthca_dev *mdev, struct mthca_dev_lim ...@@ -255,7 +255,7 @@ static int __devinit mthca_dev_lim(struct mthca_dev *mdev, struct mthca_dev_lim
return 0; return 0;
} }
static int __devinit mthca_init_tavor(struct mthca_dev *mdev) static int mthca_init_tavor(struct mthca_dev *mdev)
{ {
u8 status; u8 status;
int err; int err;
...@@ -333,7 +333,7 @@ err_disable: ...@@ -333,7 +333,7 @@ err_disable:
return err; return err;
} }
static int __devinit mthca_load_fw(struct mthca_dev *mdev) static int mthca_load_fw(struct mthca_dev *mdev)
{ {
u8 status; u8 status;
int err; int err;
...@@ -379,10 +379,10 @@ err_free: ...@@ -379,10 +379,10 @@ err_free:
return err; return err;
} }
static int __devinit mthca_init_icm(struct mthca_dev *mdev, static int mthca_init_icm(struct mthca_dev *mdev,
struct mthca_dev_lim *dev_lim, struct mthca_dev_lim *dev_lim,
struct mthca_init_hca_param *init_hca, struct mthca_init_hca_param *init_hca,
u64 icm_size) u64 icm_size)
{ {
u64 aux_pages; u64 aux_pages;
u8 status; u8 status;
...@@ -575,7 +575,7 @@ static void mthca_free_icms(struct mthca_dev *mdev) ...@@ -575,7 +575,7 @@ static void mthca_free_icms(struct mthca_dev *mdev)
mthca_free_icm(mdev, mdev->fw.arbel.aux_icm); mthca_free_icm(mdev, mdev->fw.arbel.aux_icm);
} }
static int __devinit mthca_init_arbel(struct mthca_dev *mdev) static int mthca_init_arbel(struct mthca_dev *mdev)
{ {
struct mthca_dev_lim dev_lim; struct mthca_dev_lim dev_lim;
struct mthca_profile profile; struct mthca_profile profile;
...@@ -683,7 +683,7 @@ static void mthca_close_hca(struct mthca_dev *mdev) ...@@ -683,7 +683,7 @@ static void mthca_close_hca(struct mthca_dev *mdev)
mthca_SYS_DIS(mdev, &status); mthca_SYS_DIS(mdev, &status);
} }
static int __devinit mthca_init_hca(struct mthca_dev *mdev) static int mthca_init_hca(struct mthca_dev *mdev)
{ {
u8 status; u8 status;
int err; int err;
...@@ -720,7 +720,7 @@ err_close: ...@@ -720,7 +720,7 @@ err_close:
return err; return err;
} }
static int __devinit mthca_setup_hca(struct mthca_dev *dev) static int mthca_setup_hca(struct mthca_dev *dev)
{ {
int err; int err;
u8 status; u8 status;
...@@ -875,8 +875,7 @@ err_uar_table_free: ...@@ -875,8 +875,7 @@ err_uar_table_free:
return err; return err;
} }
static int __devinit mthca_request_regions(struct pci_dev *pdev, static int mthca_request_regions(struct pci_dev *pdev, int ddr_hidden)
int ddr_hidden)
{ {
int err; int err;
...@@ -928,7 +927,7 @@ static void mthca_release_regions(struct pci_dev *pdev, ...@@ -928,7 +927,7 @@ static void mthca_release_regions(struct pci_dev *pdev,
MTHCA_HCR_SIZE); MTHCA_HCR_SIZE);
} }
static int __devinit mthca_enable_msi_x(struct mthca_dev *mdev) static int mthca_enable_msi_x(struct mthca_dev *mdev)
{ {
struct msix_entry entries[3]; struct msix_entry entries[3];
int err; int err;
...@@ -1213,7 +1212,7 @@ int __mthca_restart_one(struct pci_dev *pdev) ...@@ -1213,7 +1212,7 @@ int __mthca_restart_one(struct pci_dev *pdev)
} }
static int __devinit mthca_init_one(struct pci_dev *pdev, static int __devinit mthca_init_one(struct pci_dev *pdev,
const struct pci_device_id *id) const struct pci_device_id *id)
{ {
static int mthca_version_printed = 0; static int mthca_version_printed = 0;
int ret; int ret;
......
...@@ -32,7 +32,6 @@ ...@@ -32,7 +32,6 @@
* $Id: mthca_mcg.c 1349 2004-12-16 21:09:43Z roland $ * $Id: mthca_mcg.c 1349 2004-12-16 21:09:43Z roland $
*/ */
#include <linux/init.h>
#include <linux/string.h> #include <linux/string.h>
#include <linux/slab.h> #include <linux/slab.h>
...@@ -371,7 +370,7 @@ int mthca_multicast_detach(struct ib_qp *ibqp, union ib_gid *gid, u16 lid) ...@@ -371,7 +370,7 @@ int mthca_multicast_detach(struct ib_qp *ibqp, union ib_gid *gid, u16 lid)
return err; return err;
} }
int __devinit mthca_init_mcg_table(struct mthca_dev *dev) int mthca_init_mcg_table(struct mthca_dev *dev)
{ {
int err; int err;
int table_size = dev->limits.num_mgms + dev->limits.num_amgms; int table_size = dev->limits.num_mgms + dev->limits.num_amgms;
......
...@@ -34,7 +34,6 @@ ...@@ -34,7 +34,6 @@
*/ */
#include <linux/slab.h> #include <linux/slab.h>
#include <linux/init.h>
#include <linux/errno.h> #include <linux/errno.h>
#include "mthca_dev.h" #include "mthca_dev.h"
...@@ -135,7 +134,7 @@ static void mthca_buddy_free(struct mthca_buddy *buddy, u32 seg, int order) ...@@ -135,7 +134,7 @@ static void mthca_buddy_free(struct mthca_buddy *buddy, u32 seg, int order)
spin_unlock(&buddy->lock); spin_unlock(&buddy->lock);
} }
static int __devinit mthca_buddy_init(struct mthca_buddy *buddy, int max_order) static int mthca_buddy_init(struct mthca_buddy *buddy, int max_order)
{ {
int i, s; int i, s;
...@@ -759,7 +758,7 @@ void mthca_arbel_fmr_unmap(struct mthca_dev *dev, struct mthca_fmr *fmr) ...@@ -759,7 +758,7 @@ void mthca_arbel_fmr_unmap(struct mthca_dev *dev, struct mthca_fmr *fmr)
*(u8 *) fmr->mem.arbel.mpt = MTHCA_MPT_STATUS_SW; *(u8 *) fmr->mem.arbel.mpt = MTHCA_MPT_STATUS_SW;
} }
int __devinit mthca_init_mr_table(struct mthca_dev *dev) int mthca_init_mr_table(struct mthca_dev *dev)
{ {
unsigned long addr; unsigned long addr;
int err, i; int err, i;
......
...@@ -34,7 +34,6 @@ ...@@ -34,7 +34,6 @@
* $Id: mthca_pd.c 1349 2004-12-16 21:09:43Z roland $ * $Id: mthca_pd.c 1349 2004-12-16 21:09:43Z roland $
*/ */
#include <linux/init.h>
#include <linux/errno.h> #include <linux/errno.h>
#include "mthca_dev.h" #include "mthca_dev.h"
...@@ -69,7 +68,7 @@ void mthca_pd_free(struct mthca_dev *dev, struct mthca_pd *pd) ...@@ -69,7 +68,7 @@ void mthca_pd_free(struct mthca_dev *dev, struct mthca_pd *pd)
mthca_free(&dev->pd_table.alloc, pd->pd_num); mthca_free(&dev->pd_table.alloc, pd->pd_num);
} }
int __devinit mthca_init_pd_table(struct mthca_dev *dev) int mthca_init_pd_table(struct mthca_dev *dev)
{ {
return mthca_alloc_init(&dev->pd_table.alloc, return mthca_alloc_init(&dev->pd_table.alloc,
dev->limits.num_pds, dev->limits.num_pds,
......
...@@ -35,7 +35,6 @@ ...@@ -35,7 +35,6 @@
* $Id: mthca_qp.c 1355 2004-12-17 15:23:43Z roland $ * $Id: mthca_qp.c 1355 2004-12-17 15:23:43Z roland $
*/ */
#include <linux/init.h>
#include <linux/string.h> #include <linux/string.h>
#include <linux/slab.h> #include <linux/slab.h>
...@@ -2241,7 +2240,7 @@ void mthca_free_err_wqe(struct mthca_dev *dev, struct mthca_qp *qp, int is_send, ...@@ -2241,7 +2240,7 @@ void mthca_free_err_wqe(struct mthca_dev *dev, struct mthca_qp *qp, int is_send,
*new_wqe = 0; *new_wqe = 0;
} }
int __devinit mthca_init_qp_table(struct mthca_dev *dev) int mthca_init_qp_table(struct mthca_dev *dev)
{ {
int err; int err;
u8 status; u8 status;
......
...@@ -715,7 +715,7 @@ int mthca_max_srq_sge(struct mthca_dev *dev) ...@@ -715,7 +715,7 @@ int mthca_max_srq_sge(struct mthca_dev *dev)
sizeof (struct mthca_data_seg)); sizeof (struct mthca_data_seg));
} }
int __devinit mthca_init_srq_table(struct mthca_dev *dev) int mthca_init_srq_table(struct mthca_dev *dev)
{ {
int err; int err;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment