Re: [PATCH v6 0/5] AX88796C SPI Ethernet Adapter
On Thu, 12 Nov 2020 at 12:51, Łukasz Stelmach wrote: > > This is a driver for AX88796C Ethernet Adapter connected in SPI mode as > found on ARTIK5 evaluation board. The driver has been ported from a > v3.10.9 vendor kernel for ARTIK5 board. > > Changes in v6: > - fixed typos in Kconfig > - checked argument value in ax88796c_set_tunable > - updated tags in commit messages > > Changes in v5: > - coding style (local variable declarations) > - added spi0 node in the DT binding example and removed > interrupt-parent > - removed comp module parameter > - added CONFIG_SPI_AX88796C_COMPRESSION option to set the initial > state of SPI compression > - introduced new ethtool tunable "spi-compression" to controll SPI > transfer compression > - removed unused fields in struct ax88796c_device > - switched from using buffers allocated on stack for SPI transfers > to DMA safe ones embedded in struct ax_spi and allocated with > kmalloc() > > Changes in v4: > - fixed compilation problems in asix,ax88796c.yaml and in > ax88796c_main.c introduced in v3 > > Changes in v3: > - modify vendor-prefixes.yaml in a separate patch > - fix several problems in the dt binding > - removed unnecessary descriptions and properties > - changed the order of entries > - fixed problems with missing defines in the example > - change (1 << N) to BIT(N), left a few (0 << N) > - replace ax88796c_get_link(), ax88796c_get_link_ksettings(), > ax88796c_set_link_ksettings(), ax88796c_nway_reset(), > ax88796c_set_mac_address() with appropriate kernel functions. > - disable PHY auto-polling in MAC and use PHYLIB to track the state > of PHY and configure MAC > - propagate return values instead of returning constants in several > places > - add WARN_ON() for unlocked mutex > - remove local work queue and use the system_wq > - replace phy_connect_direct() with phy_connect() and move > devm_register_netdev() to the end of ax88796c_probe() > (Unlike phy_connect_direct() phy_connect() does not crash if the > network device isn't registered yet.) > - remove error messages on ENOMEM > - move free_irq() to the end of ax88796c_close() to avoid race > condition > - implement flow-control > > Changes in v2: > - use phylib > - added DT bindings > - moved #includes to *.c files > - used mutex instead of a semaphore for locking > - renamed some constants > - added error propagation for several functions > - used ethtool for dumping registers > - added control over checksum offloading > - remove vendor specific PM > - removed macaddr module parameter and added support for reading a MAC > address from platform data (e.g. DT) > - removed dependency on SPI from NET_VENDOR_ASIX > - added an entry in the MAINTAINERS file > - simplified logging with appropriate netif_* and netdev_* helpers > - lots of style fixes > > Łukasz Stelmach (5): > dt-bindings: vendor-prefixes: Add asix prefix > dt-bindings: net: Add bindings for AX88796C SPI Ethernet Adapter > net: ax88796c: ASIX AX88796C SPI Ethernet Adapter Driver > ARM: dts: exynos: Add Ethernet to Artik 5 board > ARM: defconfig: Enable ax88796c driver Please don't send patches which were applied. It confuses everyone and could cause double-applying through different tree. Best regards, Krzysztof
[PATCH v6 0/5] AX88796C SPI Ethernet Adapter
This is a driver for AX88796C Ethernet Adapter connected in SPI mode as found on ARTIK5 evaluation board. The driver has been ported from a v3.10.9 vendor kernel for ARTIK5 board. Changes in v6: - fixed typos in Kconfig - checked argument value in ax88796c_set_tunable - updated tags in commit messages Changes in v5: - coding style (local variable declarations) - added spi0 node in the DT binding example and removed interrupt-parent - removed comp module parameter - added CONFIG_SPI_AX88796C_COMPRESSION option to set the initial state of SPI compression - introduced new ethtool tunable "spi-compression" to controll SPI transfer compression - removed unused fields in struct ax88796c_device - switched from using buffers allocated on stack for SPI transfers to DMA safe ones embedded in struct ax_spi and allocated with kmalloc() Changes in v4: - fixed compilation problems in asix,ax88796c.yaml and in ax88796c_main.c introduced in v3 Changes in v3: - modify vendor-prefixes.yaml in a separate patch - fix several problems in the dt binding - removed unnecessary descriptions and properties - changed the order of entries - fixed problems with missing defines in the example - change (1 << N) to BIT(N), left a few (0 << N) - replace ax88796c_get_link(), ax88796c_get_link_ksettings(), ax88796c_set_link_ksettings(), ax88796c_nway_reset(), ax88796c_set_mac_address() with appropriate kernel functions. - disable PHY auto-polling in MAC and use PHYLIB to track the state of PHY and configure MAC - propagate return values instead of returning constants in several places - add WARN_ON() for unlocked mutex - remove local work queue and use the system_wq - replace phy_connect_direct() with phy_connect() and move devm_register_netdev() to the end of ax88796c_probe() (Unlike phy_connect_direct() phy_connect() does not crash if the network device isn't registered yet.) - remove error messages on ENOMEM - move free_irq() to the end of ax88796c_close() to avoid race condition - implement flow-control Changes in v2: - use phylib - added DT bindings - moved #includes to *.c files - used mutex instead of a semaphore for locking - renamed some constants - added error propagation for several functions - used ethtool for dumping registers - added control over checksum offloading - remove vendor specific PM - removed macaddr module parameter and added support for reading a MAC address from platform data (e.g. DT) - removed dependency on SPI from NET_VENDOR_ASIX - added an entry in the MAINTAINERS file - simplified logging with appropriate netif_* and netdev_* helpers - lots of style fixes Łukasz Stelmach (5): dt-bindings: vendor-prefixes: Add asix prefix dt-bindings: net: Add bindings for AX88796C SPI Ethernet Adapter net: ax88796c: ASIX AX88796C SPI Ethernet Adapter Driver ARM: dts: exynos: Add Ethernet to Artik 5 board ARM: defconfig: Enable ax88796c driver .../bindings/net/asix,ax88796c.yaml | 73 ++ .../devicetree/bindings/vendor-prefixes.yaml |2 + MAINTAINERS |6 + arch/arm/boot/dts/exynos3250-artik5-eval.dts | 29 + arch/arm/configs/exynos_defconfig |2 + arch/arm/configs/multi_v7_defconfig |2 + drivers/net/ethernet/Kconfig |1 + drivers/net/ethernet/Makefile |1 + drivers/net/ethernet/asix/Kconfig | 35 + drivers/net/ethernet/asix/Makefile|6 + drivers/net/ethernet/asix/ax88796c_ioctl.c| 237 drivers/net/ethernet/asix/ax88796c_ioctl.h| 26 + drivers/net/ethernet/asix/ax88796c_main.c | 1132 + drivers/net/ethernet/asix/ax88796c_main.h | 561 drivers/net/ethernet/asix/ax88796c_spi.c | 109 ++ drivers/net/ethernet/asix/ax88796c_spi.h | 70 + include/uapi/linux/ethtool.h |1 + net/ethtool/common.c |1 + 18 files changed, 2294 insertions(+) create mode 100644 Documentation/devicetree/bindings/net/asix,ax88796c.yaml create mode 100644 drivers/net/ethernet/asix/Kconfig create mode 100644 drivers/net/ethernet/asix/Makefile create mode 100644 drivers/net/ethernet/asix/ax88796c_ioctl.c create mode 100644 drivers/net/ethernet/asix/ax88796c_ioctl.h create mode 100644 drivers/net/ethernet/asix/ax88796c_main.c create mode 100644 drivers/net/ethernet/asix/ax88796c_main.h create mode 100644 drivers/net/ethernet/asix/ax88796c_spi.c create mode 100644 drivers/net/ethernet/asix/ax88796c_spi.h -- 2.26.2