From f2f08bfbf5be18e77987bb7951b0079ccd3e791c Mon Sep 17 00:00:00 2001 From: Jim Cromie Date: Tue, 27 Jun 2006 02:54:17 -0700 Subject: [PATCH] --- yaml --- r: 30775 b: refs/heads/master c: 9b170b8fdbd14a197ad26b4354f3810c65a96602 h: refs/heads/master i: 30773: 2edb7ded8b2aabf5dd8d1c9d911f0eb158dca51e 30771: 8e1a933b9bc508f23eac00951aa12e00a991dbd4 30767: 39c0a83cdd60de7bd7ec9260addfeb74babbd266 v: v3 --- [refs] | 2 +- trunk/arch/i386/kernel/scx200.c | 15 ++++++++++----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 84df75ed8d25..1621922636b8 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 9550a339e1ab1709dd53d92a1b76eecae2df9f3c +refs/heads/master: 9b170b8fdbd14a197ad26b4354f3810c65a96602 diff --git a/trunk/arch/i386/kernel/scx200.c b/trunk/arch/i386/kernel/scx200.c index 009e6aa16f73..27be55349c65 100644 --- a/trunk/arch/i386/kernel/scx200.c +++ b/trunk/arch/i386/kernel/scx200.c @@ -47,9 +47,17 @@ static struct pci_driver scx200_pci_driver = { static DEFINE_SPINLOCK(scx200_gpio_config_lock); -static int __devinit scx200_probe(struct pci_dev *pdev, const struct pci_device_id *ent) +static void __devinit scx200_init_shadow(void) { int bank; + + /* read the current values driven on the GPIO signals */ + for (bank = 0; bank < 2; ++bank) + scx200_gpio_shadow[bank] = inl(scx200_gpio_base + 0x10 * bank); +} + +static int __devinit scx200_probe(struct pci_dev *pdev, const struct pci_device_id *ent) +{ unsigned base; if (pdev->device == PCI_DEVICE_ID_NS_SCx200_BRIDGE || @@ -63,10 +71,7 @@ static int __devinit scx200_probe(struct pci_dev *pdev, const struct pci_device_ } scx200_gpio_base = base; - - /* read the current values driven on the GPIO signals */ - for (bank = 0; bank < 2; ++bank) - scx200_gpio_shadow[bank] = inl(scx200_gpio_base + 0x10 * bank); + scx200_init_shadow(); } else { /* find the base of the Configuration Block */