From patchwork Mon Sep 26 11:08:05 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Wahren X-Patchwork-Id: 675090 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3sjLnB4Fgkz9sBR for ; Mon, 26 Sep 2016 21:08:46 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S966538AbcIZLIc (ORCPT ); Mon, 26 Sep 2016 07:08:32 -0400 Received: from mout.kundenserver.de ([212.227.126.131]:60616 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965020AbcIZLI3 (ORCPT ); Mon, 26 Sep 2016 07:08:29 -0400 Received: from duckbill-v2-sdk.fritz.box ([109.104.38.120]) by mrelayeu.kundenserver.de (mreue001) with ESMTPSA (Nemesis) id 0Ma9xX-1bW8dd2RKR-00Lp3j; Mon, 26 Sep 2016 13:08:22 +0200 From: Stefan Wahren To: "David S. Miller" , Greg Kroah-Hartman , Jiri Slaby Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Stefan Wahren Subject: [PATCH RFC v2 net-next 7/8] net: qualcomm: make qca_common a separate kernel module Date: Mon, 26 Sep 2016 13:08:05 +0200 Message-Id: <1474888086-514-8-git-send-email-stefan.wahren@i2se.com> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1474888086-514-1-git-send-email-stefan.wahren@i2se.com> References: <1474888086-514-1-git-send-email-stefan.wahren@i2se.com> X-Provags-ID: V03:K0:Om5jZ0AALOoQlrAp3LUUdU8mhROwC925PPL5C+WMJUTNSuInC2P 4OHPt+Tps/bgZd6rcvtAKimNT8h9U1A709MGRMpq2molok+Tir2gkkMH8Ot96WbibmQZRvy eV2mxn7fPbs5HXDwET2WrVgIfYOE1iepRQNTBXZrBgxrUXjOMy9EnEHVGczfWG5zYkjH4M/ OAAAyj8xe5gmU6K/QCXEQ== X-UI-Out-Filterresults: notjunk:1; V01:K0:kdvcjAjiULo=:GXB7KKfV/kqKgVH0ejfOqB KCuHpMHdV5zukqNKs0J3LFUoFHPQg2p62ruK66vUdnuoUAd9g9D1C6Eqc2S4CLBuaSMpatig6 37CM7A9Ec3IzrQuDqYXkEVZYZYUjh1Yr5ZkA0Snf2DeYof003SzoCXgi5/nrhhJfwi14gQet0 KMRI7c2Hq47NxkTNOxLSWeYbhJg+h7XJ5Rpdg8TqJW2DhEdHbPHdIXmf6NQ8YZuoGxXZPw8H8 an+VFMpgNvwQQChEQArSVPj7LRmkAI+E66Y0fP+96K5csxeKZdpboRaZd7O/Zy/T2gUfwcwWT AH1ITkNSWiCFza0htOE2WRX7d89S+GlCwsHMmGUB9jHW86CYcxS+Lfo6qgwZPXLsO2dU6lrfH I9XdD5iZ5ulrspFoJamihbYmX+yRBRLc6hV0L1sfz8hQeILVsr2ndKvLjT/qkxPS2XRutS+F6 6Hs1/cu6HRgh2kwXPbhV2KQoG4DkBhraJMrXboijF+8PAl9zTWvj36O2jeIbCMeYYzcIlg9oz JI3J9tUN6jcDRNNFe2yHBVTOf3S5kwQASmkIm37fwwbTD94uiF1rjEYKlHhB3y6jjkasxA4EV FRnt5mVOUc45h0XVHVSEpHlhC5e/V3i/pEi5xpsbBbZkY41ZpwTfIOLq1N0PxJuDC+kLTSrpG 7uWqS8RrSMoqsadbx5ztK2T5PpaN9yjbZXROVClDJvuUGD41v0syFqwY50BgAMfZaVDc= Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org In order to share common functions between QCA7000 SPI and UART protocol driver the qca_common needs to be a separate kernel module. Signed-off-by: Stefan Wahren --- drivers/net/ethernet/qualcomm/Kconfig | 8 +++++++- drivers/net/ethernet/qualcomm/Makefile | 5 +++-- drivers/net/ethernet/qualcomm/qca_common.c | 11 +++++++++++ 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/qualcomm/Kconfig b/drivers/net/ethernet/qualcomm/Kconfig index 9ba568d..0d33728 100644 --- a/drivers/net/ethernet/qualcomm/Kconfig +++ b/drivers/net/ethernet/qualcomm/Kconfig @@ -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. diff --git a/drivers/net/ethernet/qualcomm/Makefile b/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.c b/drivers/net/ethernet/qualcomm/qca_common.c index 7eefdad..2fa8c18 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 #include +#include #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,6 +158,7 @@ qcafrm_fsm_decode(struct qcafrm_handle *handle, u8 *buf, u16 buf_len, u8 recv_by return ret; } +EXPORT_SYMBOL_GPL(qcafrm_fsm_decode); int qcacmn_netdev_change_mtu(struct net_device *dev, int new_mtu) @@ -165,3 +170,9 @@ qcacmn_netdev_change_mtu(struct net_device *dev, int new_mtu) return 0; } +EXPORT_SYMBOL_GPL(qcacmn_netdev_change_mtu); + +MODULE_DESCRIPTION("Qualcomm Atheros Common"); +MODULE_AUTHOR("Qualcomm Atheros Communications"); +MODULE_AUTHOR("Stefan Wahren "); +MODULE_LICENSE("Dual BSD/GPL");