Re: [linux-yocto][linux-yocto v6.1/standard/nxp-sdk-6.1/nxp-soc & v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc][PATCH] fec_ecat: Fix build warning in fec_ecat.c

2024-03-28 Thread Bruce Ashfield
merged.

Bruce

In message: [linux-yocto][linux-yocto v6.1/standard/nxp-sdk-6.1/nxp-soc & 
v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc][PATCH] fec_ecat: Fix build 
warning in fec_ecat.c
on 28/03/2024 Xiaolei Wang wrote:

> commit ("fec_ecat: add fec native driver for raw packet prot"),
> introduced many warnings, which comes from the SDK, Since too
> many warnings are introduced by this file, this patch fixes all
> warnings.
> 
> Signed-off-by: Xiaolei Wang 
> ---
>  drivers/net/ethernet/freescale/fec_ecat.c | 131 ++
>  1 file changed, 7 insertions(+), 124 deletions(-)
> 
> diff --git a/drivers/net/ethernet/freescale/fec_ecat.c 
> b/drivers/net/ethernet/freescale/fec_ecat.c
> index 86eb3341105b..06e0b22e710d 100644
> --- a/drivers/net/ethernet/freescale/fec_ecat.c
> +++ b/drivers/net/ethernet/freescale/fec_ecat.c
> @@ -316,15 +316,6 @@ static int fec_enet_get_bd_index(struct bufdesc *bdp,
>   return ((const char *)bdp - (const char *)bd->base) >> bd->dsize_log2;
>  }
>  
> -static void swap_buffer(void *bufaddr, int len)
> -{
> - int i;
> - unsigned int *buf = bufaddr;
> -
> - for (i = 0; i < len; i += 4, buf++)
> - swab32s(buf);
> -}
> -
>  static void swap_buffer2(void *dst_buf, void *src_buf, int len)
>  {
>   int i;
> @@ -383,7 +374,8 @@ static int fec_ecat_txq_submit_buff(struct 
> fec_enet_priv_tx_q *txq,
>   skb = txq->tx_skbuff[index];
>   bufaddr = skb->data;
>   buflen = len;
> - copy_from_user(skb->data, buff, len);
> + if(copy_from_user(skb->data, buff, len))
> + return -EFAULT;
>   bdp->cbd_datlen = cpu_to_fec16(buflen);
>   /* Push the data cache so the CPM does not get stale memory data. */
>   dma_sync_single_for_device(>pdev->dev,
> @@ -424,7 +416,6 @@ static void fec_ecat_tx_queue(struct net_device *ndev)
>   struct bufdesc *bdp;
>   unsigned short status;
>   struct fec_enet_priv_tx_q *txq = fep->tx_queue;
> - int index = 0;
>  
>   /* get next bdp of dirty_tx */
>   bdp = txq->dirty_tx;
> @@ -487,7 +478,6 @@ static void fec_enet_bd_init(struct net_device *dev)
>   struct fec_enet_priv_rx_q *rxq = fep->rx_queue;
>   struct bufdesc *bdp;
>   int i;
> - struct  sk_buff *skb;
>  
>   /* Initialize the receive buffer descriptors. */
>   bdp = rxq->bd.base;
> @@ -713,44 +703,6 @@ static int fec_enet_ipc_handle_init(struct 
> fec_enet_private *fep)
>   return imx_scu_get_handle(>ipc_handle);
>  }
>  
> -static void fec_enet_ipg_stop_set(struct fec_enet_private *fep, bool enabled)
> -{
> - struct device_node *np = fep->pdev->dev.of_node;
> - u32 rsrc_id, val;
> - int idx;
> -
> - if (!np || !fep->ipc_handle)
> - return;
> -
> - idx = of_alias_get_id(np, "ethernet");
> - if (idx < 0)
> - idx = 0;
> - rsrc_id = idx ? IMX_SC_R_ENET_1 : IMX_SC_R_ENET_0;
> -
> - val = enabled ? 1 : 0;
> - imx_sc_misc_set_control(fep->ipc_handle, rsrc_id, IMX_SC_C_IPG_STOP, 
> val);
> -}
> -
> -static void fec_enet_stop_mode(struct fec_enet_private *fep, bool enabled)
> -{
> - struct fec_platform_data *pdata = fep->pdev->dev.platform_data;
> - struct fec_stop_mode_gpr *stop_gpr = >stop_gpr;
> -
> - if (stop_gpr->gpr) {
> - if (enabled)
> - regmap_update_bits(stop_gpr->gpr, stop_gpr->reg,
> -BIT(stop_gpr->bit),
> -BIT(stop_gpr->bit));
> - else
> - regmap_update_bits(stop_gpr->gpr, stop_gpr->reg,
> -BIT(stop_gpr->bit), 0);
> - } else if (pdata && pdata->sleep_mode_enable) {
> - pdata->sleep_mode_enable(enabled);
> - } else {
> - fec_enet_ipg_stop_set(fep, enabled);
> - }
> -}
> -
>  static inline void fec_irqs_disable(struct net_device *ndev)
>  {
>   struct fec_enet_private *fep = netdev_priv(ndev);
> @@ -762,7 +714,6 @@ static void
>  fec_stop(struct net_device *ndev)
>  {
>   struct fec_enet_private *fep = netdev_priv(ndev);
> - u32 rmii_mode = readl(fep->hwp + FEC_R_CNTRL) & (1 << 8);
>  
>   /* We cannot expect a graceful transmit stop without link !!! */
>   if (fep->link) {
> @@ -821,7 +772,6 @@ static int fec_ecat_recv_from_queue(struct net_device 
> *ndev, void __user *buff,
>   int recv_len = 0;
>   int index = 0;
>   boolneed_sw

[linux-yocto][linux-yocto v6.1/standard/nxp-sdk-6.1/nxp-soc & v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc][PATCH] fec_ecat: Fix build warning in fec_ecat.c

2024-03-28 Thread Xiaolei Wang via lists.yoctoproject.org
commit ("fec_ecat: add fec native driver for raw packet prot"),
introduced many warnings, which comes from the SDK, Since too
many warnings are introduced by this file, this patch fixes all
warnings.

Signed-off-by: Xiaolei Wang 
---
 drivers/net/ethernet/freescale/fec_ecat.c | 131 ++
 1 file changed, 7 insertions(+), 124 deletions(-)

diff --git a/drivers/net/ethernet/freescale/fec_ecat.c 
b/drivers/net/ethernet/freescale/fec_ecat.c
index 86eb3341105b..06e0b22e710d 100644
--- a/drivers/net/ethernet/freescale/fec_ecat.c
+++ b/drivers/net/ethernet/freescale/fec_ecat.c
@@ -316,15 +316,6 @@ static int fec_enet_get_bd_index(struct bufdesc *bdp,
return ((const char *)bdp - (const char *)bd->base) >> bd->dsize_log2;
 }
 
-static void swap_buffer(void *bufaddr, int len)
-{
-   int i;
-   unsigned int *buf = bufaddr;
-
-   for (i = 0; i < len; i += 4, buf++)
-   swab32s(buf);
-}
-
 static void swap_buffer2(void *dst_buf, void *src_buf, int len)
 {
int i;
@@ -383,7 +374,8 @@ static int fec_ecat_txq_submit_buff(struct 
fec_enet_priv_tx_q *txq,
skb = txq->tx_skbuff[index];
bufaddr = skb->data;
buflen = len;
-   copy_from_user(skb->data, buff, len);
+   if(copy_from_user(skb->data, buff, len))
+   return -EFAULT;
bdp->cbd_datlen = cpu_to_fec16(buflen);
/* Push the data cache so the CPM does not get stale memory data. */
dma_sync_single_for_device(>pdev->dev,
@@ -424,7 +416,6 @@ static void fec_ecat_tx_queue(struct net_device *ndev)
struct bufdesc *bdp;
unsigned short status;
struct fec_enet_priv_tx_q *txq = fep->tx_queue;
-   int index = 0;
 
/* get next bdp of dirty_tx */
bdp = txq->dirty_tx;
@@ -487,7 +478,6 @@ static void fec_enet_bd_init(struct net_device *dev)
struct fec_enet_priv_rx_q *rxq = fep->rx_queue;
struct bufdesc *bdp;
int i;
-   struct  sk_buff *skb;
 
/* Initialize the receive buffer descriptors. */
bdp = rxq->bd.base;
@@ -713,44 +703,6 @@ static int fec_enet_ipc_handle_init(struct 
fec_enet_private *fep)
return imx_scu_get_handle(>ipc_handle);
 }
 
-static void fec_enet_ipg_stop_set(struct fec_enet_private *fep, bool enabled)
-{
-   struct device_node *np = fep->pdev->dev.of_node;
-   u32 rsrc_id, val;
-   int idx;
-
-   if (!np || !fep->ipc_handle)
-   return;
-
-   idx = of_alias_get_id(np, "ethernet");
-   if (idx < 0)
-   idx = 0;
-   rsrc_id = idx ? IMX_SC_R_ENET_1 : IMX_SC_R_ENET_0;
-
-   val = enabled ? 1 : 0;
-   imx_sc_misc_set_control(fep->ipc_handle, rsrc_id, IMX_SC_C_IPG_STOP, 
val);
-}
-
-static void fec_enet_stop_mode(struct fec_enet_private *fep, bool enabled)
-{
-   struct fec_platform_data *pdata = fep->pdev->dev.platform_data;
-   struct fec_stop_mode_gpr *stop_gpr = >stop_gpr;
-
-   if (stop_gpr->gpr) {
-   if (enabled)
-   regmap_update_bits(stop_gpr->gpr, stop_gpr->reg,
-  BIT(stop_gpr->bit),
-  BIT(stop_gpr->bit));
-   else
-   regmap_update_bits(stop_gpr->gpr, stop_gpr->reg,
-  BIT(stop_gpr->bit), 0);
-   } else if (pdata && pdata->sleep_mode_enable) {
-   pdata->sleep_mode_enable(enabled);
-   } else {
-   fec_enet_ipg_stop_set(fep, enabled);
-   }
-}
-
 static inline void fec_irqs_disable(struct net_device *ndev)
 {
struct fec_enet_private *fep = netdev_priv(ndev);
@@ -762,7 +714,6 @@ static void
 fec_stop(struct net_device *ndev)
 {
struct fec_enet_private *fep = netdev_priv(ndev);
-   u32 rmii_mode = readl(fep->hwp + FEC_R_CNTRL) & (1 << 8);
 
/* We cannot expect a graceful transmit stop without link !!! */
if (fep->link) {
@@ -821,7 +772,6 @@ static int fec_ecat_recv_from_queue(struct net_device 
*ndev, void __user *buff,
int recv_len = 0;
int index = 0;
boolneed_swap = fep->quirks & FEC_QUIRK_SWAP_FRAME;
-   int ret = 0;
 
 #ifdef CONFIG_M532x
flush_cache_all();
@@ -885,7 +835,8 @@ static int fec_ecat_recv_from_queue(struct net_device 
*ndev, void __user *buff,
if (data[12] ==0x88 && data[13] ==0xa4) {
len = len < pkt_len? len : pkt_len;
if (!need_swap) {
-   copy_to_user(buff, data, len);
+   if(copy_to_user(buff, data, len))
+   return -EFAULT;
}
else {
swap_buffer2(buff, data, len);
@@ -1661,56 +1612,6 @@ static void fec_enet_get_regs(struct net_device *ndev,
 
 #if !defined(CONFIG_M5272)
 
-static void fec_enet_get_pauseparam(struct net_device