From: alex@digriz.org.uk (Alexander Clouter)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] [ARM] Kirkwood: Prevent kernel from crashing if PCIe bridge?is present
Date: Thu, 12 Nov 2009 15:42:49 +0000 [thread overview]
Message-ID: <p0nts6-gt3.ln1@chipmunk.wormnet.eu> (raw)
In-Reply-To: 200911121519.42786.dk-arm-linux@gmx.de
Dieter Kiermaier <dk-arm-linux@gmx.de> wrote:
>
> [snipped]
>
> static int __init openrd_base_pci_init(void)
> {
> + u32 cpu_config_reg;
> + void __iomem *base;
> + base = ioremap(0xf1020100, 4);
>
Ewwwwwwww. :)
If you dig through arch/arm/mach-orion5x/include/mach/orion5x.h you
should be able to work out that 0xf1020100 is probably best replaced
with something like (ORION5X_BRIDGE_PHYS_BASE | 0x100), once you add
a matching ORION5X_BRIDGE_PHYS_BASE entry alongside the
ORION5X_BRIDGE_VIRT_BASE[1]. Well, *I* prefer that sort of thing. :)
> + if (base)
> + {
> + cpu_config_reg = readl(base);
> + cpu_config_reg &= ~(1 << 2);
> + writel(cpu_config_reg, base);
> + }
> + iounmap(base);
> +
> if (machine_is_openrd_base())
> kirkwood_pcie_init();
> -
> return 0;
> }
> subsys_initcall(openrd_base_pci_init);
>
As was recently explained to me[2], that code is going to run on *all*
kirkword platforms, not just the OpenRD. I am guessing you want to
shove your additional code into a seperate int returning __init function
and call it from the machine_is_openrd_base() clause.
Also, if for some strange reason the ioremap() failed, you are going to
call iounmap(NULL) so that should probably be moved up a line into the
'if' clause? However on this one I *think* I have been told in the past
it cannot fail so you might be able to remove the 'if' clause
altogether.
Cheers
[1] unsure if at that point can can just jump straight in and tinker with
ORION5X_BRIDGE_VIRT_BASE?
[2] http://lists.infradead.org/pipermail/linux-arm-kernel/2009-October/002699.html
--
Alexander Clouter
.sigmonster says: Most people's favorite way to end a game is by winning.
next prev parent reply other threads:[~2009-11-12 15:42 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-12 14:19 [PATCH] [ARM] Kirkwood: Prevent kernel from crashing if PCIe bridge is present Dieter Kiermaier
2009-11-12 15:42 ` Alexander Clouter [this message]
2009-11-12 17:02 ` [PATCH] [ARM] Kirkwood: Prevent kernel from crashing if PCIe bridge?is present Dieter Kiermaier
2009-11-12 18:52 ` [PATCH] [ARM] Kirkwood: Prevent kernel from crashing if PCIe?bridge?is present Alexander Clouter
2009-11-13 7:50 ` [PATCH] [ARM] Kirkwood: Prevent kernel from crashing if PCIe bridge?is present Simon Kagstrom
2009-11-12 19:37 ` [PATCH] [ARM] Kirkwood: Prevent kernel from crashing if PCIe bridge is present Lennert Buytenhek
2009-11-13 7:26 ` Dieter Kiermaier
2009-11-12 20:55 ` Russell King - ARM Linux
2009-11-13 7:50 ` Dieter Kiermaier
2009-11-13 23:19 ` Russell King - ARM Linux
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=p0nts6-gt3.ln1@chipmunk.wormnet.eu \
--to=alex@digriz.org.uk \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.