From patchwork Sun Jun 3 18:48:20 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sebastian Andrzej Siewior X-Patchwork-Id: 162590 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 962E9B6FD3 for ; Mon, 4 Jun 2012 05:26:46 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754182Ab2FCT0p (ORCPT ); Sun, 3 Jun 2012 15:26:45 -0400 Received: from Chamillionaire.breakpoint.cc ([80.244.247.6]:47044 "EHLO Chamillionaire.breakpoint.cc" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754019Ab2FCT0p (ORCPT ); Sun, 3 Jun 2012 15:26:45 -0400 Received: from localhost ([127.0.0.1] helo=bazinga.HH.breakpoint.cc ident=410d493183e3c5611c03d88e6b900be8) by Chamillionaire.breakpoint.cc with esmtp (Exim 4.72) (envelope-from ) id 1SbFqr-0002L8-A4; Sun, 03 Jun 2012 20:48:33 +0200 From: Sebastian Andrzej Siewior To: linux-pci@vger.kernel.org Cc: linux-kbuild@vger.kernel.org, Bjorn Helgaas , Michal Marek , Sebastian Andrzej Siewior , Richard Henderson , Ivan Kokshaysky , Matt Turner Subject: [PATCH 4/9] alpha: move PCI fixup hooks from __init to __devinit Date: Sun, 3 Jun 2012 20:48:20 +0200 Message-Id: <1338749305-22558-5-git-send-email-sebastian@breakpoint.cc> X-Mailer: git-send-email 1.7.10 In-Reply-To: <1338749305-22558-1-git-send-email-sebastian@breakpoint.cc> References: <1338749305-22558-1-git-send-email-sebastian@breakpoint.cc> X-Breakpoint-Spam-Score: -1.0 X-Breakpoint-Spam-Level: - X-Breakpoint-Spam-Status: No , -1.0 points, 5.0 required, ALL_TRUSTED=-1 Sender: linux-pci-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org The fixups are executed once the pci-device is found which is during boot process so __init seems fine as long as the platform does not support hotplug. However it is possible to remove the PCI bus at run time and have it rediscovered again via "echo 1 > /sys/bus/pci/rescan" and this will call the fixups again. Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Matt Turner Signed-off-by: Sebastian Andrzej Siewior --- arch/alpha/kernel/pci.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/arch/alpha/kernel/pci.c b/arch/alpha/kernel/pci.c index 1a62963..026d49f 100644 --- a/arch/alpha/kernel/pci.c +++ b/arch/alpha/kernel/pci.c @@ -59,15 +59,13 @@ struct pci_controller *pci_isa_hose; * Quirks. */ -static void __init -quirk_isa_bridge(struct pci_dev *dev) +static void __devinit quirk_isa_bridge(struct pci_dev *dev) { dev->class = PCI_CLASS_BRIDGE_ISA << 8; } DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82378, quirk_isa_bridge); -static void __init -quirk_cypress(struct pci_dev *dev) +static void __devinit quirk_cypress(struct pci_dev *dev) { /* The Notorious Cy82C693 chip. */ @@ -106,8 +104,7 @@ quirk_cypress(struct pci_dev *dev) DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_CONTAQ, PCI_DEVICE_ID_CONTAQ_82C693, quirk_cypress); /* Called for each device after PCI setup is done. */ -static void __init -pcibios_fixup_final(struct pci_dev *dev) +static void __devinit pcibios_fixup_final(struct pci_dev *dev) { unsigned int class = dev->class >> 8;