* [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.