Re: [PATCH v3 net-next 4/8] net: qualcomm: rename qca_framing.c to qca_common.c

2016-10-18 Thread Greg Kroah-Hartman
On Tue, Oct 18, 2016 at 01:27:30PM +0200, Stefan Wahren wrote:
> As preparation for the upcoming UART driver we need a module
> which contains common functions for both interfaces. The module
> qca_framing is a good candidate but renaming to qca_common would
> make it clear.
> 
> Signed-off-by: Stefan Wahren 
> ---
>  drivers/net/ethernet/qualcomm/Makefile  |   2 +-
>  drivers/net/ethernet/qualcomm/qca_common.c  | 156 
> 
>  drivers/net/ethernet/qualcomm/qca_common.h  | 134 
>  drivers/net/ethernet/qualcomm/qca_framing.c | 156 
> 
>  drivers/net/ethernet/qualcomm/qca_framing.h | 134 
>  drivers/net/ethernet/qualcomm/qca_spi.c |   2 +-
>  drivers/net/ethernet/qualcomm/qca_spi.h |   2 +-
>  7 files changed, 293 insertions(+), 293 deletions(-)
>  create mode 100644 drivers/net/ethernet/qualcomm/qca_common.c
>  create mode 100644 drivers/net/ethernet/qualcomm/qca_common.h
>  delete mode 100644 drivers/net/ethernet/qualcomm/qca_framing.c
>  delete mode 100644 drivers/net/ethernet/qualcomm/qca_framing.h

'git format-patch -M' is nice when renaming files to show that the files
really are being renamed, and no other changes are being made (or show
the changes easier.)

thanks,

greg k-h


[PATCH v3 net-next 4/8] net: qualcomm: rename qca_framing.c to qca_common.c

2016-10-18 Thread Stefan Wahren
As preparation for the upcoming UART driver we need a module
which contains common functions for both interfaces. The module
qca_framing is a good candidate but renaming to qca_common would
make it clear.

Signed-off-by: Stefan Wahren 
---
 drivers/net/ethernet/qualcomm/Makefile  |   2 +-
 drivers/net/ethernet/qualcomm/qca_common.c  | 156 
 drivers/net/ethernet/qualcomm/qca_common.h  | 134 
 drivers/net/ethernet/qualcomm/qca_framing.c | 156 
 drivers/net/ethernet/qualcomm/qca_framing.h | 134 
 drivers/net/ethernet/qualcomm/qca_spi.c |   2 +-
 drivers/net/ethernet/qualcomm/qca_spi.h |   2 +-
 7 files changed, 293 insertions(+), 293 deletions(-)
 create mode 100644 drivers/net/ethernet/qualcomm/qca_common.c
 create mode 100644 drivers/net/ethernet/qualcomm/qca_common.h
 delete mode 100644 drivers/net/ethernet/qualcomm/qca_framing.c
 delete mode 100644 drivers/net/ethernet/qualcomm/qca_framing.h

diff --git a/drivers/net/ethernet/qualcomm/Makefile 
b/drivers/net/ethernet/qualcomm/Makefile
index aacb0a5..8080570 100644
--- a/drivers/net/ethernet/qualcomm/Makefile
+++ b/drivers/net/ethernet/qualcomm/Makefile
@@ -3,6 +3,6 @@
 #
 
 obj-$(CONFIG_QCA7000) += qcaspi.o
-qcaspi-objs := qca_spi.o qca_framing.o qca_7k.o qca_debug.o
+qcaspi-objs := qca_spi.o qca_common.o qca_7k.o qca_debug.o
 
 obj-y += emac/
diff --git a/drivers/net/ethernet/qualcomm/qca_common.c 
b/drivers/net/ethernet/qualcomm/qca_common.c
new file mode 100644
index 000..26453a9
--- /dev/null
+++ b/drivers/net/ethernet/qualcomm/qca_common.c
@@ -0,0 +1,156 @@
+/*
+ *   Copyright (c) 2011, 2012, Atheros Communications Inc.
+ *   Copyright (c) 2014, I2SE GmbH
+ *
+ *   Permission to use, copy, modify, and/or distribute this software
+ *   for any purpose with or without fee is hereby granted, provided
+ *   that the above copyright notice and this permission notice appear
+ *   in all copies.
+ *
+ *   THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
+ *   WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
+ *   WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
+ *   THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR
+ *   CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ *   LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+ *   NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ *   CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/*   Atheros ethernet framing. Every Ethernet frame is surrounded
+ *   by an atheros frame while transmitted over a serial channel;
+ */
+
+#include 
+
+#include "qca_common.h"
+
+u16
+qcafrm_create_header(u8 *buf, u16 length)
+{
+   __le16 len;
+
+   if (!buf)
+   return 0;
+
+   len = cpu_to_le16(length);
+
+   buf[0] = 0xAA;
+   buf[1] = 0xAA;
+   buf[2] = 0xAA;
+   buf[3] = 0xAA;
+   buf[4] = len & 0xff;
+   buf[5] = (len >> 8) & 0xff;
+   buf[6] = 0;
+   buf[7] = 0;
+
+   return QCAFRM_HEADER_LEN;
+}
+
+u16
+qcafrm_create_footer(u8 *buf)
+{
+   if (!buf)
+   return 0;
+
+   buf[0] = 0x55;
+   buf[1] = 0x55;
+   return QCAFRM_FOOTER_LEN;
+}
+
+/*   Gather received bytes and try to extract a full ethernet frame by
+ *   following a simple state machine.
+ *
+ * Return:   QCAFRM_GATHER   No ethernet frame fully received yet.
+ *   QCAFRM_NOHEAD   Header expected but not found.
+ *   QCAFRM_INVLEN   Atheros frame length is invalid
+ *   QCAFRM_NOTAIL   Footer expected but not found.
+ *   > 0 Number of byte in the fully received
+ *   Ethernet frame
+ */
+
+s32
+qcafrm_fsm_decode(struct qcafrm_handle *handle, u8 *buf, u16 buf_len, u8 
recv_byte)
+{
+   s32 ret = QCAFRM_GATHER;
+   u16 len;
+
+   switch (handle->state) {
+   case QCAFRM_HW_LEN0:
+   case QCAFRM_HW_LEN1:
+   /* by default, just go to next state */
+   handle->state--;
+
+   if (recv_byte != 0x00) {
+   /* first two bytes of length must be 0 */
+   handle->state = QCAFRM_HW_LEN0;
+   }
+   break;
+   case QCAFRM_HW_LEN2:
+   case QCAFRM_HW_LEN3:
+   handle->state--;
+   break;
+   /* 4 bytes header pattern */
+   case QCAFRM_WAIT_AA1:
+   case QCAFRM_WAIT_AA2:
+   case QCAFRM_WAIT_AA3:
+   case QCAFRM_WAIT_AA4:
+   if (recv_byte != 0xAA) {
+   ret = QCAFRM_NOHEAD;
+   handle->state = QCAFRM_HW_LEN0;
+   } else {
+   handle->state--;
+   }
+   break;
+   /* 2 bytes length. */
+   /* Borrow offset field to hold length for now. */
+   case QCAFRM_WAIT_LEN_BYTE0:
+