Re: [PATCH RFC v4 06/10] net: qualcomm: make qca_common a separate kernel module
From: Dan Williams <hidden>
Date: 2017-03-27 15:44:19
Also in:
linux-devicetree, linux-serial, lkml
On Mon, 2017-03-27 at 15:37 +0200, Stefan Wahren wrote:
In order to share common functions between QCA7000 SPI and UART protocol driver the qca_common needs to be a separate kernel module.
Maybe "qca_eth_common"? There are many things Qualcomm, slightly fewer things Qualcomm Atheros, and "qca_common" isn't very descriptive. Dan
quoted hunk ↗ jump to hunk
Signed-off-by: Stefan Wahren <redacted> --- drivers/net/ethernet/qualcomm/Kconfig | 8 +++++++- drivers/net/ethernet/qualcomm/Makefile | 5 +++-- drivers/net/ethernet/qualcomm/qca_common.c | 10 ++++++++++ 3 files changed, 20 insertions(+), 3 deletions(-)diff --git a/drivers/net/ethernet/qualcomm/Kconfigb/drivers/net/ethernet/qualcomm/Kconfig index d7720bf..b4c369d 100644--- a/drivers/net/ethernet/qualcomm/Kconfig +++ b/drivers/net/ethernet/qualcomm/Kconfig@@ -16,7 +16,13 @@ config NET_VENDOR_QUALCOMMif 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.diff --git a/drivers/net/ethernet/qualcomm/Makefileb/drivers/net/ethernet/qualcomm/Makefile index 8080570..00d8729 100644--- a/drivers/net/ethernet/qualcomm/Makefile +++ b/drivers/net/ethernet/qualcomm/Makefile@@ -2,7 +2,8 @@# Makefile for the Qualcomm network device drivers. # -obj-$(CONFIG_QCA7000) += qcaspi.o -qcaspi-objs := qca_spi.o qca_common.o qca_7k.o qca_debug.o +obj-$(CONFIG_QCA7000) += qca_common.o +obj-$(CONFIG_QCA7000_SPI) += qcaspi.o +qcaspi-objs := qca_7k.o qca_debug.o qca_spi.o obj-y += emac/diff --git a/drivers/net/ethernet/qualcomm/qca_common.cb/drivers/net/ethernet/qualcomm/qca_common.c index d930524..f2c9e76 100644--- a/drivers/net/ethernet/qualcomm/qca_common.c +++ b/drivers/net/ethernet/qualcomm/qca_common.c@@ -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_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 Common"); +MODULE_AUTHOR("Qualcomm Atheros Communications"); +MODULE_AUTHOR("Stefan Wahren [off-list ref]"); +MODULE_LICENSE("Dual BSD/GPL");