From patchwork Sat Jun 4 10:42:03 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 98716 X-Patchwork-Delegate: galak@kernel.crashing.org Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from ozlabs.org (localhost [IPv6:::1]) by ozlabs.org (Postfix) with ESMTP id 96562B74AC for ; Sat, 4 Jun 2011 20:42:17 +1000 (EST) Received: from mail-wy0-f179.google.com (mail-wy0-f179.google.com [74.125.82.179]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority" (verified OK)) by ozlabs.org (Postfix) with ESMTPS id 37FD2B6FCA for ; Sat, 4 Jun 2011 20:42:04 +1000 (EST) Received: by wyg36 with SMTP id 36so2168490wyg.38 for ; Sat, 04 Jun 2011 03:41:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:from:to:cc:subject:date:message-id:x-mailer :in-reply-to:references; bh=SciNzs3tD6BaIq3MGqWZztKuH7GA6zLvWYhGg85h0B8=; b=o85zx7huIQyUFOuTMDSc1n26WF6MIMrbpMgljU0SMD6bW06B8OY51x8J7z6IRovM+N h+hL7tEN3EbAYjyVv0Q+BeNiMLDgqXcq1N+yWBaE8AeoDeWG0pnC4t/sdIkBza6PintA 8t4wZQ5C0ttrKVMJF4rDuSMeUQzOSPWOTA+uI= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:cc:subject:date:message-id:x-mailer:in-reply-to:references; b=WrSvPQohLsgIYoNTX5iH3rcBNL71VkOshLWyOwD2NgnzdoVAZbj2yqBAa/l0fkxOe8 QcDmjSEW+EzGuowcxguEc6Pbwqzxqx6/9cI7sFeJ8eJMmZVKkHzCi/Z0pLpLuyHfvSG0 07LPAwpPGYgrIrKvAUataoPGY6c3DA6ajLXOg= Received: by 10.216.145.195 with SMTP id p45mr778850wej.61.1307184119499; Sat, 04 Jun 2011 03:41:59 -0700 (PDT) Received: from doriath.ww600.siemens.net (92-100-175-116.dynamic.avangarddsl.ru [92.100.175.116]) by mx.google.com with ESMTPS id z66sm1266317weq.24.2011.06.04.03.41.57 (version=SSLv3 cipher=OTHER); Sat, 04 Jun 2011 03:41:58 -0700 (PDT) From: Dmitry Eremin-Solenikov To: bluesmoke-devel@lists.sourceforge.net, linuxppc-dev@lists.ozlabs.org, Benjamin Herrenschmidt , Paul Mackerras Subject: [PATCH 1/2] ppc/85xx: create a platform node for PCI EDAC device Date: Sat, 4 Jun 2011 14:42:03 +0400 Message-Id: <1307184123-30977-1-git-send-email-dbaryshkov@gmail.com> X-Mailer: git-send-email 1.7.4.4 In-Reply-To: <20110602124823.3b814b3f@schlenkerla.am.freescale.net> References: <20110602124823.3b814b3f@schlenkerla.am.freescale.net> X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org Sender: linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org As a device for pci node isn't created, create a special platform_device for PCI EDAC device on MPC85xx. Signed-off-by: Dmitry Eremin-Solenikov --- arch/powerpc/sysdev/fsl_pci.c | 28 ++++++++++++++++++++++++++++ 1 files changed, 28 insertions(+), 0 deletions(-) diff --git a/arch/powerpc/sysdev/fsl_pci.c b/arch/powerpc/sysdev/fsl_pci.c index 68ca929..2498229 100644 --- a/arch/powerpc/sysdev/fsl_pci.c +++ b/arch/powerpc/sysdev/fsl_pci.c @@ -381,6 +381,34 @@ int __init fsl_add_bridge(struct device_node *dev, int is_primary) return 0; } +static int __init fsl_add_pci_err(void) +{ + struct device_node *np; + + /* Only PCI, not PCI Express! */ + for_each_compatible_node(np, "pci", "fsl,mpc8540-pci") { + struct resource r[2] = {}; + + if (of_address_to_resource(np, 0, &r[0])) { + printk(KERN_WARNING + "Can't get register base for PCI EDAC!\n"); + continue; + } + r[0].start += 0xe00; + + if (of_irq_to_resource(np, 0, &r[1]) == NO_IRQ) { + printk(KERN_WARNING + "Can't get irq for PCI EDAC!\n"); + continue; + } + platform_device_register_simple("mpc85xx_pci_err", -1, + r, ARRAY_SIZE(r)); + } + + return 0; +} +device_initcall(fsl_add_pci_err); + DECLARE_PCI_FIXUP_HEADER(0x1957, PCI_DEVICE_ID_MPC8548E, quirk_fsl_pcie_header); DECLARE_PCI_FIXUP_HEADER(0x1957, PCI_DEVICE_ID_MPC8548, quirk_fsl_pcie_header); DECLARE_PCI_FIXUP_HEADER(0x1957, PCI_DEVICE_ID_MPC8543E, quirk_fsl_pcie_header);