[linux-yocto] [PATCH 68/94] arm-powerpc-drivers: Rearrange the location of the wrapper functions

Paul Butler butler.paul at gmail.com
Thu Nov 7 17:13:22 PST 2013


From: John Jacques <john.jacques at lsi.com>

needed to get them included in the simulation build.

Signed-off-by: John Jacques <john.jacques at lsi.com>
---
 arch/arm/mach-axxia/Makefile            |   1 +
 arch/arm/mach-axxia/wrappers.c          | 132 ++++++++++++++++++++++++++++++++
 arch/powerpc/sysdev/Makefile            |   2 +-
 arch/powerpc/sysdev/lsi_acp_wrappers.c  | 132 ++++++++++++++++++++++++++++++++
 drivers/net/ethernet/lsi/lsi_acp_mdio.c |  96 +----------------------
 drivers/net/ethernet/lsi/lsi_acp_net.c  |   2 +-
 6 files changed, 269 insertions(+), 96 deletions(-)
 create mode 100644 arch/arm/mach-axxia/wrappers.c
 create mode 100644 arch/powerpc/sysdev/lsi_acp_wrappers.c

diff --git a/arch/arm/mach-axxia/Makefile b/arch/arm/mach-axxia/Makefile
index 6282d36..ac05192 100644
--- a/arch/arm/mach-axxia/Makefile
+++ b/arch/arm/mach-axxia/Makefile
@@ -1,6 +1,7 @@
 #
 # Makefile for the linux kernel.
 #
+obj-y                                   += wrappers.o
 obj-y					+= axxia.o
 obj-y					+= clock.o
 obj-y                                   += io.o
diff --git a/arch/arm/mach-axxia/wrappers.c b/arch/arm/mach-axxia/wrappers.c
new file mode 100644
index 0000000..fe384aa
--- /dev/null
+++ b/arch/arm/mach-axxia/wrappers.c
@@ -0,0 +1,132 @@
+/*
+ * arch/arm/mach-axxia/wrappers.c
+ *
+ * Copyright (C) 2013 LSI
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307	 USA
+ */
+
+#include <linux/module.h>
+#include <asm/irq.h>
+#include <linux/io.h>
+#include <linux/irqdomain.h>
+#include <linux/skbuff.h>
+#include <linux/platform_device.h>
+
+/*
+  ==============================================================================
+  ==============================================================================
+  Platform Device Registration
+  ==============================================================================
+  ==============================================================================
+*/
+
+/*
+  ------------------------------------------------------------------------------
+  acp_platform_device_register
+*/
+
+int
+acp_platform_device_register(struct platform_device *pdev)
+{
+	return platform_device_register(pdev);
+}
+EXPORT_SYMBOL(acp_platform_device_register);
+
+/*
+  ------------------------------------------------------------------------------
+  acp_platform_device_unregister
+*/
+
+void
+acp_platform_device_unregister(struct platform_device *pdev)
+{
+	platform_device_unregister(pdev);
+
+	return;
+}
+EXPORT_SYMBOL(acp_platform_device_unregister);
+
+/*
+  ============================================================================
+  ============================================================================
+  SKB
+  ============================================================================
+  ============================================================================
+*/
+
+/*
+  ----------------------------------------------------------------------------
+  acp_skb_tstamp_tx
+*/
+
+void
+acp_skb_tstamp_tx(struct sk_buff *orig_skb,
+		  struct skb_shared_hwtstamps *hwtstamps) {
+	skb_tstamp_tx(orig_skb, hwtstamps);
+}
+EXPORT_SYMBOL(acp_skb_tstamp_tx);
+
+/*
+  ============================================================================
+  ============================================================================
+  Interrupts
+  ============================================================================
+  ============================================================================
+*/
+
+/*
+ * -------------------------------------------------------------------------
+ * acp_irq_create_mapping
+ */
+unsigned int acp_irq_create_mapping(struct irq_domain *host,
+				    irq_hw_number_t hwirq)
+{
+	unsigned int mapped_irq;
+
+	preempt_disable();
+	mapped_irq = irq_create_mapping(host, hwirq);
+	preempt_enable();
+
+	return mapped_irq;
+}
+EXPORT_SYMBOL(acp_irq_create_mapping);
+
+/*
+  ==============================================================================
+  ==============================================================================
+  Linux Stuff
+  ==============================================================================
+  ==============================================================================
+*/
+
+/*
+  ------------------------------------------------------------------------------
+  acp_wrappers_init
+*/
+
+int __init
+acp_wrappers_init(void)
+{
+	printk(KERN_INFO "Initializing Axxia Wrappers.\n");
+
+	return 0;
+}
+
+module_init(acp_wrappers_init);
+
+MODULE_AUTHOR("LSI Corporation");
+MODULE_DESCRIPTION("Timing Test");
+MODULE_LICENSE("GPL");
diff --git a/arch/powerpc/sysdev/Makefile b/arch/powerpc/sysdev/Makefile
index 6354d1c..a95b59f 100644
--- a/arch/powerpc/sysdev/Makefile
+++ b/arch/powerpc/sysdev/Makefile
@@ -73,4 +73,4 @@ obj-$(CONFIG_PPC_XICS)		+= xics/
 
 obj-$(CONFIG_GE_FPGA)		+= ge/
 
-obj-$(CONFIG_ACP)		+= lsi_acp_ncr.o
+obj-$(CONFIG_ACP)		+= lsi_acp_ncr.o lsi_acp_wrappers.o
diff --git a/arch/powerpc/sysdev/lsi_acp_wrappers.c b/arch/powerpc/sysdev/lsi_acp_wrappers.c
new file mode 100644
index 0000000..724c96c
--- /dev/null
+++ b/arch/powerpc/sysdev/lsi_acp_wrappers.c
@@ -0,0 +1,132 @@
+/*
+ * arch/powerpc/sysdev/lsi_acp_wrappers.c
+ *
+ * Copyright (C) 2013 LSI
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307	 USA
+ */
+
+#include <linux/module.h>
+#include <asm/irq.h>
+#include <linux/io.h>
+#include <linux/irqdomain.h>
+#include <linux/skbuff.h>
+#include <linux/platform_device.h>
+
+/*
+  ==============================================================================
+  ==============================================================================
+  Platform Device Registration
+  ==============================================================================
+  ==============================================================================
+*/
+
+/*
+  ------------------------------------------------------------------------------
+  acp_platform_device_register
+*/
+
+int
+acp_platform_device_register(struct platform_device *pdev)
+{
+	return platform_device_register(pdev);
+}
+EXPORT_SYMBOL(acp_platform_device_register);
+
+/*
+  ------------------------------------------------------------------------------
+  acp_platform_device_unregister
+*/
+
+void
+acp_platform_device_unregister(struct platform_device *pdev)
+{
+	platform_device_unregister(pdev);
+
+	return;
+}
+EXPORT_SYMBOL(acp_platform_device_unregister);
+
+/*
+  ============================================================================
+  ============================================================================
+  SKB
+  ============================================================================
+  ============================================================================
+*/
+
+/*
+  ----------------------------------------------------------------------------
+  acp_skb_tstamp_tx
+*/
+
+void
+acp_skb_tstamp_tx(struct sk_buff *orig_skb,
+		  struct skb_shared_hwtstamps *hwtstamps) {
+	skb_tstamp_tx(orig_skb, hwtstamps);
+}
+EXPORT_SYMBOL(acp_skb_tstamp_tx);
+
+/*
+  ============================================================================
+  ============================================================================
+  Interrupts
+  ============================================================================
+  ============================================================================
+*/
+
+/*
+ * -------------------------------------------------------------------------
+ * acp_irq_create_mapping
+ */
+unsigned int acp_irq_create_mapping(struct irq_domain *host,
+				    irq_hw_number_t hwirq)
+{
+	unsigned int mapped_irq;
+
+	preempt_disable();
+	mapped_irq = irq_create_mapping(host, hwirq);
+	preempt_enable();
+
+	return mapped_irq;
+}
+EXPORT_SYMBOL(acp_irq_create_mapping);
+
+/*
+  ==============================================================================
+  ==============================================================================
+  Linux Stuff
+  ==============================================================================
+  ==============================================================================
+*/
+
+/*
+  ------------------------------------------------------------------------------
+  acp_wrappers_init
+*/
+
+int __init
+acp_wrappers_init(void)
+{
+	printk(KERN_INFO "Initializing Axxia Wrappers.\n");
+
+	return 0;
+}
+
+module_init(acp_wrappers_init);
+
+MODULE_AUTHOR("LSI Corporation");
+MODULE_DESCRIPTION("Timing Test");
+MODULE_LICENSE("GPL");
diff --git a/drivers/net/ethernet/lsi/lsi_acp_mdio.c b/drivers/net/ethernet/lsi/lsi_acp_mdio.c
index 8602374..739f34c 100644
--- a/drivers/net/ethernet/lsi/lsi_acp_mdio.c
+++ b/drivers/net/ethernet/lsi/lsi_acp_mdio.c
@@ -140,11 +140,6 @@ acp_mdio_read(unsigned long address, unsigned long offset,
 	*value = (unsigned short)(command & 0xffff);
 	spin_unlock_irqrestore(&mdio_lock, flags);
 
-#if 0
-	printk("%s - Read 0x%x from 0x%x register 0x%x\n",
-	       __FUNCTION__, *value, address, offset);
-#endif
-
 	return 0;
 }
 EXPORT_SYMBOL(acp_mdio_read);
@@ -240,11 +235,6 @@ acp_mdio_write(unsigned long address, unsigned long offset,
 
 	spin_unlock_irqrestore(&mdio_lock, flags);
 
-#if 0
-	printk("%s - Wrote 0x%x to 0x%x register 0x%x\n",
-	       __FUNCTION__, value, address, offset);
-#endif
-
 	return 0;
 }
 EXPORT_SYMBOL(acp_mdio_write);
@@ -273,88 +263,6 @@ acp_mdio_initialize(void)
 /*
   ==============================================================================
   ==============================================================================
-  Platform Device Registration
-  ==============================================================================
-  ==============================================================================
-*/
-
-/*
-  ------------------------------------------------------------------------------
-  acp_platform_device_register
-*/
-
-int
-acp_platform_device_register(struct platform_device *pdev)
-{
-	return platform_device_register(pdev);
-}
-
-EXPORT_SYMBOL(acp_platform_device_register);
-
-/*
-  ------------------------------------------------------------------------------
-  acp_platform_device_unregister
-*/
-
-void
-acp_platform_device_unregister(struct platform_device *pdev)
-{
-	platform_device_unregister(pdev);
-
-	return;
-}
-
-EXPORT_SYMBOL(acp_platform_device_unregister);
-
-/*
-  ============================================================================
-  ============================================================================
-  SKB
-  ============================================================================
-  ============================================================================
-*/
-
-/*
-  ----------------------------------------------------------------------------
-  acp_skb_tstamp_tx
-*/
-
-void
-acp_skb_tstamp_tx(struct sk_buff *orig_skb,
-		  struct skb_shared_hwtstamps *hwtstamps) {
-	skb_tstamp_tx(orig_skb, hwtstamps);
-}
-
-EXPORT_SYMBOL(acp_skb_tstamp_tx);
-
-/*
-  ============================================================================
-  ============================================================================
-  Interrupts
-  ============================================================================
-  ============================================================================
-*/
-
-/*
- * -------------------------------------------------------------------------
- * acp_irq_create_mapping
- */
-unsigned int acp_irq_create_mapping(struct irq_domain *host,
-				    irq_hw_number_t hwirq)
-{
-	unsigned int mapped_irq;
-
-	preempt_disable();
-	mapped_irq = irq_create_mapping(host, hwirq);
-	preempt_enable();
-
-	return mapped_irq;
-}
-EXPORT_SYMBOL(acp_irq_create_mapping);
-
-/*
-  ==============================================================================
-  ==============================================================================
   Linux Stuff
   ==============================================================================
   ==============================================================================
@@ -366,7 +274,7 @@ EXPORT_SYMBOL(acp_irq_create_mapping);
 */
 
 int __init
-acp_wrappers_init(void)
+acp_mdio_init(void)
 {
 	int rc = -ENODEV;
 	struct device_node *np = NULL;
@@ -403,7 +311,7 @@ error:
 	return rc;
 }
 
-module_init(acp_wrappers_init);
+module_init(acp_mdio_init);
 
 MODULE_AUTHOR("LSI Corporation");
 MODULE_DESCRIPTION("Timing Test");
diff --git a/drivers/net/ethernet/lsi/lsi_acp_net.c b/drivers/net/ethernet/lsi/lsi_acp_net.c
index 0fe090e..21f4cb9 100644
--- a/drivers/net/ethernet/lsi/lsi_acp_net.c
+++ b/drivers/net/ethernet/lsi/lsi_acp_net.c
@@ -92,7 +92,7 @@
 
 /* Define to disable full duplex mode on Amarillo boards */
 #undef AMARILLO_WA
-/*#define AMARILLO_WA*/
+#define AMARILLO_WA
 
 #define LSI_DRV_NAME           "acp-femac"
 #define LSI_MDIO_NAME          "acp-femac-mdio"
-- 
1.8.3.4




More information about the linux-yocto mailing list