[linux-yocto] [PATCH 23/78] drivers/net/ethernet: Wrapper Cleanup

Paul Butler butler.paul at gmail.com
Tue Nov 19 20:22:59 PST 2013


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

Some of the Linux function calls got changed in later versions of Linux
to require the caller to be GPLd.  We are in the process of GPLing all
our driver code, but were not yet finished doing so. The wrappers were
a temporary work around until the RTE (the external module we provide
to customers that controls the rest of the hardware) is GPLd.

Signed-off-by: John Jacques <john.jacques at lsi.com>
---
 arch/arm/mach-axxia/Makefile            |  3 +-
 arch/arm/mach-axxia/wrappers.c          | 80 ++++++++++++++++++++++++++++++
 arch/powerpc/sysdev/lsi_acp_wrappers.c  | 87 ---------------------------------
 drivers/net/ethernet/lsi/lsi_acp_mdio.c | 23 +--------
 4 files changed, 83 insertions(+), 110 deletions(-)
 create mode 100644 arch/arm/mach-axxia/wrappers.c

diff --git a/arch/arm/mach-axxia/Makefile b/arch/arm/mach-axxia/Makefile
index 2d43ee7..e2f59cb 100644
--- a/arch/arm/mach-axxia/Makefile
+++ b/arch/arm/mach-axxia/Makefile
@@ -1,7 +1,8 @@
 #
 # Makefile for the linux kernel.
 #
-obj-y					:= axxia.o
+obj-y					:= wrappers.o
+obj-y					+= axxia.o
 obj-y					+= clock.o
 obj-y                                   += io.o
 obj-y					+= timers.o
diff --git a/arch/arm/mach-axxia/wrappers.c b/arch/arm/mach-axxia/wrappers.c
new file mode 100644
index 0000000..54d2021
--- /dev/null
+++ b/arch/arm/mach-axxia/wrappers.c
@@ -0,0 +1,80 @@
+/*
+ * 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
+ */
+
+/*
+  ==============================================================================
+  ==============================================================================
+  Platform Device Registration
+  ==============================================================================
+  ==============================================================================
+*/
+
+#include <linux/platform_device.h>
+
+/*
+  ------------------------------------------------------------------------------
+  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);
+
+/*
+  ==============================================================================
+  ==============================================================================
+  Interrupts
+  ==============================================================================
+  ==============================================================================
+*/
+
+#include <linux/irqdomain.h>
+
+/*
+  ------------------------------------------------------------------------------
+  acp_irq_create_mapping
+*/
+
+unsigned int
+acp_irq_create_mapping(struct irq_domain *host, irq_hw_number_t hwirq)
+{
+        return irq_create_mapping(host, hwirq);
+}
+
+EXPORT_SYMBOL(acp_irq_create_mapping);
diff --git a/arch/powerpc/sysdev/lsi_acp_wrappers.c b/arch/powerpc/sysdev/lsi_acp_wrappers.c
index cb49067..f944741 100644
--- a/arch/powerpc/sysdev/lsi_acp_wrappers.c
+++ b/arch/powerpc/sysdev/lsi_acp_wrappers.c
@@ -19,8 +19,6 @@
  */
 
 #include <linux/module.h>
-#include <linux/spinlock.h>
-#include <linux/sched.h>
 #include <linux/of.h>
 #include <linux/io.h>
 #include <asm/irq.h>
@@ -218,91 +216,6 @@ unsigned int acp_irq_create_mapping(struct irq_domain *host,
 EXPORT_SYMBOL(acp_irq_create_mapping);
 
 /*
-  ============================================================================
-  ============================================================================
-  Spin Locks
-  ============================================================================
-  ============================================================================
-*/
-
-/*
- * -------------------------------------------------------------------------
- * acp_spin_lock_init
- */
-
-void acp_spin_lock_init(spinlock_t *lock)
-{
-	spin_lock_init(lock);
-}
-EXPORT_SYMBOL(acp_spin_lock_init);
-
-/*
- * -------------------------------------------------------------------------
- * acp_spin_lock
- */
-
-void acp_spin_lock(spinlock_t *lock)
-{
-	spin_lock(lock);
-}
-EXPORT_SYMBOL(acp_spin_lock);
-
-/*
- * -------------------------------------------------------------------------
- * acp_spin_unlock
- */
-
-void acp_spin_unlock(spinlock_t *lock)
-{
-	spin_unlock(lock);
-}
-EXPORT_SYMBOL(acp_spin_unlock);
-
-/*
- * -------------------------------------------------------------------------
- * acp_spin_lock_bh
- */
-
-void acp_spin_lock_bh(spinlock_t *lock)
-{
-	spin_lock_bh(lock);
-}
-EXPORT_SYMBOL(acp_spin_lock_bh);
-
-/*
- * -------------------------------------------------------------------------
- * acp_spin_unlock_bh
- */
-
-void acp_spin_unlock_bh(spinlock_t *lock)
-{
-	spin_unlock_bh(lock);
-}
-EXPORT_SYMBOL(acp_spin_unlock_bh);
-
-/*
- * -------------------------------------------------------------------------
- * acp_spin_lock_irqsave
- */
-
-void acp_spin_lock_irqsave(spinlock_t *lock, unsigned long flags)
-{
-	spin_lock_irqsave(lock, flags);
-}
-EXPORT_SYMBOL(acp_spin_lock_irqsave);
-
-/*
- * -------------------------------------------------------------------------
- * acp_spin_unlock_irqrestore
- */
-
-void acp_spin_unlock_irqrestore(spinlock_t *lock, unsigned long flags)
-{
-	spin_unlock_irqrestore(lock, flags);
-}
-EXPORT_SYMBOL(acp_spin_unlock_irqrestore);
-
-/*
  * -------------------------------------------------------------------------
  * acp_wrappers_init
  */
diff --git a/drivers/net/ethernet/lsi/lsi_acp_mdio.c b/drivers/net/ethernet/lsi/lsi_acp_mdio.c
index dc4e353..90fc135 100644
--- a/drivers/net/ethernet/lsi/lsi_acp_mdio.c
+++ b/drivers/net/ethernet/lsi/lsi_acp_mdio.c
@@ -171,26 +171,6 @@ acp_mdio_initialize(void)
 #endif /* ! CONFIG_ACPISS */
 
 /*
-  ==============================================================================
-  ==============================================================================
-  Interrupts
-  ==============================================================================
-  ==============================================================================
-*/
-
-/*
-  ------------------------------------------------------------------------------
-  acp_irq_create_mapping
-*/
-
-unsigned int
-acp_irq_create_mapping(struct irq_domain *host, irq_hw_number_t hwirq)
-{
-	return irq_create_mapping(host, hwirq);
-}
-EXPORT_SYMBOL(acp_irq_create_mapping);
-
-/*
   ------------------------------------------------------------------------------
   acp_wrappers_init
 */
@@ -223,8 +203,6 @@ acp_wrappers_init(void)
 	mdio_address = of_translate_address(np, field);
 	mdio_size = field[1];
 	mdio_base = (unsigned long)ioremap(mdio_address, mdio_size);
-	printk(KERN_INFO "%s:%d - mdio_address=0x%llx mdio_size=0x%x mdio_base=0x%x\n",
-	       __FILE__, __LINE__, mdio_address, mdio_size, mdio_base);
 	rc = acp_mdio_initialize();
 #else
 	rc = 0;
@@ -234,6 +212,7 @@ error:
 
 	return rc;
 }
+
 module_init(acp_wrappers_init);
 
 MODULE_AUTHOR("LSI Corporation");
-- 
1.8.4.3



More information about the linux-yocto mailing list