From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S967568AbdEWNO5 (ORCPT ); Tue, 23 May 2017 09:14:57 -0400 Received: from mout.kundenserver.de ([217.72.192.74]:63683 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S967522AbdEWNOr (ORCPT ); Tue, 23 May 2017 09:14:47 -0400 From: Stefan Wahren To: Rob Herring , Mark Rutland , "David S. Miller" Cc: Greg Kroah-Hartman , Jiri Slaby , Lino Sanfilippo , Jakub Kicinski , devicetree@vger.kernel.org, netdev@vger.kernel.org, linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org, Stefan Wahren Subject: [PATCH v6 net-next 00/17] net: qualcomm: add QCA7000 UART driver Date: Tue, 23 May 2017 15:12:36 +0200 Message-Id: <1495545173-22150-1-git-send-email-stefan.wahren@i2se.com> X-Mailer: git-send-email 2.1.4 X-Provags-ID: V03:K0:FDuQa5LtGYcsI2BWbrGjQvxHGa7lwNIjNNRwvz2jXvrLPxOO4GY F71bhFFKwesVdCJQ47sWRimosnjfgUCSfzJ2wOqnEaZczNXkUTGjpIesiBYd45t61dSSILD EofZdrcK5mAztYBWLg2ziDLbQivvyKDXg4lXrDofsCh9ZhjBwOD51qdaA2IcedIR0QJXlFB cEB+Nth4yrPV33Q3fl3SQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:50lBQ83VbQA=:faL5KActoSEqg2wCAC39Gk QTD28QOjBXXnk18l3GNWUiIC5totPLhHvAvl6LTiEDnj6/ePuxn0iMdmGE8zGj//qpTZoNrXX C1SC+MCkdGurWN6YIw5TarPQGqoRapAnHjU0536zFIHlRSqzriyLp2XFh3YwXq8AozOt52iGH QzGnYhhzDf75d5GktbCsCbAxTg3tRhNO/NtnkIZHtoWwhpqmkd4cqS1OG2/SKwGOTzxUTSPu2 FuJgswq5Hqy4+oh+ay81t04jhbixbJvBvkEmEf4+Do1gnAyxPF55YY51QZzKMBLH5VR4bRNSA IOIaKRRijtRy+b/DUKawkDcgpE8qbM8JChHuTrn7pIgki6MyMrMvaO5BcEi7E/aUL1hAT6psv dz36MvZWL84o5Z6EVhgkTLJBgvnT6ugZfJSuYPE1DsRkP6p6zitjlPao4ah7tzvjqbbKzI66V /CWGnWQ3EIdX4Dim8aTcTHq/kHoBycA63jGF8rboaTxWXA9GlQwFulVg5JWai+jHoA1sIdoqx KZ1ita2gB3RpNYyT7+8kCcPoJWhGY19TMJczE3ZfE9c273+nRPEAFvnMo2uV1/NNYMerk26s2 ckblwFZfGzmutLob5ygLbFjzPpFCgTH8GMj1Oy84S5kgHhIgNtGieqZE8mJ6FEdyeXs3gNdx3 TYPXVDGuB16RwOGmM19yMnL//kDsBmW+nvlD8ZQAoTKUEsXQLSvve74f2YrnaaxwW98g= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The Qualcomm QCA7000 HomePlug GreenPHY supports two interfaces: UART and SPI. This patch series adds the missing support for UART. This driver based on the Qualcomm code [1], but contains some changes: * use random MAC address per default * use net_device_stats from device * share frame decoding between SPI and UART driver * improve error handling * reimplement tty_wakeup with work queue (based on slcan) * use new serial device bus instead of ldisc The patches 1 - 3 are just for clean up and are not related to the UART support. Patch 4 adds SET_NETDEV_DEV() to qca_spi. Patches 5 - 16 prepare the existing QCA7000 code for UART support. The last patch contains the new driver. The code itself has been tested on a Freescale i.MX28 board and a Raspberry Pi Zero. Changes in v6: * rebase to current linux-next * use SET_NETDEV_DEV() for qca_spi and qca_uart * rename binding to qca,qca7000.txt * use qca,qca7000 compatible for both driver * handle error cases in qca_uart_probe properly * fix skb leak in error path of qcauart_netdev_init * use dev_kfree_skb_any instead of kfree_skb * take care of tx_work on close / remove * use devm_kmalloc for tx buffer * minor cleanups Changes in v5: * rebase to current linux-next * fix alignment issues in rx path * fix buffer overrun with big ethernet frames * fix init of UART decoding fsm * add device UART settings to Kconfig help * add current-speed to slave-device binding * merge SPI and UART binding document * rename qca_common to qca_7k_common * drop patch for retrieving UART settings * several cleanups Changes in v4: * rebase to current linux-next * use parameter -M for git format-patch * change order of local variables where possible * implement basic serdev support (without hardware flow control) Changes in v3: * rebase to current net-next Changes in v2: * fix build issue by using netif_trans_update() and dev_trans_start() [1] - https://github.com/IoE/qca7000 Stefan Wahren (17): net: qualcomm: remove unnecessary includes net: qca_framing: use u16 for frame offset net: qca_7k: Use BIT macro net: qca_spi: Use SET_NETDEV_DEV() net: qualcomm: use net_device_ops instead of direct call net: qualcomm: Improve readability of length defines net: qca_spi: remove QCASPI_MTU net: qualcomm: move qcaspi_tx_cmd to qca_spi.c net: qca_spi: Clarify MODULE_DESCRIPTION net: qualcomm: rename qca_framing.c to qca_7k_common.c net: qualcomm: prepare frame decoding for UART driver net: qualcomm: make qca_7k_common a separate kernel module dt-bindings: qca7000-spi: Rework binding dt-bindings: qca7000: rename binding dt-bindings: slave-device: add current-speed property dt-bindings: qca7000: append UART interface to binding net: qualcomm: add QCA7000 UART driver .../devicetree/bindings/net/qca,qca7000.txt | 88 +++++ .../devicetree/bindings/net/qca-qca7000-spi.txt | 47 --- .../devicetree/bindings/serial/slave-device.txt | 9 + drivers/net/ethernet/qualcomm/Kconfig | 24 +- drivers/net/ethernet/qualcomm/Makefile | 7 +- drivers/net/ethernet/qualcomm/qca_7k.c | 28 -- drivers/net/ethernet/qualcomm/qca_7k.h | 15 +- .../qualcomm/{qca_framing.c => qca_7k_common.c} | 26 +- .../qualcomm/{qca_framing.h => qca_7k_common.h} | 24 +- drivers/net/ethernet/qualcomm/qca_debug.c | 5 +- drivers/net/ethernet/qualcomm/qca_spi.c | 48 ++- drivers/net/ethernet/qualcomm/qca_spi.h | 5 +- drivers/net/ethernet/qualcomm/qca_uart.c | 423 +++++++++++++++++++++ 13 files changed, 630 insertions(+), 119 deletions(-) create mode 100644 Documentation/devicetree/bindings/net/qca,qca7000.txt delete mode 100644 Documentation/devicetree/bindings/net/qca-qca7000-spi.txt rename drivers/net/ethernet/qualcomm/{qca_framing.c => qca_7k_common.c} (85%) rename drivers/net/ethernet/qualcomm/{qca_framing.h => qca_7k_common.h} (86%) create mode 100644 drivers/net/ethernet/qualcomm/qca_uart.c -- 2.1.4