net: qualcomm: make qca_7k_common a separate kernel module
authorStefan Wahren <stefan.wahren@i2se.com>
Mon, 29 May 2017 11:57:20 +0000 (13:57 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 30 May 2017 17:57:30 +0000 (13:57 -0400)
In order to share common functions between QCA7000 SPI and UART protocol
driver the qca_7k_common needs to be a separate kernel module.

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/qualcomm/Kconfig
drivers/net/ethernet/qualcomm/Makefile
drivers/net/ethernet/qualcomm/qca_7k_common.c

index d7720bf92d49658a4ed7a256540b4dcdc369d610..b4c369dccde734ecc43f2d7237393190d1ca9e9a 100644 (file)
@@ -16,7 +16,13 @@ config NET_VENDOR_QUALCOMM
 if NET_VENDOR_QUALCOMM
 
 config QCA7000
-       tristate "Qualcomm Atheros QCA7000 support"
+       tristate
+       help
+         This enables support for the Qualcomm Atheros QCA7000.
+
+config QCA7000_SPI
+       tristate "Qualcomm Atheros QCA7000 SPI support"
+       select QCA7000
        depends on SPI_MASTER && OF
        ---help---
          This SPI protocol driver supports the Qualcomm Atheros QCA7000.
index 5e17bf116e751f46901bf9526095c87fe2e2a42c..65556ca185a65fe77754063564056a6e644922d3 100644 (file)
@@ -2,7 +2,8 @@
 # Makefile for the Qualcomm network device drivers.
 #
 
-obj-$(CONFIG_QCA7000) += qcaspi.o
-qcaspi-objs := qca_spi.o qca_7k_common.o qca_7k.o qca_debug.o
+obj-$(CONFIG_QCA7000) += qca_7k_common.o
+obj-$(CONFIG_QCA7000_SPI) += qcaspi.o
+qcaspi-objs := qca_7k.o qca_debug.o qca_spi.o
 
 obj-y += emac/
index 0d3daa95cc7009359711a9a30d208f74aef76063..6b511f05df617967e8a648cc0dd7e0b0317c1051 100644 (file)
@@ -21,7 +21,9 @@
  *   by an atheros frame while transmitted over a serial channel;
  */
 
+#include <linux/init.h>
 #include <linux/kernel.h>
+#include <linux/module.h>
 
 #include "qca_7k_common.h"
 
@@ -46,6 +48,7 @@ qcafrm_create_header(u8 *buf, u16 length)
 
        return QCAFRM_HEADER_LEN;
 }
+EXPORT_SYMBOL_GPL(qcafrm_create_header);
 
 u16
 qcafrm_create_footer(u8 *buf)
@@ -57,6 +60,7 @@ qcafrm_create_footer(u8 *buf)
        buf[1] = 0x55;
        return QCAFRM_FOOTER_LEN;
 }
+EXPORT_SYMBOL_GPL(qcafrm_create_footer);
 
 /*   Gather received bytes and try to extract a full ethernet frame by
  *   following a simple state machine.
@@ -154,3 +158,9 @@ qcafrm_fsm_decode(struct qcafrm_handle *handle, u8 *buf, u16 buf_len, u8 recv_by
 
        return ret;
 }
+EXPORT_SYMBOL_GPL(qcafrm_fsm_decode);
+
+MODULE_DESCRIPTION("Qualcomm Atheros QCA7000 common");
+MODULE_AUTHOR("Qualcomm Atheros Communications");
+MODULE_AUTHOR("Stefan Wahren <stefan.wahren@i2se.com>");
+MODULE_LICENSE("Dual BSD/GPL");