Commit 5b7c714e authored by Roland Dreier's avatar Roland Dreier Committed by David S. Miller

[ATM] he: Fix __init/__devinit conflict

he_init_one() is declared __devinit, but calls lots of init functions
that are marked __init.  However, if CONFIG_HOTPLUG is enabled,
__devinit functions go into normal .text, which leads to

    WARNING: drivers/atm/he.o - Section mismatch: reference to .init.text: from .text between 'he_start' (at offset 0x2130) and 'he_service_tbrq'

Fix this by changing the __init functions to __devinit.
Signed-off-by: default avatarRoland Dreier <roland@digitalvampire.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 76a081e5
...@@ -454,7 +454,7 @@ rate_to_atmf(unsigned rate) /* cps to atm forum format */ ...@@ -454,7 +454,7 @@ rate_to_atmf(unsigned rate) /* cps to atm forum format */
return (NONZERO | (exp << 9) | (rate & 0x1ff)); return (NONZERO | (exp << 9) | (rate & 0x1ff));
} }
static void __init static void __devinit
he_init_rx_lbfp0(struct he_dev *he_dev) he_init_rx_lbfp0(struct he_dev *he_dev)
{ {
unsigned i, lbm_offset, lbufd_index, lbuf_addr, lbuf_count; unsigned i, lbm_offset, lbufd_index, lbuf_addr, lbuf_count;
...@@ -485,7 +485,7 @@ he_init_rx_lbfp0(struct he_dev *he_dev) ...@@ -485,7 +485,7 @@ he_init_rx_lbfp0(struct he_dev *he_dev)
he_writel(he_dev, he_dev->r0_numbuffs, RLBF0_C); he_writel(he_dev, he_dev->r0_numbuffs, RLBF0_C);
} }
static void __init static void __devinit
he_init_rx_lbfp1(struct he_dev *he_dev) he_init_rx_lbfp1(struct he_dev *he_dev)
{ {
unsigned i, lbm_offset, lbufd_index, lbuf_addr, lbuf_count; unsigned i, lbm_offset, lbufd_index, lbuf_addr, lbuf_count;
...@@ -516,7 +516,7 @@ he_init_rx_lbfp1(struct he_dev *he_dev) ...@@ -516,7 +516,7 @@ he_init_rx_lbfp1(struct he_dev *he_dev)
he_writel(he_dev, he_dev->r1_numbuffs, RLBF1_C); he_writel(he_dev, he_dev->r1_numbuffs, RLBF1_C);
} }
static void __init static void __devinit
he_init_tx_lbfp(struct he_dev *he_dev) he_init_tx_lbfp(struct he_dev *he_dev)
{ {
unsigned i, lbm_offset, lbufd_index, lbuf_addr, lbuf_count; unsigned i, lbm_offset, lbufd_index, lbuf_addr, lbuf_count;
...@@ -546,7 +546,7 @@ he_init_tx_lbfp(struct he_dev *he_dev) ...@@ -546,7 +546,7 @@ he_init_tx_lbfp(struct he_dev *he_dev)
he_writel(he_dev, lbufd_index - 1, TLBF_T); he_writel(he_dev, lbufd_index - 1, TLBF_T);
} }
static int __init static int __devinit
he_init_tpdrq(struct he_dev *he_dev) he_init_tpdrq(struct he_dev *he_dev)
{ {
he_dev->tpdrq_base = pci_alloc_consistent(he_dev->pci_dev, he_dev->tpdrq_base = pci_alloc_consistent(he_dev->pci_dev,
...@@ -568,7 +568,7 @@ he_init_tpdrq(struct he_dev *he_dev) ...@@ -568,7 +568,7 @@ he_init_tpdrq(struct he_dev *he_dev)
return 0; return 0;
} }
static void __init static void __devinit
he_init_cs_block(struct he_dev *he_dev) he_init_cs_block(struct he_dev *he_dev)
{ {
unsigned clock, rate, delta; unsigned clock, rate, delta;
...@@ -664,7 +664,7 @@ he_init_cs_block(struct he_dev *he_dev) ...@@ -664,7 +664,7 @@ he_init_cs_block(struct he_dev *he_dev)
} }
static int __init static int __devinit
he_init_cs_block_rcm(struct he_dev *he_dev) he_init_cs_block_rcm(struct he_dev *he_dev)
{ {
unsigned (*rategrid)[16][16]; unsigned (*rategrid)[16][16];
...@@ -785,7 +785,7 @@ he_init_cs_block_rcm(struct he_dev *he_dev) ...@@ -785,7 +785,7 @@ he_init_cs_block_rcm(struct he_dev *he_dev)
return 0; return 0;
} }
static int __init static int __devinit
he_init_group(struct he_dev *he_dev, int group) he_init_group(struct he_dev *he_dev, int group)
{ {
int i; int i;
...@@ -955,7 +955,7 @@ he_init_group(struct he_dev *he_dev, int group) ...@@ -955,7 +955,7 @@ he_init_group(struct he_dev *he_dev, int group)
return 0; return 0;
} }
static int __init static int __devinit
he_init_irq(struct he_dev *he_dev) he_init_irq(struct he_dev *he_dev)
{ {
int i; int i;
......
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