Re: [PATCH v3 net-next 5/8] net: qualcomm: move MTU handling to qca_common

2016-10-18 Thread David Miller
From: Stefan Wahren 
Date: Tue, 18 Oct 2016 13:27:31 +0200

> The MTU of the QCA7000 is independent from it's host interface (UART,SPI).
> So move the change_mtu function to qca_common.
> 
> Signed-off-by: Stefan Wahren 
> ---
>  drivers/net/ethernet/qualcomm/qca_common.c | 11 +++
>  drivers/net/ethernet/qualcomm/qca_common.h |  3 +++
>  drivers/net/ethernet/qualcomm/qca_spi.c| 13 +
>  3 files changed, 15 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/net/ethernet/qualcomm/qca_common.c 
> b/drivers/net/ethernet/qualcomm/qca_common.c
> index 26453a9..9020c57 100644
> --- a/drivers/net/ethernet/qualcomm/qca_common.c
> +++ b/drivers/net/ethernet/qualcomm/qca_common.c
> @@ -154,3 +154,14 @@ qcafrm_fsm_decode(struct qcafrm_handle *handle, u8 *buf, 
> u16 buf_len, u8 recv_by
>  
>   return ret;
>  }
> +
> +int
> +qcacmn_netdev_change_mtu(struct net_device *dev, int new_mtu)
> +{
> + if ((new_mtu < QCAFRM_ETHMINMTU) || (new_mtu > QCAFRM_ETHMAXMTU))
> + return -EINVAL;

In net-next this limiting is implemented by the driver properly setting
netdev->min_mtu and netdev->max_mtu respectively.

And once you do that, you no longer need this method at all.


[PATCH v3 net-next 5/8] net: qualcomm: move MTU handling to qca_common

2016-10-18 Thread Stefan Wahren
The MTU of the QCA7000 is independent from it's host interface (UART,SPI).
So move the change_mtu function to qca_common.

Signed-off-by: Stefan Wahren 
---
 drivers/net/ethernet/qualcomm/qca_common.c | 11 +++
 drivers/net/ethernet/qualcomm/qca_common.h |  3 +++
 drivers/net/ethernet/qualcomm/qca_spi.c| 13 +
 3 files changed, 15 insertions(+), 12 deletions(-)

diff --git a/drivers/net/ethernet/qualcomm/qca_common.c 
b/drivers/net/ethernet/qualcomm/qca_common.c
index 26453a9..9020c57 100644
--- a/drivers/net/ethernet/qualcomm/qca_common.c
+++ b/drivers/net/ethernet/qualcomm/qca_common.c
@@ -154,3 +154,14 @@ qcafrm_fsm_decode(struct qcafrm_handle *handle, u8 *buf, 
u16 buf_len, u8 recv_by
 
return ret;
 }
+
+int
+qcacmn_netdev_change_mtu(struct net_device *dev, int new_mtu)
+{
+   if ((new_mtu < QCAFRM_ETHMINMTU) || (new_mtu > QCAFRM_ETHMAXMTU))
+   return -EINVAL;
+
+   dev->mtu = new_mtu;
+
+   return 0;
+}
diff --git a/drivers/net/ethernet/qualcomm/qca_common.h 
b/drivers/net/ethernet/qualcomm/qca_common.h
index 8c9b713..0fafaaf 100644
--- a/drivers/net/ethernet/qualcomm/qca_common.h
+++ b/drivers/net/ethernet/qualcomm/qca_common.h
@@ -26,6 +26,7 @@
 
 #include 
 #include 
+#include 
 #include 
 
 /* Frame is currently being received */
@@ -131,4 +132,6 @@ static inline void qcafrm_fsm_init(struct qcafrm_handle 
*handle)
 
 s32 qcafrm_fsm_decode(struct qcafrm_handle *handle, u8 *buf, u16 buf_len, u8 
recv_byte);
 
+int qcacmn_netdev_change_mtu(struct net_device *dev, int new_mtu);
+
 #endif /* _QCA_COMMON_H */
diff --git a/drivers/net/ethernet/qualcomm/qca_spi.c 
b/drivers/net/ethernet/qualcomm/qca_spi.c
index 551591d..e0a5020 100644
--- a/drivers/net/ethernet/qualcomm/qca_spi.c
+++ b/drivers/net/ethernet/qualcomm/qca_spi.c
@@ -804,24 +804,13 @@ qcaspi_netdev_uninit(struct net_device *dev)
dev_kfree_skb(qca->rx_skb);
 }
 
-static int
-qcaspi_netdev_change_mtu(struct net_device *dev, int new_mtu)
-{
-   if ((new_mtu < QCAFRM_ETHMINMTU) || (new_mtu > QCAFRM_ETHMAXMTU))
-   return -EINVAL;
-
-   dev->mtu = new_mtu;
-
-   return 0;
-}
-
 static const struct net_device_ops qcaspi_netdev_ops = {
.ndo_init = qcaspi_netdev_init,
.ndo_uninit = qcaspi_netdev_uninit,
.ndo_open = qcaspi_netdev_open,
.ndo_stop = qcaspi_netdev_close,
.ndo_start_xmit = qcaspi_netdev_xmit,
-   .ndo_change_mtu = qcaspi_netdev_change_mtu,
+   .ndo_change_mtu = qcacmn_netdev_change_mtu,
.ndo_set_mac_address = eth_mac_addr,
.ndo_tx_timeout = qcaspi_netdev_tx_timeout,
.ndo_validate_addr = eth_validate_addr,
-- 
2.1.4