projects
/
openwrt
/
svn-archive
/
archive.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
atheros: ar2315-pci: remove odd locking in PCI config space access function
[openwrt/svn-archive/archive.git]
/
target
/
linux
/
atheros
/
patches-3.14
/
105-ar2315_pci.patch
diff --git
a/target/linux/atheros/patches-3.14/105-ar2315_pci.patch
b/target/linux/atheros/patches-3.14/105-ar2315_pci.patch
index 14862c9e5e2b1ec93d5fc259208e5d21fa2037b1..a4377eb1d640f921dbdb5ed1b0447879013172c5 100644
(file)
--- a/
target/linux/atheros/patches-3.14/105-ar2315_pci.patch
+++ b/
target/linux/atheros/patches-3.14/105-ar2315_pci.patch
@@
-7,7
+7,7
@@
+obj-$(CONFIG_ATHEROS_AR2315_PCI) += pci.o
--- /dev/null
+++ b/arch/mips/ar231x/pci.c
+obj-$(CONFIG_ATHEROS_AR2315_PCI) += pci.o
--- /dev/null
+++ b/arch/mips/ar231x/pci.c
-@@ -0,0 +1,2
33
@@
+@@ -0,0 +1,2
29
@@
+/*
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+/*
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
@@
-28,7
+28,6
@@
+#include <linux/kernel.h>
+#include <linux/init.h>
+#include <linux/mm.h>
+#include <linux/kernel.h>
+#include <linux/init.h>
+#include <linux/mm.h>
-+#include <linux/spinlock.h>
+#include <linux/delay.h>
+#include <linux/irq.h>
+#include <linux/io.h>
+#include <linux/delay.h>
+#include <linux/irq.h>
+#include <linux/io.h>
@@
-46,7
+45,6
@@
+
+static int config_access(int devfn, int where, int size, u32 *ptr, bool write)
+{
+
+static int config_access(int devfn, int where, int size, u32 *ptr, bool write)
+{
-+ unsigned long flags;
+ int func = PCI_FUNC(devfn);
+ int dev = PCI_SLOT(devfn);
+ u32 value = 0;
+ int func = PCI_FUNC(devfn);
+ int dev = PCI_SLOT(devfn);
+ u32 value = 0;
@@
-57,7
+55,6
@@
+ return PCIBIOS_DEVICE_NOT_FOUND;
+
+ /* Select Configuration access */
+ return PCIBIOS_DEVICE_NOT_FOUND;
+
+ /* Select Configuration access */
-+ local_irq_save(flags);
+ ar231x_mask_reg(AR2315_PCI_MISC_CONFIG, 0, AR2315_PCIMISC_CFG_SEL);
+ mb();
+
+ ar231x_mask_reg(AR2315_PCI_MISC_CONFIG, 0, AR2315_PCIMISC_CFG_SEL);
+ mb();
+
@@
-90,7
+87,6
@@
+
+ /* Select Memory access */
+ ar231x_mask_reg(AR2315_PCI_MISC_CONFIG, AR2315_PCIMISC_CFG_SEL, 0);
+
+ /* Select Memory access */
+ ar231x_mask_reg(AR2315_PCI_MISC_CONFIG, AR2315_PCIMISC_CFG_SEL, 0);
-+ local_irq_restore(flags);
+
+ return err ? PCIBIOS_DEVICE_NOT_FOUND : PCIBIOS_SUCCESSFUL;
+}
+
+ return err ? PCIBIOS_DEVICE_NOT_FOUND : PCIBIOS_SUCCESSFUL;
+}