All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next] sxgbe: remove unused code
@ 2016-02-03 20:11 Jεan Sacren
  2016-02-03 21:49 ` Shuah Khan
  0 siblings, 1 reply; 4+ messages in thread
From: Jεan Sacren @ 2016-02-03 20:11 UTC (permalink / raw)
  To: davem; +Cc: netdev, shuahkh, shuahkhan, julia.lawall, Byungho An, Girish K S

From: Jean Sacren <sakiwit@gmail.com>

With the introduction of this commit 1edb9ca69e8a
("net: sxgbe: add basic framework for Samsung 10Gb ethernet driver"),
the following interface was added:

	int sxgbe_xpcs_init(struct net_device *ndev);
	int sxgbe_xpcs_init_1G(struct net_device *ndev);

But those two functions have never been used since the inception.

In addition to the interface, the following macros are defined in
sxgbe_xpcs header but not used:

	SR_MII_MMD_AN_ADV
	SR_MII_MMD_AN_LINK_PARTNER_BA
	VR_MII_MMD_AN_CONTROL
	VR_MII_MMD_AN_INT_STATUS
	XPCS_TYPE_SEL_R
	XPCS_TYPE_SEL_W
	XPCS_RXAUI_MODE

If we remove the interface, functions it uses and all other macros
defined in sxgbe_xpcs header will also become useless. Thus, the whole
sxgbe_xpcs shebang should be all gone.

Julia Lawall observed:

"...  I was looking at dependencies between networking files.  This one
stands out because nothing is dependent[ ]on it, even the files it is
compiled with, and it doesn't contain the usual functions,
register_netdev, etc."

David Miller commented:

"There are no in-tree callers of this code.  It should be removed until
there are in-tree users.

Nobody can figure out if the interface for this is done properly without
seeing the call sites and how they work.  It is therefore impossible to
review this code and judge it[']s design."

Let's remove this unused code. As a matter of fact, it should not have
been merged in the first place.

Reported-by: Julia Lawall <julia.lawall@lip6.fr>
Signed-off-by: Jean Sacren <sakiwit@gmail.com>
Cc: Byungho An <bh74.an@samsung.com>
Cc: Girish K S <ks.giri@samsung.com>
---
We may use "--ignore FILE_PATH_CHANGES" to suppress checkpatch warning.

 drivers/net/ethernet/samsung/sxgbe/Makefile     |  2 +-
 drivers/net/ethernet/samsung/sxgbe/sxgbe_xpcs.c | 91 -------------------------
 drivers/net/ethernet/samsung/sxgbe/sxgbe_xpcs.h | 38 -----------
 3 files changed, 1 insertion(+), 130 deletions(-)
 delete mode 100644 drivers/net/ethernet/samsung/sxgbe/sxgbe_xpcs.c
 delete mode 100644 drivers/net/ethernet/samsung/sxgbe/sxgbe_xpcs.h

diff --git a/drivers/net/ethernet/samsung/sxgbe/Makefile b/drivers/net/ethernet/samsung/sxgbe/Makefile
index dcc80b9d4370..31e968561d5c 100644
--- a/drivers/net/ethernet/samsung/sxgbe/Makefile
+++ b/drivers/net/ethernet/samsung/sxgbe/Makefile
@@ -1,4 +1,4 @@
 obj-$(CONFIG_SXGBE_ETH) += samsung-sxgbe.o
 samsung-sxgbe-objs:= sxgbe_platform.o sxgbe_main.o sxgbe_desc.o \
 		sxgbe_dma.o sxgbe_core.o sxgbe_mtl.o  sxgbe_mdio.o \
-		sxgbe_ethtool.o sxgbe_xpcs.o $(samsung-sxgbe-y)
+		sxgbe_ethtool.o $(samsung-sxgbe-y)
diff --git a/drivers/net/ethernet/samsung/sxgbe/sxgbe_xpcs.c b/drivers/net/ethernet/samsung/sxgbe/sxgbe_xpcs.c
deleted file mode 100644
index 51c32194ba88..000000000000
--- a/drivers/net/ethernet/samsung/sxgbe/sxgbe_xpcs.c
+++ /dev/null
@@ -1,91 +0,0 @@
-/* 10G controller driver for Samsung SoCs
- *
- * Copyright (C) 2013 Samsung Electronics Co., Ltd.
- *		http://www.samsung.com
- *
- * Author: Siva Reddy Kallam <siva.kallam@samsung.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- */
-#include <linux/bitops.h>
-#include <linux/kernel.h>
-#include <linux/netdevice.h>
-#include <linux/phy.h>
-#include "sxgbe_common.h"
-#include "sxgbe_xpcs.h"
-
-static int sxgbe_xpcs_read(struct net_device *ndev, unsigned int reg)
-{
-	u32 value;
-	struct sxgbe_priv_data *priv = netdev_priv(ndev);
-
-	value = readl(priv->ioaddr + XPCS_OFFSET + reg);
-
-	return value;
-}
-
-static int sxgbe_xpcs_write(struct net_device *ndev, int reg, int data)
-{
-	struct sxgbe_priv_data *priv = netdev_priv(ndev);
-
-	writel(data, priv->ioaddr + XPCS_OFFSET + reg);
-
-	return 0;
-}
-
-int sxgbe_xpcs_init(struct net_device *ndev)
-{
-	u32 value;
-
-	value = sxgbe_xpcs_read(ndev, SR_PCS_MMD_CONTROL1);
-	/* 10G XAUI mode */
-	sxgbe_xpcs_write(ndev, SR_PCS_CONTROL2, XPCS_TYPE_SEL_X);
-	sxgbe_xpcs_write(ndev, VR_PCS_MMD_XAUI_MODE_CONTROL, XPCS_XAUI_MODE);
-	sxgbe_xpcs_write(ndev, VR_PCS_MMD_XAUI_MODE_CONTROL, value | BIT(13));
-	sxgbe_xpcs_write(ndev, SR_PCS_MMD_CONTROL1, value | BIT(11));
-
-	do {
-		value = sxgbe_xpcs_read(ndev, VR_PCS_MMD_DIGITAL_STATUS);
-	} while ((value & XPCS_QSEQ_STATE_MPLLOFF) == XPCS_QSEQ_STATE_STABLE);
-
-	value = sxgbe_xpcs_read(ndev, SR_PCS_MMD_CONTROL1);
-	sxgbe_xpcs_write(ndev, SR_PCS_MMD_CONTROL1, value & ~BIT(11));
-
-	do {
-		value = sxgbe_xpcs_read(ndev, VR_PCS_MMD_DIGITAL_STATUS);
-	} while ((value & XPCS_QSEQ_STATE_MPLLOFF) != XPCS_QSEQ_STATE_STABLE);
-
-	return 0;
-}
-
-int sxgbe_xpcs_init_1G(struct net_device *ndev)
-{
-	int value;
-
-	/* 10GBASE-X PCS (1G) mode */
-	sxgbe_xpcs_write(ndev, SR_PCS_CONTROL2, XPCS_TYPE_SEL_X);
-	sxgbe_xpcs_write(ndev, VR_PCS_MMD_XAUI_MODE_CONTROL, XPCS_XAUI_MODE);
-	value = sxgbe_xpcs_read(ndev, SR_PCS_MMD_CONTROL1);
-	sxgbe_xpcs_write(ndev, SR_PCS_MMD_CONTROL1, value & ~BIT(13));
-
-	value = sxgbe_xpcs_read(ndev, SR_MII_MMD_CONTROL);
-	sxgbe_xpcs_write(ndev, SR_MII_MMD_CONTROL, value | BIT(6));
-	sxgbe_xpcs_write(ndev, SR_MII_MMD_CONTROL, value & ~BIT(13));
-	value = sxgbe_xpcs_read(ndev, SR_PCS_MMD_CONTROL1);
-	sxgbe_xpcs_write(ndev, SR_PCS_MMD_CONTROL1, value | BIT(11));
-
-	do {
-		value = sxgbe_xpcs_read(ndev, VR_PCS_MMD_DIGITAL_STATUS);
-	} while ((value & XPCS_QSEQ_STATE_MPLLOFF) != XPCS_QSEQ_STATE_STABLE);
-
-	value = sxgbe_xpcs_read(ndev, SR_PCS_MMD_CONTROL1);
-	sxgbe_xpcs_write(ndev, SR_PCS_MMD_CONTROL1, value & ~BIT(11));
-
-	/* Auto Negotiation cluase 37 enable */
-	value = sxgbe_xpcs_read(ndev, SR_MII_MMD_CONTROL);
-	sxgbe_xpcs_write(ndev, SR_MII_MMD_CONTROL, value | BIT(12));
-
-	return 0;
-}
diff --git a/drivers/net/ethernet/samsung/sxgbe/sxgbe_xpcs.h b/drivers/net/ethernet/samsung/sxgbe/sxgbe_xpcs.h
deleted file mode 100644
index 6b26a50724d3..000000000000
--- a/drivers/net/ethernet/samsung/sxgbe/sxgbe_xpcs.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* 10G controller driver for Samsung SoCs
- *
- * Copyright (C) 2013 Samsung Electronics Co., Ltd.
- *		http://www.samsung.com
- *
- * Author: Byungho An <bh74.an@samsung.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- */
-#ifndef __SXGBE_XPCS_H__
-#define __SXGBE_XPCS_H__
-
-/* XPCS Registers */
-#define XPCS_OFFSET			0x1A060000
-#define SR_PCS_MMD_CONTROL1		0x030000
-#define SR_PCS_CONTROL2			0x030007
-#define VR_PCS_MMD_XAUI_MODE_CONTROL	0x038004
-#define VR_PCS_MMD_DIGITAL_STATUS	0x038010
-#define SR_MII_MMD_CONTROL		0x1F0000
-#define SR_MII_MMD_AN_ADV		0x1F0004
-#define SR_MII_MMD_AN_LINK_PARTNER_BA	0x1F0005
-#define VR_MII_MMD_AN_CONTROL		0x1F8001
-#define VR_MII_MMD_AN_INT_STATUS	0x1F8002
-
-#define XPCS_QSEQ_STATE_STABLE		0x10
-#define XPCS_QSEQ_STATE_MPLLOFF		0x1c
-#define XPCS_TYPE_SEL_R			0x00
-#define XPCS_TYPE_SEL_X			0x01
-#define XPCS_TYPE_SEL_W			0x02
-#define XPCS_XAUI_MODE			0x00
-#define XPCS_RXAUI_MODE			0x01
-
-int sxgbe_xpcs_init(struct net_device *ndev);
-int sxgbe_xpcs_init_1G(struct net_device *ndev);
-
-#endif /* __SXGBE_XPCS_H__ */

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH net-next] sxgbe: remove unused code
  2016-02-03 20:11 [PATCH net-next] sxgbe: remove unused code Jεan Sacren
@ 2016-02-03 21:49 ` Shuah Khan
  2016-02-10  3:47   ` [PATCH net-next v2] " Jεan Sacren
  0 siblings, 1 reply; 4+ messages in thread
From: Shuah Khan @ 2016-02-03 21:49 UTC (permalink / raw)
  To: Jεan Sacren, davem
  Cc: netdev, shuahkhan, julia.lawall, Byungho An, Girish K S, Shuah Khan

On 02/03/2016 01:11 PM, Jεan Sacren wrote:
> From: Jean Sacren <sakiwit@gmail.com>
> 
> With the introduction of this commit 1edb9ca69e8a
> ("net: sxgbe: add basic framework for Samsung 10Gb ethernet driver"),
> the following interface was added:
> 
> 	int sxgbe_xpcs_init(struct net_device *ndev);
> 	int sxgbe_xpcs_init_1G(struct net_device *ndev);
> 
> But those two functions have never been used since the inception.
> 
> In addition to the interface, the following macros are defined in
> sxgbe_xpcs header but not used:
> 
> 	SR_MII_MMD_AN_ADV
> 	SR_MII_MMD_AN_LINK_PARTNER_BA
> 	VR_MII_MMD_AN_CONTROL
> 	VR_MII_MMD_AN_INT_STATUS
> 	XPCS_TYPE_SEL_R
> 	XPCS_TYPE_SEL_W
> 	XPCS_RXAUI_MODE
> 
> If we remove the interface, functions it uses and all other macros
> defined in sxgbe_xpcs header will also become useless. Thus, the whole
> sxgbe_xpcs shebang should be all gone.
> 
> Julia Lawall observed:
> 
> "...  I was looking at dependencies between networking files.  This one
> stands out because nothing is dependent[ ]on it, even the files it is
> compiled with, and it doesn't contain the usual functions,
> register_netdev, etc."
> 
> David Miller commented:
> 
> "There are no in-tree callers of this code.  It should be removed until
> there are in-tree users.
> 
> Nobody can figure out if the interface for this is done properly without
> seeing the call sites and how they work.  It is therefore impossible to
> review this code and judge it[']s design."
> 
> Let's remove this unused code. As a matter of fact, it should not have
> been merged in the first place.

ok - I don't think all of this belongs in the change log.
You can just say - "removing unused code" include a link
a to the discussion - could also add Suggested-by tag for
David Miller

thanks,
-- Shuah
> 
> Reported-by: Julia Lawall <julia.lawall@lip6.fr>
> Signed-off-by: Jean Sacren <sakiwit@gmail.com>
> Cc: Byungho An <bh74.an@samsung.com>
> Cc: Girish K S <ks.giri@samsung.com>
> ---
> We may use "--ignore FILE_PATH_CHANGES" to suppress checkpatch warning.
> 
>  drivers/net/ethernet/samsung/sxgbe/Makefile     |  2 +-
>  drivers/net/ethernet/samsung/sxgbe/sxgbe_xpcs.c | 91 -------------------------
>  drivers/net/ethernet/samsung/sxgbe/sxgbe_xpcs.h | 38 -----------
>  3 files changed, 1 insertion(+), 130 deletions(-)
>  delete mode 100644 drivers/net/ethernet/samsung/sxgbe/sxgbe_xpcs.c
>  delete mode 100644 drivers/net/ethernet/samsung/sxgbe/sxgbe_xpcs.h
> 
> diff --git a/drivers/net/ethernet/samsung/sxgbe/Makefile b/drivers/net/ethernet/samsung/sxgbe/Makefile
> index dcc80b9d4370..31e968561d5c 100644
> --- a/drivers/net/ethernet/samsung/sxgbe/Makefile
> +++ b/drivers/net/ethernet/samsung/sxgbe/Makefile
> @@ -1,4 +1,4 @@
>  obj-$(CONFIG_SXGBE_ETH) += samsung-sxgbe.o
>  samsung-sxgbe-objs:= sxgbe_platform.o sxgbe_main.o sxgbe_desc.o \
>  		sxgbe_dma.o sxgbe_core.o sxgbe_mtl.o  sxgbe_mdio.o \
> -		sxgbe_ethtool.o sxgbe_xpcs.o $(samsung-sxgbe-y)
> +		sxgbe_ethtool.o $(samsung-sxgbe-y)
> diff --git a/drivers/net/ethernet/samsung/sxgbe/sxgbe_xpcs.c b/drivers/net/ethernet/samsung/sxgbe/sxgbe_xpcs.c
> deleted file mode 100644
> index 51c32194ba88..000000000000
> --- a/drivers/net/ethernet/samsung/sxgbe/sxgbe_xpcs.c
> +++ /dev/null
> @@ -1,91 +0,0 @@
> -/* 10G controller driver for Samsung SoCs
> - *
> - * Copyright (C) 2013 Samsung Electronics Co., Ltd.
> - *		http://www.samsung.com
> - *
> - * Author: Siva Reddy Kallam <siva.kallam@samsung.com>
> - *
> - * This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License version 2 as
> - * published by the Free Software Foundation.
> - */
> -#include <linux/bitops.h>
> -#include <linux/kernel.h>
> -#include <linux/netdevice.h>
> -#include <linux/phy.h>
> -#include "sxgbe_common.h"
> -#include "sxgbe_xpcs.h"
> -
> -static int sxgbe_xpcs_read(struct net_device *ndev, unsigned int reg)
> -{
> -	u32 value;
> -	struct sxgbe_priv_data *priv = netdev_priv(ndev);
> -
> -	value = readl(priv->ioaddr + XPCS_OFFSET + reg);
> -
> -	return value;
> -}
> -
> -static int sxgbe_xpcs_write(struct net_device *ndev, int reg, int data)
> -{
> -	struct sxgbe_priv_data *priv = netdev_priv(ndev);
> -
> -	writel(data, priv->ioaddr + XPCS_OFFSET + reg);
> -
> -	return 0;
> -}
> -
> -int sxgbe_xpcs_init(struct net_device *ndev)
> -{
> -	u32 value;
> -
> -	value = sxgbe_xpcs_read(ndev, SR_PCS_MMD_CONTROL1);
> -	/* 10G XAUI mode */
> -	sxgbe_xpcs_write(ndev, SR_PCS_CONTROL2, XPCS_TYPE_SEL_X);
> -	sxgbe_xpcs_write(ndev, VR_PCS_MMD_XAUI_MODE_CONTROL, XPCS_XAUI_MODE);
> -	sxgbe_xpcs_write(ndev, VR_PCS_MMD_XAUI_MODE_CONTROL, value | BIT(13));
> -	sxgbe_xpcs_write(ndev, SR_PCS_MMD_CONTROL1, value | BIT(11));
> -
> -	do {
> -		value = sxgbe_xpcs_read(ndev, VR_PCS_MMD_DIGITAL_STATUS);
> -	} while ((value & XPCS_QSEQ_STATE_MPLLOFF) == XPCS_QSEQ_STATE_STABLE);
> -
> -	value = sxgbe_xpcs_read(ndev, SR_PCS_MMD_CONTROL1);
> -	sxgbe_xpcs_write(ndev, SR_PCS_MMD_CONTROL1, value & ~BIT(11));
> -
> -	do {
> -		value = sxgbe_xpcs_read(ndev, VR_PCS_MMD_DIGITAL_STATUS);
> -	} while ((value & XPCS_QSEQ_STATE_MPLLOFF) != XPCS_QSEQ_STATE_STABLE);
> -
> -	return 0;
> -}
> -
> -int sxgbe_xpcs_init_1G(struct net_device *ndev)
> -{
> -	int value;
> -
> -	/* 10GBASE-X PCS (1G) mode */
> -	sxgbe_xpcs_write(ndev, SR_PCS_CONTROL2, XPCS_TYPE_SEL_X);
> -	sxgbe_xpcs_write(ndev, VR_PCS_MMD_XAUI_MODE_CONTROL, XPCS_XAUI_MODE);
> -	value = sxgbe_xpcs_read(ndev, SR_PCS_MMD_CONTROL1);
> -	sxgbe_xpcs_write(ndev, SR_PCS_MMD_CONTROL1, value & ~BIT(13));
> -
> -	value = sxgbe_xpcs_read(ndev, SR_MII_MMD_CONTROL);
> -	sxgbe_xpcs_write(ndev, SR_MII_MMD_CONTROL, value | BIT(6));
> -	sxgbe_xpcs_write(ndev, SR_MII_MMD_CONTROL, value & ~BIT(13));
> -	value = sxgbe_xpcs_read(ndev, SR_PCS_MMD_CONTROL1);
> -	sxgbe_xpcs_write(ndev, SR_PCS_MMD_CONTROL1, value | BIT(11));
> -
> -	do {
> -		value = sxgbe_xpcs_read(ndev, VR_PCS_MMD_DIGITAL_STATUS);
> -	} while ((value & XPCS_QSEQ_STATE_MPLLOFF) != XPCS_QSEQ_STATE_STABLE);
> -
> -	value = sxgbe_xpcs_read(ndev, SR_PCS_MMD_CONTROL1);
> -	sxgbe_xpcs_write(ndev, SR_PCS_MMD_CONTROL1, value & ~BIT(11));
> -
> -	/* Auto Negotiation cluase 37 enable */
> -	value = sxgbe_xpcs_read(ndev, SR_MII_MMD_CONTROL);
> -	sxgbe_xpcs_write(ndev, SR_MII_MMD_CONTROL, value | BIT(12));
> -
> -	return 0;
> -}
> diff --git a/drivers/net/ethernet/samsung/sxgbe/sxgbe_xpcs.h b/drivers/net/ethernet/samsung/sxgbe/sxgbe_xpcs.h
> deleted file mode 100644
> index 6b26a50724d3..000000000000
> --- a/drivers/net/ethernet/samsung/sxgbe/sxgbe_xpcs.h
> +++ /dev/null
> @@ -1,38 +0,0 @@
> -/* 10G controller driver for Samsung SoCs
> - *
> - * Copyright (C) 2013 Samsung Electronics Co., Ltd.
> - *		http://www.samsung.com
> - *
> - * Author: Byungho An <bh74.an@samsung.com>
> - *
> - * This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License version 2 as
> - * published by the Free Software Foundation.
> - */
> -#ifndef __SXGBE_XPCS_H__
> -#define __SXGBE_XPCS_H__
> -
> -/* XPCS Registers */
> -#define XPCS_OFFSET			0x1A060000
> -#define SR_PCS_MMD_CONTROL1		0x030000
> -#define SR_PCS_CONTROL2			0x030007
> -#define VR_PCS_MMD_XAUI_MODE_CONTROL	0x038004
> -#define VR_PCS_MMD_DIGITAL_STATUS	0x038010
> -#define SR_MII_MMD_CONTROL		0x1F0000
> -#define SR_MII_MMD_AN_ADV		0x1F0004
> -#define SR_MII_MMD_AN_LINK_PARTNER_BA	0x1F0005
> -#define VR_MII_MMD_AN_CONTROL		0x1F8001
> -#define VR_MII_MMD_AN_INT_STATUS	0x1F8002
> -
> -#define XPCS_QSEQ_STATE_STABLE		0x10
> -#define XPCS_QSEQ_STATE_MPLLOFF		0x1c
> -#define XPCS_TYPE_SEL_R			0x00
> -#define XPCS_TYPE_SEL_X			0x01
> -#define XPCS_TYPE_SEL_W			0x02
> -#define XPCS_XAUI_MODE			0x00
> -#define XPCS_RXAUI_MODE			0x01
> -
> -int sxgbe_xpcs_init(struct net_device *ndev);
> -int sxgbe_xpcs_init_1G(struct net_device *ndev);
> -
> -#endif /* __SXGBE_XPCS_H__ */
> 


-- 
Shuah Khan
Sr. Linux Kernel Developer
Open Source Innovation Group
Samsung Research America (Silicon Valley)
shuahkh@osg.samsung.com | (970) 217-8978

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH net-next v2] sxgbe: remove unused code
  2016-02-03 21:49 ` Shuah Khan
@ 2016-02-10  3:47   ` Jεan Sacren
  2016-02-10 11:10     ` David Miller
  0 siblings, 1 reply; 4+ messages in thread
From: Jεan Sacren @ 2016-02-10  3:47 UTC (permalink / raw)
  To: davem; +Cc: netdev, shuahkh, shuahkhan, julia.lawall, Byungho An, Girish K S

From: Jean Sacren <sakiwit@gmail.com>

Remove the unused code of sxgbe_xpcs.

Reported-by: Julia Lawall <julia.lawall@lip6.fr>
Suggested-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jean Sacren <sakiwit@gmail.com>
Cc: Byungho An <bh74.an@samsung.com>
Cc: Girish K S <ks.giri@samsung.com>
Link: http://lkml.kernel.org/r/alpine.DEB.2.10.1601191918470.2531@hadrien
---
v2:
Rewrite the changelog per request by Shuah Khan. Add Suggested-by and
Link tags as well.

v1:
We may use "--ignore FILE_PATH_CHANGES" to suppress checkpatch warning.

 drivers/net/ethernet/samsung/sxgbe/Makefile     |  2 +-
 drivers/net/ethernet/samsung/sxgbe/sxgbe_xpcs.c | 91 -------------------------
 drivers/net/ethernet/samsung/sxgbe/sxgbe_xpcs.h | 38 -----------
 3 files changed, 1 insertion(+), 130 deletions(-)
 delete mode 100644 drivers/net/ethernet/samsung/sxgbe/sxgbe_xpcs.c
 delete mode 100644 drivers/net/ethernet/samsung/sxgbe/sxgbe_xpcs.h

diff --git a/drivers/net/ethernet/samsung/sxgbe/Makefile b/drivers/net/ethernet/samsung/sxgbe/Makefile
index dcc80b9d4370..31e968561d5c 100644
--- a/drivers/net/ethernet/samsung/sxgbe/Makefile
+++ b/drivers/net/ethernet/samsung/sxgbe/Makefile
@@ -1,4 +1,4 @@
 obj-$(CONFIG_SXGBE_ETH) += samsung-sxgbe.o
 samsung-sxgbe-objs:= sxgbe_platform.o sxgbe_main.o sxgbe_desc.o \
 		sxgbe_dma.o sxgbe_core.o sxgbe_mtl.o  sxgbe_mdio.o \
-		sxgbe_ethtool.o sxgbe_xpcs.o $(samsung-sxgbe-y)
+		sxgbe_ethtool.o $(samsung-sxgbe-y)
diff --git a/drivers/net/ethernet/samsung/sxgbe/sxgbe_xpcs.c b/drivers/net/ethernet/samsung/sxgbe/sxgbe_xpcs.c
deleted file mode 100644
index 51c32194ba88..000000000000
--- a/drivers/net/ethernet/samsung/sxgbe/sxgbe_xpcs.c
+++ /dev/null
@@ -1,91 +0,0 @@
-/* 10G controller driver for Samsung SoCs
- *
- * Copyright (C) 2013 Samsung Electronics Co., Ltd.
- *		http://www.samsung.com
- *
- * Author: Siva Reddy Kallam <siva.kallam@samsung.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- */
-#include <linux/bitops.h>
-#include <linux/kernel.h>
-#include <linux/netdevice.h>
-#include <linux/phy.h>
-#include "sxgbe_common.h"
-#include "sxgbe_xpcs.h"
-
-static int sxgbe_xpcs_read(struct net_device *ndev, unsigned int reg)
-{
-	u32 value;
-	struct sxgbe_priv_data *priv = netdev_priv(ndev);
-
-	value = readl(priv->ioaddr + XPCS_OFFSET + reg);
-
-	return value;
-}
-
-static int sxgbe_xpcs_write(struct net_device *ndev, int reg, int data)
-{
-	struct sxgbe_priv_data *priv = netdev_priv(ndev);
-
-	writel(data, priv->ioaddr + XPCS_OFFSET + reg);
-
-	return 0;
-}
-
-int sxgbe_xpcs_init(struct net_device *ndev)
-{
-	u32 value;
-
-	value = sxgbe_xpcs_read(ndev, SR_PCS_MMD_CONTROL1);
-	/* 10G XAUI mode */
-	sxgbe_xpcs_write(ndev, SR_PCS_CONTROL2, XPCS_TYPE_SEL_X);
-	sxgbe_xpcs_write(ndev, VR_PCS_MMD_XAUI_MODE_CONTROL, XPCS_XAUI_MODE);
-	sxgbe_xpcs_write(ndev, VR_PCS_MMD_XAUI_MODE_CONTROL, value | BIT(13));
-	sxgbe_xpcs_write(ndev, SR_PCS_MMD_CONTROL1, value | BIT(11));
-
-	do {
-		value = sxgbe_xpcs_read(ndev, VR_PCS_MMD_DIGITAL_STATUS);
-	} while ((value & XPCS_QSEQ_STATE_MPLLOFF) == XPCS_QSEQ_STATE_STABLE);
-
-	value = sxgbe_xpcs_read(ndev, SR_PCS_MMD_CONTROL1);
-	sxgbe_xpcs_write(ndev, SR_PCS_MMD_CONTROL1, value & ~BIT(11));
-
-	do {
-		value = sxgbe_xpcs_read(ndev, VR_PCS_MMD_DIGITAL_STATUS);
-	} while ((value & XPCS_QSEQ_STATE_MPLLOFF) != XPCS_QSEQ_STATE_STABLE);
-
-	return 0;
-}
-
-int sxgbe_xpcs_init_1G(struct net_device *ndev)
-{
-	int value;
-
-	/* 10GBASE-X PCS (1G) mode */
-	sxgbe_xpcs_write(ndev, SR_PCS_CONTROL2, XPCS_TYPE_SEL_X);
-	sxgbe_xpcs_write(ndev, VR_PCS_MMD_XAUI_MODE_CONTROL, XPCS_XAUI_MODE);
-	value = sxgbe_xpcs_read(ndev, SR_PCS_MMD_CONTROL1);
-	sxgbe_xpcs_write(ndev, SR_PCS_MMD_CONTROL1, value & ~BIT(13));
-
-	value = sxgbe_xpcs_read(ndev, SR_MII_MMD_CONTROL);
-	sxgbe_xpcs_write(ndev, SR_MII_MMD_CONTROL, value | BIT(6));
-	sxgbe_xpcs_write(ndev, SR_MII_MMD_CONTROL, value & ~BIT(13));
-	value = sxgbe_xpcs_read(ndev, SR_PCS_MMD_CONTROL1);
-	sxgbe_xpcs_write(ndev, SR_PCS_MMD_CONTROL1, value | BIT(11));
-
-	do {
-		value = sxgbe_xpcs_read(ndev, VR_PCS_MMD_DIGITAL_STATUS);
-	} while ((value & XPCS_QSEQ_STATE_MPLLOFF) != XPCS_QSEQ_STATE_STABLE);
-
-	value = sxgbe_xpcs_read(ndev, SR_PCS_MMD_CONTROL1);
-	sxgbe_xpcs_write(ndev, SR_PCS_MMD_CONTROL1, value & ~BIT(11));
-
-	/* Auto Negotiation cluase 37 enable */
-	value = sxgbe_xpcs_read(ndev, SR_MII_MMD_CONTROL);
-	sxgbe_xpcs_write(ndev, SR_MII_MMD_CONTROL, value | BIT(12));
-
-	return 0;
-}
diff --git a/drivers/net/ethernet/samsung/sxgbe/sxgbe_xpcs.h b/drivers/net/ethernet/samsung/sxgbe/sxgbe_xpcs.h
deleted file mode 100644
index 6b26a50724d3..000000000000
--- a/drivers/net/ethernet/samsung/sxgbe/sxgbe_xpcs.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* 10G controller driver for Samsung SoCs
- *
- * Copyright (C) 2013 Samsung Electronics Co., Ltd.
- *		http://www.samsung.com
- *
- * Author: Byungho An <bh74.an@samsung.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- */
-#ifndef __SXGBE_XPCS_H__
-#define __SXGBE_XPCS_H__
-
-/* XPCS Registers */
-#define XPCS_OFFSET			0x1A060000
-#define SR_PCS_MMD_CONTROL1		0x030000
-#define SR_PCS_CONTROL2			0x030007
-#define VR_PCS_MMD_XAUI_MODE_CONTROL	0x038004
-#define VR_PCS_MMD_DIGITAL_STATUS	0x038010
-#define SR_MII_MMD_CONTROL		0x1F0000
-#define SR_MII_MMD_AN_ADV		0x1F0004
-#define SR_MII_MMD_AN_LINK_PARTNER_BA	0x1F0005
-#define VR_MII_MMD_AN_CONTROL		0x1F8001
-#define VR_MII_MMD_AN_INT_STATUS	0x1F8002
-
-#define XPCS_QSEQ_STATE_STABLE		0x10
-#define XPCS_QSEQ_STATE_MPLLOFF		0x1c
-#define XPCS_TYPE_SEL_R			0x00
-#define XPCS_TYPE_SEL_X			0x01
-#define XPCS_TYPE_SEL_W			0x02
-#define XPCS_XAUI_MODE			0x00
-#define XPCS_RXAUI_MODE			0x01
-
-int sxgbe_xpcs_init(struct net_device *ndev);
-int sxgbe_xpcs_init_1G(struct net_device *ndev);
-
-#endif /* __SXGBE_XPCS_H__ */

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH net-next v2] sxgbe: remove unused code
  2016-02-10  3:47   ` [PATCH net-next v2] " Jεan Sacren
@ 2016-02-10 11:10     ` David Miller
  0 siblings, 0 replies; 4+ messages in thread
From: David Miller @ 2016-02-10 11:10 UTC (permalink / raw)
  To: sakiwit; +Cc: netdev, shuahkh, shuahkhan, julia.lawall, bh74.an, ks.giri

From: Jεan Sacren <sakiwit@gmail.com>
Date: Tue,  9 Feb 2016 20:47:17 -0700

> From: Jean Sacren <sakiwit@gmail.com>
> 
> Remove the unused code of sxgbe_xpcs.
> 
> Reported-by: Julia Lawall <julia.lawall@lip6.fr>
> Suggested-by: David S. Miller <davem@davemloft.net>
> Signed-off-by: Jean Sacren <sakiwit@gmail.com>
> Cc: Byungho An <bh74.an@samsung.com>
> Cc: Girish K S <ks.giri@samsung.com>
> Link: http://lkml.kernel.org/r/alpine.DEB.2.10.1601191918470.2531@hadrien

Applied, thanks.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-02-10 11:10 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-02-03 20:11 [PATCH net-next] sxgbe: remove unused code Jεan Sacren
2016-02-03 21:49 ` Shuah Khan
2016-02-10  3:47   ` [PATCH net-next v2] " Jεan Sacren
2016-02-10 11:10     ` David Miller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.