All of lore.kernel.org
 help / color / mirror / Atom feed
* [BK PATCH] PCI fixes for 2.6.0-test5
@ 2003-09-11 22:54 Greg KH
  2003-09-11 22:59 ` [PATCH] " Greg KH
  0 siblings, 1 reply; 5+ messages in thread
From: Greg KH @ 2003-09-11 22:54 UTC (permalink / raw)
  To: torvalds; +Cc: linux-kernel

Hi,

Here are some PCI patches against 2.6.0-test5.  They fix the problem
with PCI drivers declaring their probe function as __init or __devinit
and then not selecting CONFIG_HOTPLUG.  When a user would try to add a
new device id by using the "new_id" file in the driver's sysfs
directory, it would cause an oops.  So now the "new_id" file is only
enabled if CONFIG_HOTPLUG is selected, and we've fixed up all of the PCI
drivers to mark their probe functions (and child functions and data) as
__devinit.

Thanks to Matt Domsch for the big patch, and all of the other people who
helped figure this out.

Please pull from:
	bk://kernel.bkbits.net/gregkh/linux/pci-2.6

thanks,

greg k-h

p.s. I'll send these as patches in response to this email to lkml for
those who want to see them.


 drivers/atm/firestream.c                |   18 -
 drivers/block/cciss.c                   |    4 
 drivers/char/epca.c                     |    2 
 drivers/char/watchdog/wdt_pci.c         |    2 
 drivers/net/hamachi.c                   |    6 
 drivers/net/irda/via-ircc.c             |    6 
 drivers/net/tc35815.c                   |    4 
 drivers/net/tokenring/abyss.c           |    4 
 drivers/net/tokenring/tmspci.c          |    4 
 drivers/net/tulip/de2104x.c             |    4 
 drivers/net/tulip/de4x5.c               |    8 
 drivers/net/wan/dscc4.c                 |    2 
 drivers/pci/hotplug/acpiphp.h           |   12 -
 drivers/pci/hotplug/acpiphp_core.c      |   12 -
 drivers/pci/hotplug/acpiphp_glue.c      |    6 
 drivers/pci/hotplug/acpiphp_pci.c       |   12 -
 drivers/pci/hotplug/acpiphp_res.c       |   12 -
 drivers/pci/hotplug/cpci_hotplug.h      |    6 
 drivers/pci/hotplug/cpci_hotplug_core.c |    6 
 drivers/pci/hotplug/cpci_hotplug_pci.c  |    2 
 drivers/pci/hotplug/cpqphp.h            |    6 
 drivers/pci/hotplug/cpqphp_core.c       |    6 
 drivers/pci/hotplug/cpqphp_ctrl.c       |    6 
 drivers/pci/hotplug/cpqphp_nvram.c      |    6 
 drivers/pci/hotplug/cpqphp_nvram.h      |    4 
 drivers/pci/hotplug/cpqphp_pci.c        |    6 
 drivers/pci/hotplug/cpqphp_sysfs.c      |    6 
 drivers/pci/hotplug/fakephp.c           |    6 
 drivers/pci/hotplug/ibmphp.h            |    4 
 drivers/pci/hotplug/ibmphp_core.c       |    4 
 drivers/pci/hotplug/ibmphp_ebda.c       |    4 
 drivers/pci/hotplug/ibmphp_hpc.c        |    2 
 drivers/pci/hotplug/ibmphp_pci.c        |    4 
 drivers/pci/hotplug/ibmphp_res.c        |    4 
 drivers/pci/hotplug/pci_hotplug.h       |    6 
 drivers/pci/hotplug/pci_hotplug_core.c  |    4 
 drivers/pci/hotplug/pcihp_skeleton.c    |    4 
 drivers/pci/pci-driver.c                |  334 +++++++++++++++++---------------
 drivers/pcmcia/i82092.c                 |    2 
 drivers/video/i810/i810_main.c          |   20 -
 drivers/video/i810/i810_main.h          |    4 
 drivers/video/riva/fbdev.c              |    4 
 42 files changed, 304 insertions(+), 274 deletions(-)
-----

Greg Kroah-Hartman:
  o PCI: fix up some pci drivers that had marked their probe functions with __init
  o PCI: remove compiler warning from previous new_id patch
  o PCI hotplug: fix up a bunch of copyrights that were incorrectly declared

Matt Domsch:
  o PCI: make new_id rely on CONFIG_HOTPLUG


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH] PCI fixes for 2.6.0-test5
  2003-09-11 22:54 [BK PATCH] PCI fixes for 2.6.0-test5 Greg KH
@ 2003-09-11 22:59 ` Greg KH
  2003-09-11 22:59   ` Greg KH
  0 siblings, 1 reply; 5+ messages in thread
From: Greg KH @ 2003-09-11 22:59 UTC (permalink / raw)
  To: linux-kernel

ChangeSet 1.1153.78.1, 2003/08/27 14:45:27-07:00, greg@kroah.com

[PATCH] PCI hotplug: fix up a bunch of copyrights that were incorrectly declared.

It needs to be "Copyright (C)" not "Copyright (c)" according to the lawyers
who know these things...


 drivers/pci/hotplug/acpiphp.h           |   12 ++++++------
 drivers/pci/hotplug/acpiphp_core.c      |   12 ++++++------
 drivers/pci/hotplug/acpiphp_glue.c      |    6 +++---
 drivers/pci/hotplug/acpiphp_pci.c       |   12 ++++++------
 drivers/pci/hotplug/acpiphp_res.c       |   12 ++++++------
 drivers/pci/hotplug/cpci_hotplug.h      |    6 +++---
 drivers/pci/hotplug/cpci_hotplug_core.c |    6 +++---
 drivers/pci/hotplug/cpci_hotplug_pci.c  |    2 +-
 drivers/pci/hotplug/cpqphp.h            |    6 +++---
 drivers/pci/hotplug/cpqphp_core.c       |    6 +++---
 drivers/pci/hotplug/cpqphp_ctrl.c       |    6 +++---
 drivers/pci/hotplug/cpqphp_nvram.c      |    6 +++---
 drivers/pci/hotplug/cpqphp_nvram.h      |    4 ++--
 drivers/pci/hotplug/cpqphp_pci.c        |    6 +++---
 drivers/pci/hotplug/cpqphp_sysfs.c      |    6 +++---
 drivers/pci/hotplug/fakephp.c           |    6 +++---
 drivers/pci/hotplug/ibmphp.h            |    4 ++--
 drivers/pci/hotplug/ibmphp_core.c       |    4 ++--
 drivers/pci/hotplug/ibmphp_ebda.c       |    4 ++--
 drivers/pci/hotplug/ibmphp_hpc.c        |    2 +-
 drivers/pci/hotplug/ibmphp_pci.c        |    4 ++--
 drivers/pci/hotplug/ibmphp_res.c        |    4 ++--
 drivers/pci/hotplug/pci_hotplug.h       |    6 +++---
 drivers/pci/hotplug/pci_hotplug_core.c  |    4 ++--
 drivers/pci/hotplug/pcihp_skeleton.c    |    4 ++--
 25 files changed, 75 insertions(+), 75 deletions(-)


diff -Nru a/drivers/pci/hotplug/acpiphp.h b/drivers/pci/hotplug/acpiphp.h
--- a/drivers/pci/hotplug/acpiphp.h	Thu Sep 11 15:54:58 2003
+++ b/drivers/pci/hotplug/acpiphp.h	Thu Sep 11 15:54:58 2003
@@ -1,12 +1,12 @@
 /*
  * ACPI PCI Hot Plug Controller Driver
  *
- * Copyright (c) 1995,2001 Compaq Computer Corporation
- * Copyright (c) 2001 Greg Kroah-Hartman (greg@kroah.com)
- * Copyright (c) 2001 IBM Corp.
- * Copyright (c) 2002 Hiroshi Aono (h-aono@ap.jp.nec.com)
- * Copyright (c) 2002,2003 Takayoshi Kochi (t-kochi@bq.jp.nec.com)
- * Copyright (c) 2002,2003 NEC Corporation
+ * Copyright (C) 1995,2001 Compaq Computer Corporation
+ * Copyright (C) 2001 Greg Kroah-Hartman (greg@kroah.com)
+ * Copyright (C) 2001 IBM Corp.
+ * Copyright (C) 2002 Hiroshi Aono (h-aono@ap.jp.nec.com)
+ * Copyright (C) 2002,2003 Takayoshi Kochi (t-kochi@bq.jp.nec.com)
+ * Copyright (C) 2002,2003 NEC Corporation
  *
  * All rights reserved.
  *
diff -Nru a/drivers/pci/hotplug/acpiphp_core.c b/drivers/pci/hotplug/acpiphp_core.c
--- a/drivers/pci/hotplug/acpiphp_core.c	Thu Sep 11 15:54:58 2003
+++ b/drivers/pci/hotplug/acpiphp_core.c	Thu Sep 11 15:54:58 2003
@@ -1,12 +1,12 @@
 /*
  * ACPI PCI Hot Plug Controller Driver
  *
- * Copyright (c) 1995,2001 Compaq Computer Corporation
- * Copyright (c) 2001 Greg Kroah-Hartman (greg@kroah.com)
- * Copyright (c) 2001 IBM Corp.
- * Copyright (c) 2002 Hiroshi Aono (h-aono@ap.jp.nec.com)
- * Copyright (c) 2002,2003 Takayoshi Kochi (t-kochi@bq.jp.nec.com)
- * Copyright (c) 2002,2003 NEC Corporation
+ * Copyright (C) 1995,2001 Compaq Computer Corporation
+ * Copyright (C) 2001 Greg Kroah-Hartman (greg@kroah.com)
+ * Copyright (C) 2001 IBM Corp.
+ * Copyright (C) 2002 Hiroshi Aono (h-aono@ap.jp.nec.com)
+ * Copyright (C) 2002,2003 Takayoshi Kochi (t-kochi@bq.jp.nec.com)
+ * Copyright (C) 2002,2003 NEC Corporation
  *
  * All rights reserved.
  *
diff -Nru a/drivers/pci/hotplug/acpiphp_glue.c b/drivers/pci/hotplug/acpiphp_glue.c
--- a/drivers/pci/hotplug/acpiphp_glue.c	Thu Sep 11 15:54:58 2003
+++ b/drivers/pci/hotplug/acpiphp_glue.c	Thu Sep 11 15:54:58 2003
@@ -1,9 +1,9 @@
 /*
  * ACPI PCI HotPlug glue functions to ACPI CA subsystem
  *
- * Copyright (c) 2002,2003 Takayoshi Kochi (t-kochi@bq.jp.nec.com)
- * Copyright (c) 2002 Hiroshi Aono (h-aono@ap.jp.nec.com)
- * Copyright (c) 2002,2003 NEC Corporation
+ * Copyright (C) 2002,2003 Takayoshi Kochi (t-kochi@bq.jp.nec.com)
+ * Copyright (C) 2002 Hiroshi Aono (h-aono@ap.jp.nec.com)
+ * Copyright (C) 2002,2003 NEC Corporation
  *
  * All rights reserved.
  *
diff -Nru a/drivers/pci/hotplug/acpiphp_pci.c b/drivers/pci/hotplug/acpiphp_pci.c
--- a/drivers/pci/hotplug/acpiphp_pci.c	Thu Sep 11 15:54:58 2003
+++ b/drivers/pci/hotplug/acpiphp_pci.c	Thu Sep 11 15:54:58 2003
@@ -1,12 +1,12 @@
 /*
  * ACPI PCI HotPlug PCI configuration space management
  *
- * Copyright (c) 1995,2001 Compaq Computer Corporation
- * Copyright (c) 2001 Greg Kroah-Hartman (greg@kroah.com)
- * Copyright (c) 2001,2002 IBM Corp.
- * Copyright (c) 2002 Takayoshi Kochi (t-kochi@bq.jp.nec.com)
- * Copyright (c) 2002 Hiroshi Aono (h-aono@ap.jp.nec.com)
- * Copyright (c) 2002 NEC Corporation
+ * Copyright (C) 1995,2001 Compaq Computer Corporation
+ * Copyright (C) 2001 Greg Kroah-Hartman (greg@kroah.com)
+ * Copyright (C) 2001,2002 IBM Corp.
+ * Copyright (C) 2002 Takayoshi Kochi (t-kochi@bq.jp.nec.com)
+ * Copyright (C) 2002 Hiroshi Aono (h-aono@ap.jp.nec.com)
+ * Copyright (C) 2002 NEC Corporation
  *
  * All rights reserved.
  *
diff -Nru a/drivers/pci/hotplug/acpiphp_res.c b/drivers/pci/hotplug/acpiphp_res.c
--- a/drivers/pci/hotplug/acpiphp_res.c	Thu Sep 11 15:54:58 2003
+++ b/drivers/pci/hotplug/acpiphp_res.c	Thu Sep 11 15:54:58 2003
@@ -1,12 +1,12 @@
 /*
  * ACPI PCI HotPlug Utility functions
  *
- * Copyright (c) 1995,2001 Compaq Computer Corporation
- * Copyright (c) 2001 Greg Kroah-Hartman (greg@kroah.com)
- * Copyright (c) 2001 IBM Corp.
- * Copyright (c) 2002 Hiroshi Aono (h-aono@ap.jp.nec.com)
- * Copyright (c) 2002 Takayoshi Kochi (t-kochi@bq.jp.nec.com)
- * Copyright (c) 2002 NEC Corporation
+ * Copyright (C) 1995,2001 Compaq Computer Corporation
+ * Copyright (C) 2001 Greg Kroah-Hartman (greg@kroah.com)
+ * Copyright (C) 2001 IBM Corp.
+ * Copyright (C) 2002 Hiroshi Aono (h-aono@ap.jp.nec.com)
+ * Copyright (C) 2002 Takayoshi Kochi (t-kochi@bq.jp.nec.com)
+ * Copyright (C) 2002 NEC Corporation
  *
  * All rights reserved.
  *
diff -Nru a/drivers/pci/hotplug/cpci_hotplug.h b/drivers/pci/hotplug/cpci_hotplug.h
--- a/drivers/pci/hotplug/cpci_hotplug.h	Thu Sep 11 15:54:58 2003
+++ b/drivers/pci/hotplug/cpci_hotplug.h	Thu Sep 11 15:54:58 2003
@@ -1,9 +1,9 @@
 /*
  * CompactPCI Hot Plug Core Functions
  *
- * Copyright (c) 2002 SOMA Networks, Inc.
- * Copyright (c) 2001 Greg Kroah-Hartman (greg@kroah.com)
- * Copyright (c) 2001 IBM Corp.
+ * Copyright (C) 2002 SOMA Networks, Inc.
+ * Copyright (C) 2001 Greg Kroah-Hartman (greg@kroah.com)
+ * Copyright (C) 2001 IBM Corp.
  *
  * All rights reserved.
  *
diff -Nru a/drivers/pci/hotplug/cpci_hotplug_core.c b/drivers/pci/hotplug/cpci_hotplug_core.c
--- a/drivers/pci/hotplug/cpci_hotplug_core.c	Thu Sep 11 15:54:58 2003
+++ b/drivers/pci/hotplug/cpci_hotplug_core.c	Thu Sep 11 15:54:58 2003
@@ -1,9 +1,9 @@
 /*
  * CompactPCI Hot Plug Driver
  *
- * Copyright (c) 2002 SOMA Networks, Inc.
- * Copyright (c) 2001 Greg Kroah-Hartman (greg@kroah.com)
- * Copyright (c) 2001 IBM Corp.
+ * Copyright (C) 2002 SOMA Networks, Inc.
+ * Copyright (C) 2001 Greg Kroah-Hartman (greg@kroah.com)
+ * Copyright (C) 2001 IBM Corp.
  *
  * All rights reserved.
  *
diff -Nru a/drivers/pci/hotplug/cpci_hotplug_pci.c b/drivers/pci/hotplug/cpci_hotplug_pci.c
--- a/drivers/pci/hotplug/cpci_hotplug_pci.c	Thu Sep 11 15:54:58 2003
+++ b/drivers/pci/hotplug/cpci_hotplug_pci.c	Thu Sep 11 15:54:58 2003
@@ -1,7 +1,7 @@
 /*
  * CompactPCI Hot Plug Driver PCI functions
  *
- * Copyright (c) 2002 by SOMA Networks, Inc.
+ * Copyright (C) 2002 by SOMA Networks, Inc.
  *
  * All rights reserved.
  *
diff -Nru a/drivers/pci/hotplug/cpqphp.h b/drivers/pci/hotplug/cpqphp.h
--- a/drivers/pci/hotplug/cpqphp.h	Thu Sep 11 15:54:58 2003
+++ b/drivers/pci/hotplug/cpqphp.h	Thu Sep 11 15:54:58 2003
@@ -1,9 +1,9 @@
 /*
  * Compaq Hot Plug Controller Driver
  *
- * Copyright (c) 1995,2001 Compaq Computer Corporation
- * Copyright (c) 2001 Greg Kroah-Hartman (greg@kroah.com)
- * Copyright (c) 2001 IBM
+ * Copyright (C) 1995,2001 Compaq Computer Corporation
+ * Copyright (C) 2001 Greg Kroah-Hartman (greg@kroah.com)
+ * Copyright (C) 2001 IBM
  *
  * All rights reserved.
  *
diff -Nru a/drivers/pci/hotplug/cpqphp_core.c b/drivers/pci/hotplug/cpqphp_core.c
--- a/drivers/pci/hotplug/cpqphp_core.c	Thu Sep 11 15:54:58 2003
+++ b/drivers/pci/hotplug/cpqphp_core.c	Thu Sep 11 15:54:58 2003
@@ -1,9 +1,9 @@
 /*
  * Compaq Hot Plug Controller Driver
  *
- * Copyright (c) 1995,2001 Compaq Computer Corporation
- * Copyright (c) 2001 Greg Kroah-Hartman (greg@kroah.com)
- * Copyright (c) 2001 IBM Corp.
+ * Copyright (C) 1995,2001 Compaq Computer Corporation
+ * Copyright (C) 2001 Greg Kroah-Hartman (greg@kroah.com)
+ * Copyright (C) 2001 IBM Corp.
  *
  * All rights reserved.
  *
diff -Nru a/drivers/pci/hotplug/cpqphp_ctrl.c b/drivers/pci/hotplug/cpqphp_ctrl.c
--- a/drivers/pci/hotplug/cpqphp_ctrl.c	Thu Sep 11 15:54:58 2003
+++ b/drivers/pci/hotplug/cpqphp_ctrl.c	Thu Sep 11 15:54:58 2003
@@ -1,9 +1,9 @@
 /*
  * Compaq Hot Plug Controller Driver
  *
- * Copyright (c) 1995,2001 Compaq Computer Corporation
- * Copyright (c) 2001 Greg Kroah-Hartman (greg@kroah.com)
- * Copyright (c) 2001 IBM Corp.
+ * Copyright (C) 1995,2001 Compaq Computer Corporation
+ * Copyright (C) 2001 Greg Kroah-Hartman (greg@kroah.com)
+ * Copyright (C) 2001 IBM Corp.
  *
  * All rights reserved.
  *
diff -Nru a/drivers/pci/hotplug/cpqphp_nvram.c b/drivers/pci/hotplug/cpqphp_nvram.c
--- a/drivers/pci/hotplug/cpqphp_nvram.c	Thu Sep 11 15:54:58 2003
+++ b/drivers/pci/hotplug/cpqphp_nvram.c	Thu Sep 11 15:54:58 2003
@@ -1,9 +1,9 @@
 /*
  * Compaq Hot Plug Controller Driver
  *
- * Copyright (c) 1995,2001 Compaq Computer Corporation
- * Copyright (c) 2001 Greg Kroah-Hartman (greg@kroah.com)
- * Copyright (c) 2001 IBM Corp.
+ * Copyright (C) 1995,2001 Compaq Computer Corporation
+ * Copyright (C) 2001 Greg Kroah-Hartman (greg@kroah.com)
+ * Copyright (C) 2001 IBM Corp.
  *
  * All rights reserved.
  *
diff -Nru a/drivers/pci/hotplug/cpqphp_nvram.h b/drivers/pci/hotplug/cpqphp_nvram.h
--- a/drivers/pci/hotplug/cpqphp_nvram.h	Thu Sep 11 15:54:58 2003
+++ b/drivers/pci/hotplug/cpqphp_nvram.h	Thu Sep 11 15:54:58 2003
@@ -1,8 +1,8 @@
 /*
  * Compaq Hot Plug Controller Driver
  *
- * Copyright (c) 1995,2001 Compaq Computer Corporation
- * Copyright (c) 2001 Greg Kroah-Hartman (greg@kroah.com)
+ * Copyright (C) 1995,2001 Compaq Computer Corporation
+ * Copyright (C) 2001 Greg Kroah-Hartman (greg@kroah.com)
  *
  * All rights reserved.
  *
diff -Nru a/drivers/pci/hotplug/cpqphp_pci.c b/drivers/pci/hotplug/cpqphp_pci.c
--- a/drivers/pci/hotplug/cpqphp_pci.c	Thu Sep 11 15:54:58 2003
+++ b/drivers/pci/hotplug/cpqphp_pci.c	Thu Sep 11 15:54:58 2003
@@ -1,9 +1,9 @@
 /*
  * Compaq Hot Plug Controller Driver
  *
- * Copyright (c) 1995,2001 Compaq Computer Corporation
- * Copyright (c) 2001 Greg Kroah-Hartman (greg@kroah.com)
- * Copyright (c) 2001 IBM Corp.
+ * Copyright (C) 1995,2001 Compaq Computer Corporation
+ * Copyright (C) 2001 Greg Kroah-Hartman (greg@kroah.com)
+ * Copyright (C) 2001 IBM Corp.
  *
  * All rights reserved.
  *
diff -Nru a/drivers/pci/hotplug/cpqphp_sysfs.c b/drivers/pci/hotplug/cpqphp_sysfs.c
--- a/drivers/pci/hotplug/cpqphp_sysfs.c	Thu Sep 11 15:54:58 2003
+++ b/drivers/pci/hotplug/cpqphp_sysfs.c	Thu Sep 11 15:54:58 2003
@@ -1,9 +1,9 @@
 /*
  * Compaq Hot Plug Controller Driver
  *
- * Copyright (c) 1995,2001 Compaq Computer Corporation
- * Copyright (c) 2001,2003 Greg Kroah-Hartman (greg@kroah.com)
- * Copyright (c) 2001 IBM Corp.
+ * Copyright (C) 1995,2001 Compaq Computer Corporation
+ * Copyright (C) 2001,2003 Greg Kroah-Hartman (greg@kroah.com)
+ * Copyright (C) 2001 IBM Corp.
  *
  * All rights reserved.
  *
diff -Nru a/drivers/pci/hotplug/fakephp.c b/drivers/pci/hotplug/fakephp.c
--- a/drivers/pci/hotplug/fakephp.c	Thu Sep 11 15:54:58 2003
+++ b/drivers/pci/hotplug/fakephp.c	Thu Sep 11 15:54:58 2003
@@ -1,9 +1,9 @@
 /*
  * Fake PCI Hot Plug Controller Driver
  *
- * Copyright (c) 2003 Greg Kroah-Hartman <greg@kroah.com>
- * Copyright (c) 2003 IBM Corp.
- * Copyright (c) 2003 Rolf Eike Beer <eike-kernel@sf-tec.de>
+ * Copyright (C) 2003 Greg Kroah-Hartman <greg@kroah.com>
+ * Copyright (C) 2003 IBM Corp.
+ * Copyright (C) 2003 Rolf Eike Beer <eike-kernel@sf-tec.de>
  *
  * Based on ideas and code from:
  * 	Vladimir Kondratiev <vladimir.kondratiev@intel.com>
diff -Nru a/drivers/pci/hotplug/ibmphp.h b/drivers/pci/hotplug/ibmphp.h
--- a/drivers/pci/hotplug/ibmphp.h	Thu Sep 11 15:54:58 2003
+++ b/drivers/pci/hotplug/ibmphp.h	Thu Sep 11 15:54:58 2003
@@ -6,8 +6,8 @@
  *
  * Written By: Jyoti Shah, Tong Yu, Irene Zubarev, IBM Corporation
  *
- * Copyright (c) 2001 Greg Kroah-Hartman (greg@kroah.com)
- * Copyright (c) 2001-2003 IBM Corp.
+ * Copyright (C) 2001 Greg Kroah-Hartman (greg@kroah.com)
+ * Copyright (C) 2001-2003 IBM Corp.
  *
  * All rights reserved.
  *
diff -Nru a/drivers/pci/hotplug/ibmphp_core.c b/drivers/pci/hotplug/ibmphp_core.c
--- a/drivers/pci/hotplug/ibmphp_core.c	Thu Sep 11 15:54:58 2003
+++ b/drivers/pci/hotplug/ibmphp_core.c	Thu Sep 11 15:54:58 2003
@@ -3,8 +3,8 @@
  *
  * Written By: Chuck Cole, Jyoti Shah, Tong Yu, Irene Zubarev, IBM Corporation
  *
- * Copyright (c) 2001,2003 Greg Kroah-Hartman (greg@kroah.com)
- * Copyright (c) 2001-2003 IBM Corp.
+ * Copyright (C) 2001,2003 Greg Kroah-Hartman (greg@kroah.com)
+ * Copyright (C) 2001-2003 IBM Corp.
  *
  * All rights reserved.
  *
diff -Nru a/drivers/pci/hotplug/ibmphp_ebda.c b/drivers/pci/hotplug/ibmphp_ebda.c
--- a/drivers/pci/hotplug/ibmphp_ebda.c	Thu Sep 11 15:54:58 2003
+++ b/drivers/pci/hotplug/ibmphp_ebda.c	Thu Sep 11 15:54:58 2003
@@ -3,8 +3,8 @@
  *
  * Written By: Tong Yu, IBM Corporation
  *
- * Copyright (c) 2001,2003 Greg Kroah-Hartman (greg@kroah.com)
- * Copyright (c) 2001-2003 IBM Corp.
+ * Copyright (C) 2001,2003 Greg Kroah-Hartman (greg@kroah.com)
+ * Copyright (C) 2001-2003 IBM Corp.
  *
  * All rights reserved.
  *
diff -Nru a/drivers/pci/hotplug/ibmphp_hpc.c b/drivers/pci/hotplug/ibmphp_hpc.c
--- a/drivers/pci/hotplug/ibmphp_hpc.c	Thu Sep 11 15:54:58 2003
+++ b/drivers/pci/hotplug/ibmphp_hpc.c	Thu Sep 11 15:54:58 2003
@@ -3,7 +3,7 @@
  *
  * Written By: Jyoti Shah, IBM Corporation
  *
- * Copyright (c) 2001-2003 IBM Corp.
+ * Copyright (C) 2001-2003 IBM Corp.
  *
  * All rights reserved.
  *
diff -Nru a/drivers/pci/hotplug/ibmphp_pci.c b/drivers/pci/hotplug/ibmphp_pci.c
--- a/drivers/pci/hotplug/ibmphp_pci.c	Thu Sep 11 15:54:58 2003
+++ b/drivers/pci/hotplug/ibmphp_pci.c	Thu Sep 11 15:54:58 2003
@@ -3,8 +3,8 @@
  * 
  * Written By: Irene Zubarev, IBM Corporation
  * 
- * Copyright (c) 2001 Greg Kroah-Hartman (greg@kroah.com)
- * Copyright (c) 2001,2002 IBM Corp.
+ * Copyright (C) 2001 Greg Kroah-Hartman (greg@kroah.com)
+ * Copyright (C) 2001,2002 IBM Corp.
  *
  * All rights reserved.
  *
diff -Nru a/drivers/pci/hotplug/ibmphp_res.c b/drivers/pci/hotplug/ibmphp_res.c
--- a/drivers/pci/hotplug/ibmphp_res.c	Thu Sep 11 15:54:58 2003
+++ b/drivers/pci/hotplug/ibmphp_res.c	Thu Sep 11 15:54:58 2003
@@ -3,8 +3,8 @@
  *
  * Written By: Irene Zubarev, IBM Corporation
  *
- * Copyright (c) 2001 Greg Kroah-Hartman (greg@kroah.com)
- * Copyright (c) 2001,2002 IBM Corp.
+ * Copyright (C) 2001 Greg Kroah-Hartman (greg@kroah.com)
+ * Copyright (C) 2001,2002 IBM Corp.
  *
  * All rights reserved.
  *
diff -Nru a/drivers/pci/hotplug/pci_hotplug.h b/drivers/pci/hotplug/pci_hotplug.h
--- a/drivers/pci/hotplug/pci_hotplug.h	Thu Sep 11 15:54:58 2003
+++ b/drivers/pci/hotplug/pci_hotplug.h	Thu Sep 11 15:54:58 2003
@@ -1,9 +1,9 @@
 /*
  * PCI HotPlug Core Functions
  *
- * Copyright (c) 1995,2001 Compaq Computer Corporation
- * Copyright (c) 2001 Greg Kroah-Hartman (greg@kroah.com)
- * Copyright (c) 2001 IBM Corp.
+ * Copyright (C) 1995,2001 Compaq Computer Corporation
+ * Copyright (C) 2001 Greg Kroah-Hartman (greg@kroah.com)
+ * Copyright (C) 2001 IBM Corp.
  *
  * All rights reserved.
  *
diff -Nru a/drivers/pci/hotplug/pci_hotplug_core.c b/drivers/pci/hotplug/pci_hotplug_core.c
--- a/drivers/pci/hotplug/pci_hotplug_core.c	Thu Sep 11 15:54:58 2003
+++ b/drivers/pci/hotplug/pci_hotplug_core.c	Thu Sep 11 15:54:58 2003
@@ -1,8 +1,8 @@
 /*
  * PCI HotPlug Controller Core
  *
- * Copyright (c) 2001-2002 Greg Kroah-Hartman (greg@kroah.com)
- * Copyright (c) 2001-2002 IBM Corp.
+ * Copyright (C) 2001-2002 Greg Kroah-Hartman (greg@kroah.com)
+ * Copyright (C) 2001-2002 IBM Corp.
  *
  * All rights reserved.
  *
diff -Nru a/drivers/pci/hotplug/pcihp_skeleton.c b/drivers/pci/hotplug/pcihp_skeleton.c
--- a/drivers/pci/hotplug/pcihp_skeleton.c	Thu Sep 11 15:54:58 2003
+++ b/drivers/pci/hotplug/pcihp_skeleton.c	Thu Sep 11 15:54:58 2003
@@ -1,8 +1,8 @@
 /*
  * PCI Hot Plug Controller Skeleton Driver - 0.2
  *
- * Copyright (c) 2001,2003 Greg Kroah-Hartman (greg@kroah.com)
- * Copyright (c) 2001,2003 IBM Corp.
+ * Copyright (C) 2001,2003 Greg Kroah-Hartman (greg@kroah.com)
+ * Copyright (C) 2001,2003 IBM Corp.
  *
  * All rights reserved.
  *


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] PCI fixes for 2.6.0-test5
  2003-09-11 22:59 ` [PATCH] " Greg KH
@ 2003-09-11 22:59   ` Greg KH
  2003-09-11 22:59     ` Greg KH
  0 siblings, 1 reply; 5+ messages in thread
From: Greg KH @ 2003-09-11 22:59 UTC (permalink / raw)
  To: linux-kernel

ChangeSet 1.1285, 2003/09/11 14:27:15-07:00, Matt_Domsch@Dell.com

[PATCH] PCI: make new_id rely on CONFIG_HOTPLUG

> > These either need to be marked __devinit and make "new_id" dependant on
> > CONFIG_HOTPLUG

Patch below moves all the new_id code under CONFIG_HOTPLUG.  Tested
with both CONFIG_HOTPLUG enabled and disabled.  No significant code
changes, merely code moving, and in 2 cases, stub functions added.


 drivers/pci/pci-driver.c |  301 +++++++++++++++++++++++++----------------------
 1 files changed, 162 insertions(+), 139 deletions(-)


diff -Nru a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c
--- a/drivers/pci/pci-driver.c	Thu Sep 11 15:54:52 2003
+++ b/drivers/pci/pci-driver.c	Thu Sep 11 15:54:52 2003
@@ -35,6 +35,166 @@
 	return NULL;
 }
 
+/*
+ * Dynamic device IDs are disabled for !CONFIG_HOTPLUG
+ */
+
+#ifdef CONFIG_HOTPLUG
+/**
+ * pci_device_probe_dynamic()
+ *
+ * Walk the dynamic ID list looking for a match.
+ * returns 0 and sets pci_dev->driver when drv claims pci_dev, else error.
+ */
+static int
+pci_device_probe_dynamic(struct pci_driver *drv, struct pci_dev *pci_dev)
+{
+	int error = -ENODEV;
+	struct list_head *pos;
+	struct dynid *dynid;
+
+	spin_lock(&drv->dynids.lock);
+	list_for_each(pos, &drv->dynids.list) {
+		dynid = list_entry(pos, struct dynid, node);
+		if (pci_match_one_device(&dynid->id, pci_dev)) {
+			spin_unlock(&drv->dynids.lock);
+			error = drv->probe(pci_dev, &dynid->id);
+			if (error >= 0) {
+				pci_dev->driver = drv;
+				return 0;
+			}
+			return error;
+		}
+	}
+	spin_unlock(&drv->dynids.lock);
+	return error;
+}
+static inline void
+dynid_init(struct dynid *dynid)
+{
+	memset(dynid, 0, sizeof(*dynid));
+	INIT_LIST_HEAD(&dynid->node);
+}
+
+/**
+ * store_new_id
+ * @ pdrv
+ * @ buf
+ * @ count
+ *
+ * Adds a new dynamic pci device ID to this driver,
+ * and causes the driver to probe for all devices again.
+ */
+static inline ssize_t
+store_new_id(struct device_driver * driver, const char * buf, size_t count)
+{
+	struct dynid *dynid;
+	struct bus_type * bus;
+	struct pci_driver *pdrv = to_pci_driver(driver);
+	__u32 vendor=PCI_ANY_ID, device=PCI_ANY_ID, subvendor=PCI_ANY_ID,
+		subdevice=PCI_ANY_ID, class=0, class_mask=0;
+	unsigned long driver_data=0;
+	int fields=0;
+
+	fields = sscanf(buf, "%x %x %x %x %x %x %lux",
+			&vendor, &device, &subvendor, &subdevice,
+			&class, &class_mask, &driver_data);
+	if (fields < 0)
+		return -EINVAL;
+
+	dynid = kmalloc(sizeof(*dynid), GFP_KERNEL);
+	if (!dynid)
+		return -ENOMEM;
+	dynid_init(dynid);
+
+	dynid->id.vendor = vendor;
+	dynid->id.device = device;
+	dynid->id.subvendor = subvendor;
+	dynid->id.subdevice = subdevice;
+	dynid->id.class = class;
+	dynid->id.class_mask = class_mask;
+	dynid->id.driver_data = pdrv->dynids.use_driver_data ?
+		driver_data : 0UL;
+
+	spin_lock(&pdrv->dynids.lock);
+	list_add_tail(&pdrv->dynids.list, &dynid->node);
+	spin_unlock(&pdrv->dynids.lock);
+
+	bus = get_bus(pdrv->driver.bus);
+	if (bus) {
+		if (get_driver(&pdrv->driver)) {
+			down_write(&bus->subsys.rwsem);
+			driver_attach(&pdrv->driver);
+			up_write(&bus->subsys.rwsem);
+			put_driver(&pdrv->driver);
+		}
+		put_bus(bus);
+	}
+
+	return count;
+}
+
+static DRIVER_ATTR(new_id, S_IWUSR, NULL, store_new_id);
+static inline void
+pci_init_dynids(struct pci_dynids *dynids)
+{
+	memset(dynids, 0, sizeof(*dynids));
+	spin_lock_init(&dynids->lock);
+	INIT_LIST_HEAD(&dynids->list);
+}
+
+static void
+pci_free_dynids(struct pci_driver *drv)
+{
+	struct list_head *pos, *n;
+	struct dynid *dynid;
+
+	spin_lock(&drv->dynids.lock);
+	list_for_each_safe(pos, n, &drv->dynids.list) {
+		dynid = list_entry(pos, struct dynid, node);
+		list_del(&dynid->node);
+		kfree(dynid);
+	}
+	spin_unlock(&drv->dynids.lock);
+}
+
+static int
+pci_create_newid_file(struct pci_driver * drv)
+{
+	int error = 0;
+	if (drv->probe != NULL)
+		error = sysfs_create_file(&drv->driver.kobj,
+					  &driver_attr_new_id.attr);
+	return error;
+}
+
+static int
+pci_bus_match_dynids(const struct pci_dev * pci_dev, const struct pci_driver * pci_drv)
+{
+	struct list_head *pos;
+	struct dynid *dynid;
+
+	spin_lock(&pci_drv->dynids.lock);
+	list_for_each(pos, &pci_drv->dynids.list) {
+		dynid = list_entry(pos, struct dynid, node);
+		if (pci_match_one_device(&dynid->id, pci_dev)) {
+			spin_unlock(&pci_drv->dynids.lock);
+			return 1;
+		}
+	}
+	spin_unlock(&pci_drv->dynids.lock);
+	return 0;
+}
+
+#else /* !CONFIG_HOTPLUG */
+#define pci_device_probe_dynamic(drv,pci_dev) (-ENODEV)
+#define dynid_init(dynid) do {} while (0)
+#define pci_init_dynids(dynids) do {} while (0)
+#define pci_free_dynids(drv) do {} while (0)
+#define pci_create_newid_file(drv) (0)
+#define pci_bus_match_dynids(pci_dev, pci_drv) (0)
+#endif
+
 /**
  * pci_match_device - Tell if a PCI device structure has a matching
  *                    PCI device id structure
@@ -80,36 +240,6 @@
 }
 
 /**
- * pci_device_probe_dynamic()
- * 
- * Walk the dynamic ID list looking for a match.
- * returns 0 and sets pci_dev->driver when drv claims pci_dev, else error.
- */
-static int
-pci_device_probe_dynamic(struct pci_driver *drv, struct pci_dev *pci_dev)
-{		   
-	int error = -ENODEV;
-	struct list_head *pos;
-	struct dynid *dynid;
-
-	spin_lock(&drv->dynids.lock);
-	list_for_each(pos, &drv->dynids.list) {
-		dynid = list_entry(pos, struct dynid, node);
-		if (pci_match_one_device(&dynid->id, pci_dev)) {
-			spin_unlock(&drv->dynids.lock);
-			error = drv->probe(pci_dev, &dynid->id);
-			if (error >= 0) {
-				pci_dev->driver = drv;
-				return 0;
-			}
-			return error;
-		}
-	}
-	spin_unlock(&drv->dynids.lock);
-	return error;
-}
-
-/**
  * __pci_device_probe()
  * 
  * returns 0  on success, else error.
@@ -178,72 +308,6 @@
 	return 0;
 }
 
-static inline void
-dynid_init(struct dynid *dynid)
-{
-	memset(dynid, 0, sizeof(*dynid));
-	INIT_LIST_HEAD(&dynid->node);
-}
-
-/**
- * store_new_id
- * @ pdrv
- * @ buf
- * @ count
- *
- * Adds a new dynamic pci device ID to this driver,
- * and causes the driver to probe for all devices again.
- */
-static inline ssize_t
-store_new_id(struct device_driver * driver, const char * buf, size_t count)
-{
-	struct dynid *dynid;
-	struct bus_type * bus;
-	struct pci_driver *pdrv = to_pci_driver(driver);
-	__u32 vendor=PCI_ANY_ID, device=PCI_ANY_ID, subvendor=PCI_ANY_ID,
-		subdevice=PCI_ANY_ID, class=0, class_mask=0;
-	unsigned long driver_data=0;
-	int fields=0;
-
-	fields = sscanf(buf, "%x %x %x %x %x %x %lux",
-			&vendor, &device, &subvendor, &subdevice,
-			&class, &class_mask, &driver_data);
-	if (fields < 0)
-		return -EINVAL;
-
-	dynid = kmalloc(sizeof(*dynid), GFP_KERNEL);
-	if (!dynid)
-		return -ENOMEM;
-	dynid_init(dynid);
-
-	dynid->id.vendor = vendor;
-	dynid->id.device = device;
-	dynid->id.subvendor = subvendor;
-	dynid->id.subdevice = subdevice;
-	dynid->id.class = class;
-	dynid->id.class_mask = class_mask;
-	dynid->id.driver_data = pdrv->dynids.use_driver_data ?
-		driver_data : 0UL;
-
-	spin_lock(&pdrv->dynids.lock);
-	list_add_tail(&pdrv->dynids.list, &dynid->node);
-	spin_unlock(&pdrv->dynids.lock);
-
-	bus = get_bus(pdrv->driver.bus);
-	if (bus) {
-		if (get_driver(&pdrv->driver)) {
-			down_write(&bus->subsys.rwsem);
-			driver_attach(&pdrv->driver);
-			up_write(&bus->subsys.rwsem);
-			put_driver(&pdrv->driver);
-		}
-		put_bus(bus);
-	}
-	
-	return count;
-}
-
-static DRIVER_ATTR(new_id, S_IWUSR, NULL, store_new_id);
 
 #define kobj_to_pci_driver(obj) container_of(obj, struct device_driver, kobj)
 #define attr_to_driver_attribute(obj) container_of(obj, struct driver_attribute, attr)
@@ -290,38 +354,9 @@
 static int
 pci_populate_driver_dir(struct pci_driver * drv)
 {
-	int error = 0;
-
-	if (drv->probe != NULL)
-		error = sysfs_create_file(&drv->driver.kobj,
-					  &driver_attr_new_id.attr);
-	return error;
+	return pci_create_newid_file(drv);
 }
 
-static inline void
-pci_init_dynids(struct pci_dynids *dynids)
-{
-	memset(dynids, 0, sizeof(*dynids));
-	spin_lock_init(&dynids->lock);
-	INIT_LIST_HEAD(&dynids->list);
-}
-
-static void
-pci_free_dynids(struct pci_driver *drv)
-{
-	struct list_head *pos, *n;
-	struct dynid *dynid;
-
-	spin_lock(&drv->dynids.lock);
-	list_for_each_safe(pos, n, &drv->dynids.list) {
-		dynid = list_entry(pos, struct dynid, node);
-		list_del(&dynid->node);
-		kfree(dynid);
-	}
-	spin_unlock(&drv->dynids.lock);
-}
-
-
 /**
  * pci_register_driver - register a new pci driver
  * @drv: the driver structure to register
@@ -411,8 +446,6 @@
 	struct pci_driver * pci_drv = to_pci_driver(drv);
 	const struct pci_device_id * ids = pci_drv->id_table;
 	const struct pci_device_id *found_id;
-	struct list_head *pos;
-	struct dynid *dynid;
 
 	if (!ids)
 		return 0;
@@ -421,17 +454,7 @@
 	if (found_id)
 		return 1;
 
-	spin_lock(&pci_drv->dynids.lock);
-	list_for_each(pos, &pci_drv->dynids.list) {
-		dynid = list_entry(pos, struct dynid, node);
-		if (pci_match_one_device(&dynid->id, pci_dev)) {
-			spin_unlock(&pci_drv->dynids.lock);
-			return 1;
-		}
-	}
-	spin_unlock(&pci_drv->dynids.lock);
-
-	return 0;
+	return pci_bus_match_dynids(pci_dev, pci_drv);
 }
 
 /**


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] PCI fixes for 2.6.0-test5
  2003-09-11 22:59   ` Greg KH
@ 2003-09-11 22:59     ` Greg KH
  2003-09-11 22:59       ` Greg KH
  0 siblings, 1 reply; 5+ messages in thread
From: Greg KH @ 2003-09-11 22:59 UTC (permalink / raw)
  To: linux-kernel

ChangeSet 1.1286, 2003/09/11 14:36:33-07:00, greg@kroah.com

[PATCH] PCI: remove compiler warning from previous new_id patch

Also change the #define functions into inline functions to help
catch any future paramater mis-matches.

And clean up a few minor style issue...


 drivers/pci/pci-driver.c |   33 ++++++++++++++++++++-------------
 1 files changed, 20 insertions(+), 13 deletions(-)


diff -Nru a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c
--- a/drivers/pci/pci-driver.c	Thu Sep 11 15:54:46 2003
+++ b/drivers/pci/pci-driver.c	Thu Sep 11 15:54:46 2003
@@ -69,6 +69,7 @@
 	spin_unlock(&drv->dynids.lock);
 	return error;
 }
+
 static inline void
 dynid_init(struct dynid *dynid)
 {
@@ -78,15 +79,12 @@
 
 /**
  * store_new_id
- * @ pdrv
- * @ buf
- * @ count
  *
  * Adds a new dynamic pci device ID to this driver,
  * and causes the driver to probe for all devices again.
  */
 static inline ssize_t
-store_new_id(struct device_driver * driver, const char * buf, size_t count)
+store_new_id(struct device_driver *driver, const char *buf, size_t count)
 {
 	struct dynid *dynid;
 	struct bus_type * bus;
@@ -159,7 +157,7 @@
 }
 
 static int
-pci_create_newid_file(struct pci_driver * drv)
+pci_create_newid_file(struct pci_driver *drv)
 {
 	int error = 0;
 	if (drv->probe != NULL)
@@ -169,7 +167,7 @@
 }
 
 static int
-pci_bus_match_dynids(const struct pci_dev * pci_dev, const struct pci_driver * pci_drv)
+pci_bus_match_dynids(const struct pci_dev *pci_dev, struct pci_driver *pci_drv)
 {
 	struct list_head *pos;
 	struct dynid *dynid;
@@ -187,12 +185,21 @@
 }
 
 #else /* !CONFIG_HOTPLUG */
-#define pci_device_probe_dynamic(drv,pci_dev) (-ENODEV)
-#define dynid_init(dynid) do {} while (0)
-#define pci_init_dynids(dynids) do {} while (0)
-#define pci_free_dynids(drv) do {} while (0)
-#define pci_create_newid_file(drv) (0)
-#define pci_bus_match_dynids(pci_dev, pci_drv) (0)
+static inline int pci_device_probe_dynamic(struct pci_driver *drv, struct pci_dev *pci_dev)
+{
+	return -ENODEV;
+}
+static inline void dynid_init(struct dynid *dynid) {}
+static inline void pci_init_dynids(struct pci_dynids *dynids) {}
+static inline void pci_free_dynids(struct pci_driver *drv) {}
+static inline int pci_create_newid_file(struct pci_driver *drv)
+{
+	return 0;
+}
+static inline int pci_bus_match_dynids(const struct pci_dev *pci_dev, struct pci_driver *pci_drv)
+{
+	return 0;
+}
 #endif
 
 /**
@@ -352,7 +359,7 @@
 };
 
 static int
-pci_populate_driver_dir(struct pci_driver * drv)
+pci_populate_driver_dir(struct pci_driver *drv)
 {
 	return pci_create_newid_file(drv);
 }


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] PCI fixes for 2.6.0-test5
  2003-09-11 22:59     ` Greg KH
@ 2003-09-11 22:59       ` Greg KH
  0 siblings, 0 replies; 5+ messages in thread
From: Greg KH @ 2003-09-11 22:59 UTC (permalink / raw)
  To: linux-kernel

ChangeSet 1.1287, 2003/09/11 15:46:20-07:00, greg@kroah.com

PCI: fix up some pci drivers that had marked their probe functions with __init

This also required some other functions and variables to be marked as 
__devinit


 drivers/atm/firestream.c        |   18 +++++++++---------
 drivers/block/cciss.c           |    4 ++--
 drivers/char/epca.c             |    2 +-
 drivers/char/watchdog/wdt_pci.c |    2 +-
 drivers/net/hamachi.c           |    6 +++---
 drivers/net/irda/via-ircc.c     |    6 +++---
 drivers/net/tc35815.c           |    4 ++--
 drivers/net/tokenring/abyss.c   |    4 ++--
 drivers/net/tokenring/tmspci.c  |    4 ++--
 drivers/net/tulip/de2104x.c     |    4 ++--
 drivers/net/tulip/de4x5.c       |    8 ++++----
 drivers/net/wan/dscc4.c         |    2 +-
 drivers/pcmcia/i82092.c         |    2 +-
 drivers/video/i810/i810_main.c  |   20 ++++++++++----------
 drivers/video/i810/i810_main.h  |    4 ++--
 drivers/video/riva/fbdev.c      |    4 ++--
 16 files changed, 47 insertions(+), 47 deletions(-)


diff -Nru a/drivers/atm/firestream.c b/drivers/atm/firestream.c
--- a/drivers/atm/firestream.c	Thu Sep 11 15:54:39 2003
+++ b/drivers/atm/firestream.c	Thu Sep 11 15:54:39 2003
@@ -250,7 +250,7 @@
 };
 
 
-struct reginit_item PHY_NTC_INIT[] __initdata = {
+struct reginit_item PHY_NTC_INIT[] __devinitdata = {
 	{ PHY_CLEARALL, 0x40 }, 
 	{ 0x12,  0x0001 },
 	{ 0x13,  0x7605 },
@@ -1296,7 +1296,7 @@
 };
 
 
-static void __init undocumented_pci_fix (struct pci_dev *pdev)
+static void __devinit undocumented_pci_fix (struct pci_dev *pdev)
 {
 	int tint;
 
@@ -1320,13 +1320,13 @@
  *                              PHY routines                              *
  **************************************************************************/
 
-static void __init write_phy (struct fs_dev *dev, int regnum, int val)
+static void __devinit write_phy (struct fs_dev *dev, int regnum, int val)
 {
 	submit_command (dev,  &dev->hp_txq, QE_CMD_PRP_WR | QE_CMD_IMM_INQ,
 			regnum, val, 0);
 }
 
-static int __init init_phy (struct fs_dev *dev, struct reginit_item *reginit)
+static int __devinit init_phy (struct fs_dev *dev, struct reginit_item *reginit)
 {
 	int i;
 
@@ -1382,7 +1382,7 @@
 	}
 }
 
-static void __init *aligned_kmalloc (int size, int flags, int alignment)
+static void __devinit *aligned_kmalloc (int size, int flags, int alignment)
 {
 	void  *t;
 
@@ -1399,7 +1399,7 @@
 	return NULL;
 }
 
-static int __init init_q (struct fs_dev *dev, 
+static int __devinit init_q (struct fs_dev *dev, 
 			  struct queue *txq, int queue, int nentries, int is_rq)
 {
 	int sz = nentries * sizeof (struct FS_QENTRY);
@@ -1435,7 +1435,7 @@
 }
 
 
-static int __init init_fp (struct fs_dev *dev, 
+static int __devinit init_fp (struct fs_dev *dev, 
 			   struct freepool *fp, int queue, int bufsize, int nr_buffers)
 {
 	func_enter ();
@@ -1655,7 +1655,7 @@
 }
 #endif
 
-static int __init fs_init (struct fs_dev *dev)
+static int __devinit fs_init (struct fs_dev *dev)
 {
 	struct pci_dev  *pci_dev;
 	int isr, to;
@@ -1890,7 +1890,7 @@
 	return 0;
 }
 
-static int __init firestream_init_one (struct pci_dev *pci_dev,
+static int __devinit firestream_init_one (struct pci_dev *pci_dev,
 				       const struct pci_device_id *ent) 
 {
 	struct atm_dev *atm_dev;
diff -Nru a/drivers/block/cciss.c b/drivers/block/cciss.c
--- a/drivers/block/cciss.c	Thu Sep 11 15:54:39 2003
+++ b/drivers/block/cciss.c	Thu Sep 11 15:54:39 2003
@@ -243,7 +243,7 @@
  * Get us a file in /proc/cciss that says something about each controller.
  * Create /proc/cciss if it doesn't exist yet.
  */
-static void __init cciss_procinit(int i)
+static void __devinit cciss_procinit(int i)
 {
 	struct proc_dir_entry *pde;
 
@@ -2427,7 +2427,7 @@
  *  stealing all these major device numbers.
  *  returns the number of block devices registered.
  */
-static int __init cciss_init_one(struct pci_dev *pdev,
+static int __devinit cciss_init_one(struct pci_dev *pdev,
 	const struct pci_device_id *ent)
 {
 	request_queue_t *q;
diff -Nru a/drivers/char/epca.c b/drivers/char/epca.c
--- a/drivers/char/epca.c	Thu Sep 11 15:54:39 2003
+++ b/drivers/char/epca.c	Thu Sep 11 15:54:39 2003
@@ -3868,7 +3868,7 @@
 };
 
 
-static int __init epca_init_one (struct pci_dev *pdev,
+static int __devinit epca_init_one (struct pci_dev *pdev,
 				 const struct pci_device_id *ent)
 {
 	static int board_num = -1;
diff -Nru a/drivers/char/watchdog/wdt_pci.c b/drivers/char/watchdog/wdt_pci.c
--- a/drivers/char/watchdog/wdt_pci.c	Thu Sep 11 15:54:39 2003
+++ b/drivers/char/watchdog/wdt_pci.c	Thu Sep 11 15:54:39 2003
@@ -505,7 +505,7 @@
 };
 
 
-static int __init wdtpci_init_one (struct pci_dev *dev,
+static int __devinit wdtpci_init_one (struct pci_dev *dev,
 				   const struct pci_device_id *ent)
 {
 	static int dev_count = 0;
diff -Nru a/drivers/net/hamachi.c b/drivers/net/hamachi.c
--- a/drivers/net/hamachi.c	Thu Sep 11 15:54:39 2003
+++ b/drivers/net/hamachi.c	Thu Sep 11 15:54:39 2003
@@ -178,7 +178,7 @@
 #include <asm/unaligned.h>
 #include <asm/cache.h>
 
-static char version[] __initdata =
+static char version[] __devinitdata =
 KERN_INFO DRV_NAME ".c:v" DRV_VERSION " " DRV_RELDATE "  Written by Donald Becker\n"
 KERN_INFO "   Some modifications by Eric kasten <kasten@nscl.msu.edu>\n"
 KERN_INFO "   Further modifications by Keith Underwood <keithu@parl.clemson.edu>\n";
@@ -569,7 +569,7 @@
 static void set_rx_mode(struct net_device *dev);
 
 
-static int __init hamachi_init_one (struct pci_dev *pdev,
+static int __devinit hamachi_init_one (struct pci_dev *pdev,
 				    const struct pci_device_id *ent)
 {
 	struct hamachi_private *hmp;
@@ -794,7 +794,7 @@
 	return ret;
 }
 
-static int __init read_eeprom(long ioaddr, int location)
+static int __devinit read_eeprom(long ioaddr, int location)
 {
 	int bogus_cnt = 1000;
 
diff -Nru a/drivers/net/irda/via-ircc.c b/drivers/net/irda/via-ircc.c
--- a/drivers/net/irda/via-ircc.c	Thu Sep 11 15:54:39 2003
+++ b/drivers/net/irda/via-ircc.c	Thu Sep 11 15:54:39 2003
@@ -107,7 +107,7 @@
 void hwreset(struct via_ircc_cb *self);
 static int via_ircc_dma_xmit(struct via_ircc_cb *self, u16 iobase);
 static int upload_rxdata(struct via_ircc_cb *self, int iobase);
-static int __init via_init_one (struct pci_dev *pcidev, const struct pci_device_id *id);
+static int __devinit via_init_one (struct pci_dev *pcidev, const struct pci_device_id *id);
 static void __exit via_remove_one (struct pci_dev *pdev);
 
 /* Should use udelay() instead, even if we are x86 only - Jean II */
@@ -168,7 +168,7 @@
 
 }
 
-static int __init via_init_one (struct pci_dev *pcidev, const struct pci_device_id *id)
+static int __devinit via_init_one (struct pci_dev *pcidev, const struct pci_device_id *id)
 {
 	int rc;
         u8 temp,oldPCI_40,oldPCI_44,bTmp,bTmp1;
@@ -326,7 +326,7 @@
  *    Open driver instance
  *
  */
-static __init int via_ircc_open(int i, chipio_t * info, unsigned int id)
+static __devinit int via_ircc_open(int i, chipio_t * info, unsigned int id)
 {
 	struct net_device *dev;
 	struct via_ircc_cb *self;
diff -Nru a/drivers/net/tc35815.c b/drivers/net/tc35815.c
--- a/drivers/net/tc35815.c	Thu Sep 11 15:54:39 2003
+++ b/drivers/net/tc35815.c	Thu Sep 11 15:54:39 2003
@@ -448,7 +448,7 @@
 
 /* Index to functions, as function prototypes. */
 
-static int __init tc35815_probe1(struct pci_dev *pdev, unsigned int base_addr, unsigned int irq);
+static int __devinit tc35815_probe1(struct pci_dev *pdev, unsigned int base_addr, unsigned int irq);
 
 static int	tc35815_open(struct net_device *dev);
 static int	tc35815_send_packet(struct sk_buff *skb, struct net_device *dev);
@@ -526,7 +526,7 @@
 	return -ENODEV;
 }
 
-static int __init tc35815_probe1(struct pci_dev *pdev, unsigned int base_addr, unsigned int irq)
+static int __devinit tc35815_probe1(struct pci_dev *pdev, unsigned int base_addr, unsigned int irq)
 {
 	static unsigned version_printed = 0;
 	int i;
diff -Nru a/drivers/net/tokenring/abyss.c b/drivers/net/tokenring/abyss.c
--- a/drivers/net/tokenring/abyss.c	Thu Sep 11 15:54:39 2003
+++ b/drivers/net/tokenring/abyss.c	Thu Sep 11 15:54:39 2003
@@ -40,7 +40,7 @@
 #include "tms380tr.h"
 #include "abyss.h"            /* Madge-specific constants */
 
-static char version[] __initdata =
+static char version[] __devinitdata =
 "abyss.c: v1.02 23/11/2000 by Adam Fritzler\n";
 
 #define ABYSS_IO_EXTENT 64
@@ -92,7 +92,7 @@
 	outw(val, dev->base_addr + reg);
 }
 
-static int __init abyss_attach(struct pci_dev *pdev, const struct pci_device_id *ent)
+static int __devinit abyss_attach(struct pci_dev *pdev, const struct pci_device_id *ent)
 {	
 	static int versionprinted;
 	struct net_device *dev;
diff -Nru a/drivers/net/tokenring/tmspci.c b/drivers/net/tokenring/tmspci.c
--- a/drivers/net/tokenring/tmspci.c	Thu Sep 11 15:54:39 2003
+++ b/drivers/net/tokenring/tmspci.c	Thu Sep 11 15:54:39 2003
@@ -40,7 +40,7 @@
 
 #include "tms380tr.h"
 
-static char version[] __initdata =
+static char version[] __devinitdata =
 "tmspci.c: v1.02 23/11/2000 by Adam Fritzler\n";
 
 #define TMS_PCI_IO_EXTENT 32
@@ -91,7 +91,7 @@
 	outw(val, dev->base_addr + reg);
 }
 
-static int __init tms_pci_attach(struct pci_dev *pdev, const struct pci_device_id *ent)
+static int __devinit tms_pci_attach(struct pci_dev *pdev, const struct pci_device_id *ent)
 {	
 	static int versionprinted;
 	struct net_device *dev;
diff -Nru a/drivers/net/tulip/de2104x.c b/drivers/net/tulip/de2104x.c
--- a/drivers/net/tulip/de2104x.c	Thu Sep 11 15:54:39 2003
+++ b/drivers/net/tulip/de2104x.c	Thu Sep 11 15:54:39 2003
@@ -50,7 +50,7 @@
 #include <asm/unaligned.h>
 
 /* These identify the driver base version and may not be removed. */
-static char version[] __initdata =
+static char version[] =
 KERN_INFO DRV_NAME " PCI Ethernet driver v" DRV_VERSION " (" DRV_RELDATE ")\n";
 
 MODULE_AUTHOR("Jeff Garzik <jgarzik@pobox.com>");
@@ -1932,7 +1932,7 @@
 	goto fill_defaults;
 }
 
-static int __init de_init_one (struct pci_dev *pdev,
+static int __devinit de_init_one (struct pci_dev *pdev,
 				  const struct pci_device_id *ent)
 {
 	struct net_device *dev;
diff -Nru a/drivers/net/tulip/de4x5.c b/drivers/net/tulip/de4x5.c
--- a/drivers/net/tulip/de4x5.c	Thu Sep 11 15:54:39 2003
+++ b/drivers/net/tulip/de4x5.c	Thu Sep 11 15:54:39 2003
@@ -480,7 +480,7 @@
 
 #include "de4x5.h"
 
-static char version[] __initdata = "de4x5.c:V0.546 2001/02/22 davies@maniac.ultranet.com\n";
+static char version[] __devinitdata = "de4x5.c:V0.546 2001/02/22 davies@maniac.ultranet.com\n";
 
 #define c_char const char
 #define TWIDDLE(a) (u_short)le16_to_cpu(get_unaligned((u_short *)(a)))
@@ -1082,7 +1082,7 @@
 }
 
 \f
-static int __init 
+static int __devinit 
 de4x5_hw_init(struct net_device *dev, u_long iobase, struct device *gendev)
 {
     char name[DE4X5_NAME_LENGTH + 1];
@@ -2132,7 +2132,7 @@
 ** DECchips, we can find the base SROM irrespective of the BIOS scan direction.
 ** For single port cards this is a time waster...
 */
-static void __init 
+static void __devinit 
 srom_search(struct net_device *dev, struct pci_dev *pdev)
 {
     u_char pb;
@@ -2213,7 +2213,7 @@
 ** kernels use the V0.535[n] drivers.
 */
 
-static int __init de4x5_pci_probe (struct pci_dev *pdev,
+static int __devinit de4x5_pci_probe (struct pci_dev *pdev,
 				   const struct pci_device_id *ent)
 {
 	u_char pb, pbus = 0, dev_num, dnum = 0, timer;
diff -Nru a/drivers/net/wan/dscc4.c b/drivers/net/wan/dscc4.c
--- a/drivers/net/wan/dscc4.c	Thu Sep 11 15:54:39 2003
+++ b/drivers/net/wan/dscc4.c	Thu Sep 11 15:54:39 2003
@@ -693,7 +693,7 @@
 	kfree(ppriv);
 }
 
-static int __init dscc4_init_one(struct pci_dev *pdev,
+static int __devinit dscc4_init_one(struct pci_dev *pdev,
 				  const struct pci_device_id *ent)
 {
 	struct dscc4_pci_priv *priv;
diff -Nru a/drivers/pcmcia/i82092.c b/drivers/pcmcia/i82092.c
--- a/drivers/pcmcia/i82092.c	Thu Sep 11 15:54:39 2003
+++ b/drivers/pcmcia/i82092.c	Thu Sep 11 15:54:39 2003
@@ -92,7 +92,7 @@
 static int socket_count;  /* shortcut */                                  	                                	
 
 
-static int __init i82092aa_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)
+static int __devinit i82092aa_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)
 {
 	unsigned char configbyte;
 	int i, ret;
diff -Nru a/drivers/video/i810/i810_main.c b/drivers/video/i810/i810_main.c
--- a/drivers/video/i810/i810_main.c	Thu Sep 11 15:54:39 2003
+++ b/drivers/video/i810/i810_main.c	Thu Sep 11 15:54:39 2003
@@ -57,7 +57,7 @@
 #include "i810_main.h"
 
 /* PCI */
-static const char *i810_pci_list[] __initdata = {
+static const char *i810_pci_list[] __devinitdata = {
 	"Intel(R) 810 Framebuffer Device"                                 ,
 	"Intel(R) 810-DC100 Framebuffer Device"                           ,
 	"Intel(R) 810E Framebuffer Device"                                ,
@@ -1456,7 +1456,7 @@
 	return 0;
 }
 
-static struct fb_ops i810fb_ops __initdata = {
+static struct fb_ops i810fb_ops __devinitdata = {
 	.owner =             THIS_MODULE,
 	.fb_open =           i810fb_open,
 	.fb_release =        i810fb_release,
@@ -1538,7 +1538,7 @@
  *                  AGP resource allocation                            *
  ***********************************************************************/
   
-static void __init i810_fix_pointers(struct i810fb_par *par)
+static void __devinit i810_fix_pointers(struct i810fb_par *par)
 {
       	par->fb.physical = par->aperture.physical+(par->fb.offset << 12);
 	par->fb.virtual = par->aperture.virtual+(par->fb.offset << 12);
@@ -1550,7 +1550,7 @@
 		(par->cursor_heap.offset << 12);
 }
 
-static void __init i810_fix_offsets(struct i810fb_par *par)
+static void __devinit i810_fix_offsets(struct i810fb_par *par)
 {
 	if (vram + 1 > par->aperture.size >> 20)
 		vram = (par->aperture.size >> 20) - 1;
@@ -1570,7 +1570,7 @@
 	par->cursor_heap.size = 4096;
 }
 
-static int __init i810_alloc_agp_mem(struct fb_info *info)
+static int __devinit i810_alloc_agp_mem(struct fb_info *info)
 {
 	struct i810fb_par *par = (struct i810fb_par *) info->par;
 	int size;
@@ -1635,7 +1635,7 @@
  * Sets the the user monitor's horizontal and vertical
  * frequency limits
  */
-static void __init i810_init_monspecs(struct fb_info *info)
+static void __devinit i810_init_monspecs(struct fb_info *info)
 {
 	if (!hsync1)
 		hsync1 = HFMIN;
@@ -1663,7 +1663,7 @@
  * @par: pointer to i810fb_par structure
  * @info: pointer to current fb_info structure
  */
-static void __init i810_init_defaults(struct i810fb_par *par, 
+static void __devinit i810_init_defaults(struct i810fb_par *par, 
 				      struct fb_info *info)
 {
 	if (voffset) 
@@ -1707,7 +1707,7 @@
  * i810_init_device - initialize device
  * @par: pointer to i810fb_par structure
  */
-static void __init i810_init_device(struct i810fb_par *par)
+static void __devinit i810_init_device(struct i810fb_par *par)
 {
 	u8 reg, *mmio = par->mmio_start_virtual;
 
@@ -1726,7 +1726,7 @@
 	par->mem_freq = (reg) ? 133 : 100;
 }
 
-static int __init 
+static int __devinit 
 i810_allocate_pci_resource(struct i810fb_par *par, 
 			   const struct pci_device_id *entry)
 {
@@ -1831,7 +1831,7 @@
 	return 0;
 }
 
-static int __init i810fb_init_pci (struct pci_dev *dev, 
+static int __devinit i810fb_init_pci (struct pci_dev *dev, 
 				   const struct pci_device_id *entry)
 {
 	struct fb_info    *info;
diff -Nru a/drivers/video/i810/i810_main.h b/drivers/video/i810/i810_main.h
--- a/drivers/video/i810/i810_main.h	Thu Sep 11 15:54:39 2003
+++ b/drivers/video/i810/i810_main.h	Thu Sep 11 15:54:39 2003
@@ -14,7 +14,7 @@
 #ifndef __I810_MAIN_H__
 #define __I810_MAIN_H__
 
-static int  __init i810fb_init_pci (struct pci_dev *dev, 
+static int  __devinit i810fb_init_pci (struct pci_dev *dev, 
 				       const struct pci_device_id *entry);
 static void __exit i810fb_remove_pci(struct pci_dev *dev);
 static int i810fb_resume(struct pci_dev *dev);
@@ -95,7 +95,7 @@
 
 #ifdef CONFIG_MTRR
 #define KERNEL_HAS_MTRR 1
-static inline void __init set_mtrr(struct i810fb_par *par)
+static inline void __devinit set_mtrr(struct i810fb_par *par)
 {
 	par->mtrr_reg = mtrr_add((u32) par->aperture.physical, 
 		 par->aperture.size, MTRR_TYPE_WRCOMB, 1);
diff -Nru a/drivers/video/riva/fbdev.c b/drivers/video/riva/fbdev.c
--- a/drivers/video/riva/fbdev.c	Thu Sep 11 15:54:39 2003
+++ b/drivers/video/riva/fbdev.c	Thu Sep 11 15:54:39 2003
@@ -1576,7 +1576,7 @@
 	.fb_sync 	= rivafb_sync,
 };
 
-static int __init riva_set_fbinfo(struct fb_info *info)
+static int __devinit riva_set_fbinfo(struct fb_info *info)
 {
 	struct riva_par *par = (struct riva_par *) info->par;
 	unsigned int cmap_len;
@@ -1726,7 +1726,7 @@
  *
  * ------------------------------------------------------------------------- */
 
-static int __init rivafb_probe(struct pci_dev *pd,
+static int __devinit rivafb_probe(struct pci_dev *pd,
 			     	const struct pci_device_id *ent)
 {
 	struct riva_chip_info *rci = &riva_chip_info[ent->driver_data];


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2003-09-11 23:01 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-09-11 22:54 [BK PATCH] PCI fixes for 2.6.0-test5 Greg KH
2003-09-11 22:59 ` [PATCH] " Greg KH
2003-09-11 22:59   ` Greg KH
2003-09-11 22:59     ` Greg KH
2003-09-11 22:59       ` Greg KH

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.