aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/mlx4/eq.c
diff options
context:
space:
mode:
authorRoland Dreier <rolandd@cisco.com>2007-10-10 18:43:54 -0400
committerRoland Dreier <rolandd@cisco.com>2007-10-10 18:43:54 -0400
commit3d73c2884f45f9a297cbc956cea101405a9703f2 (patch)
tree2811672910ba925916e568f5275e0be630bec2ca /drivers/net/mlx4/eq.c
parent335a64a5a958002bc238c90de695e120c3c8c120 (diff)
mlx4_core: Fix section mismatches
Commit ee49bd93 ("mlx4_core: Reset device when internal error is detected") introduced some section mismatch problems when CONFIG_HOTPLUG=n, because the error recovery code tears down and reinitializes the device after everything is loaded, which ends up calling into lots of code marked __devinit and __devexit from regular .text. Fix this by getting rid of these now-incorrect section markers. Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'drivers/net/mlx4/eq.c')
-rw-r--r--drivers/net/mlx4/eq.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/drivers/net/mlx4/eq.c b/drivers/net/mlx4/eq.c
index 2095c843fa15..9c36c2034030 100644
--- a/drivers/net/mlx4/eq.c
+++ b/drivers/net/mlx4/eq.c
@@ -300,8 +300,7 @@ static int mlx4_HW2SW_EQ(struct mlx4_dev *dev, struct mlx4_cmd_mailbox *mailbox,
300 MLX4_CMD_TIME_CLASS_A); 300 MLX4_CMD_TIME_CLASS_A);
301} 301}
302 302
303static void __devinit __iomem *mlx4_get_eq_uar(struct mlx4_dev *dev, 303static void __iomem *mlx4_get_eq_uar(struct mlx4_dev *dev, struct mlx4_eq *eq)
304 struct mlx4_eq *eq)
305{ 304{
306 struct mlx4_priv *priv = mlx4_priv(dev); 305 struct mlx4_priv *priv = mlx4_priv(dev);
307 int index; 306 int index;
@@ -323,8 +322,8 @@ static void __devinit __iomem *mlx4_get_eq_uar(struct mlx4_dev *dev,
323 return priv->eq_table.uar_map[index] + 0x800 + 8 * (eq->eqn % 4); 322 return priv->eq_table.uar_map[index] + 0x800 + 8 * (eq->eqn % 4);
324} 323}
325 324
326static int __devinit mlx4_create_eq(struct mlx4_dev *dev, int nent, 325static int mlx4_create_eq(struct mlx4_dev *dev, int nent,
327 u8 intr, struct mlx4_eq *eq) 326 u8 intr, struct mlx4_eq *eq)
328{ 327{
329 struct mlx4_priv *priv = mlx4_priv(dev); 328 struct mlx4_priv *priv = mlx4_priv(dev);
330 struct mlx4_cmd_mailbox *mailbox; 329 struct mlx4_cmd_mailbox *mailbox;
@@ -485,7 +484,7 @@ static void mlx4_free_irqs(struct mlx4_dev *dev)
485 free_irq(eq_table->eq[i].irq, eq_table->eq + i); 484 free_irq(eq_table->eq[i].irq, eq_table->eq + i);
486} 485}
487 486
488static int __devinit mlx4_map_clr_int(struct mlx4_dev *dev) 487static int mlx4_map_clr_int(struct mlx4_dev *dev)
489{ 488{
490 struct mlx4_priv *priv = mlx4_priv(dev); 489 struct mlx4_priv *priv = mlx4_priv(dev);
491 490
@@ -506,7 +505,7 @@ static void mlx4_unmap_clr_int(struct mlx4_dev *dev)
506 iounmap(priv->clr_base); 505 iounmap(priv->clr_base);
507} 506}
508 507
509int __devinit mlx4_map_eq_icm(struct mlx4_dev *dev, u64 icm_virt) 508int mlx4_map_eq_icm(struct mlx4_dev *dev, u64 icm_virt)
510{ 509{
511 struct mlx4_priv *priv = mlx4_priv(dev); 510 struct mlx4_priv *priv = mlx4_priv(dev);
512 int ret; 511 int ret;
@@ -548,7 +547,7 @@ void mlx4_unmap_eq_icm(struct mlx4_dev *dev)
548 __free_page(priv->eq_table.icm_page); 547 __free_page(priv->eq_table.icm_page);
549} 548}
550 549
551int __devinit mlx4_init_eq_table(struct mlx4_dev *dev) 550int mlx4_init_eq_table(struct mlx4_dev *dev)
552{ 551{
553 struct mlx4_priv *priv = mlx4_priv(dev); 552 struct mlx4_priv *priv = mlx4_priv(dev);
554 int err; 553 int err;