All of lore.kernel.org
 help / color / mirror / Atom feed
From: Corentin Labbe <clabbe.montjoie@gmail.com>
To: robh+dt@kernel.org, mark.rutland@arm.com,
	maxime.ripard@free-electrons.com, wens@csie.org,
	linux@armlinux.org.uk, catalin.marinas@arm.com,
	will.deacon@arm.com, peppe.cavallaro@st.com,
	alexandre.torgue@st.com
Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-sunxi@googlegroups.com,
	Corentin Labbe <clabbe.montjoie@gmail.com>
Subject: [PATCH v6 02/21] net-next: stmmac: add optional setup function
Date: Wed, 31 May 2017 09:18:33 +0200	[thread overview]
Message-ID: <20170531071852.12422-3-clabbe.montjoie@gmail.com> (raw)
In-Reply-To: <20170531071852.12422-1-clabbe.montjoie@gmail.com>

Instead of adding more ifthen logic for adding a new mac_device_info
setup function, it is easier to add a function pointer to the function
needed.

Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
---
 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 4 +++-
 include/linux/stmmac.h                            | 1 +
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
index f158273eab9b..c80c9c3b67db 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
@@ -3933,7 +3933,9 @@ static int stmmac_hw_init(struct stmmac_priv *priv)
 	struct mac_device_info *mac;
 
 	/* Identify the MAC HW device */
-	if (priv->plat->has_gmac) {
+	if (priv->plat->setup) {
+		mac = priv->plat->setup(priv);
+	} else if (priv->plat->has_gmac) {
 		priv->dev->priv_flags |= IFF_UNICAST_FLT;
 		mac = dwmac1000_setup(priv->ioaddr,
 				      priv->plat->multicast_filter_bins,
diff --git a/include/linux/stmmac.h b/include/linux/stmmac.h
index 3921cb9dfadb..8bb550bca96d 100644
--- a/include/linux/stmmac.h
+++ b/include/linux/stmmac.h
@@ -177,6 +177,7 @@ struct plat_stmmacenet_data {
 	void (*fix_mac_speed)(void *priv, unsigned int speed);
 	int (*init)(struct platform_device *pdev, void *priv);
 	void (*exit)(struct platform_device *pdev, void *priv);
+	struct mac_device_info *(*setup)(void *priv);
 	void *bsp_priv;
 	struct clk *stmmac_clk;
 	struct clk *pclk;
-- 
2.13.0

WARNING: multiple messages have this Message-ID (diff)
From: Corentin Labbe <clabbe.montjoie-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	mark.rutland-5wv7dgnIgG8@public.gmane.org,
	maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org,
	wens-jdAy2FN1RRM@public.gmane.org,
	linux-I+IVW8TIWO2tmTQ+vhA3Yw@public.gmane.org,
	catalin.marinas-5wv7dgnIgG8@public.gmane.org,
	will.deacon-5wv7dgnIgG8@public.gmane.org,
	peppe.cavallaro-qxv4g6HH51o@public.gmane.org,
	alexandre.torgue-qxv4g6HH51o@public.gmane.org
Cc: devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org,
	Corentin Labbe
	<clabbe.montjoie-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Subject: [PATCH v6 02/21] net-next: stmmac: add optional setup function
Date: Wed, 31 May 2017 09:18:33 +0200	[thread overview]
Message-ID: <20170531071852.12422-3-clabbe.montjoie@gmail.com> (raw)
In-Reply-To: <20170531071852.12422-1-clabbe.montjoie-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>

Instead of adding more ifthen logic for adding a new mac_device_info
setup function, it is easier to add a function pointer to the function
needed.

Signed-off-by: Corentin Labbe <clabbe.montjoie-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
---
 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 4 +++-
 include/linux/stmmac.h                            | 1 +
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
index f158273eab9b..c80c9c3b67db 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
@@ -3933,7 +3933,9 @@ static int stmmac_hw_init(struct stmmac_priv *priv)
 	struct mac_device_info *mac;
 
 	/* Identify the MAC HW device */
-	if (priv->plat->has_gmac) {
+	if (priv->plat->setup) {
+		mac = priv->plat->setup(priv);
+	} else if (priv->plat->has_gmac) {
 		priv->dev->priv_flags |= IFF_UNICAST_FLT;
 		mac = dwmac1000_setup(priv->ioaddr,
 				      priv->plat->multicast_filter_bins,
diff --git a/include/linux/stmmac.h b/include/linux/stmmac.h
index 3921cb9dfadb..8bb550bca96d 100644
--- a/include/linux/stmmac.h
+++ b/include/linux/stmmac.h
@@ -177,6 +177,7 @@ struct plat_stmmacenet_data {
 	void (*fix_mac_speed)(void *priv, unsigned int speed);
 	int (*init)(struct platform_device *pdev, void *priv);
 	void (*exit)(struct platform_device *pdev, void *priv);
+	struct mac_device_info *(*setup)(void *priv);
 	void *bsp_priv;
 	struct clk *stmmac_clk;
 	struct clk *pclk;
-- 
2.13.0

WARNING: multiple messages have this Message-ID (diff)
From: clabbe.montjoie@gmail.com (Corentin Labbe)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v6 02/21] net-next: stmmac: add optional setup function
Date: Wed, 31 May 2017 09:18:33 +0200	[thread overview]
Message-ID: <20170531071852.12422-3-clabbe.montjoie@gmail.com> (raw)
In-Reply-To: <20170531071852.12422-1-clabbe.montjoie@gmail.com>

Instead of adding more ifthen logic for adding a new mac_device_info
setup function, it is easier to add a function pointer to the function
needed.

Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
---
 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 4 +++-
 include/linux/stmmac.h                            | 1 +
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
index f158273eab9b..c80c9c3b67db 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
@@ -3933,7 +3933,9 @@ static int stmmac_hw_init(struct stmmac_priv *priv)
 	struct mac_device_info *mac;
 
 	/* Identify the MAC HW device */
-	if (priv->plat->has_gmac) {
+	if (priv->plat->setup) {
+		mac = priv->plat->setup(priv);
+	} else if (priv->plat->has_gmac) {
 		priv->dev->priv_flags |= IFF_UNICAST_FLT;
 		mac = dwmac1000_setup(priv->ioaddr,
 				      priv->plat->multicast_filter_bins,
diff --git a/include/linux/stmmac.h b/include/linux/stmmac.h
index 3921cb9dfadb..8bb550bca96d 100644
--- a/include/linux/stmmac.h
+++ b/include/linux/stmmac.h
@@ -177,6 +177,7 @@ struct plat_stmmacenet_data {
 	void (*fix_mac_speed)(void *priv, unsigned int speed);
 	int (*init)(struct platform_device *pdev, void *priv);
 	void (*exit)(struct platform_device *pdev, void *priv);
+	struct mac_device_info *(*setup)(void *priv);
 	void *bsp_priv;
 	struct clk *stmmac_clk;
 	struct clk *pclk;
-- 
2.13.0

  parent reply	other threads:[~2017-05-31  7:29 UTC|newest]

Thread overview: 148+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-31  7:18 [PATCH v6 00/21] net-next: stmmac: add dwmac-sun8i ethernet driver Corentin Labbe
2017-05-31  7:18 ` Corentin Labbe
2017-05-31  7:18 ` Corentin Labbe
2017-05-31  7:18 ` [PATCH v6 01/21] net-next: stmmac: export stmmac_set_mac_addr/stmmac_get_mac_addr Corentin Labbe
2017-05-31  7:18   ` Corentin Labbe
2017-05-31  7:18   ` Corentin Labbe
2017-05-31  7:18 ` Corentin Labbe [this message]
2017-05-31  7:18   ` [PATCH v6 02/21] net-next: stmmac: add optional setup function Corentin Labbe
2017-05-31  7:18   ` Corentin Labbe
2017-05-31  7:18 ` [PATCH v6 03/21] dt-bindings: net-next: Add DT bindings documentation for Allwinner dwmac-sun8i Corentin Labbe
2017-05-31  7:18   ` Corentin Labbe
2017-05-31  7:18   ` Corentin Labbe
2017-05-31  7:18 ` [PATCH v6 04/21] dt-bindings: syscon: Add DT bindings documentation for Allwinner syscon Corentin Labbe
2017-05-31  7:18   ` Corentin Labbe
2017-05-31  7:18   ` Corentin Labbe
2017-05-31  7:18 ` [PATCH v6 05/21] net-next: stmmac: Add dwmac-sun8i Corentin Labbe
2017-05-31  7:18   ` Corentin Labbe
2017-05-31  7:18   ` Corentin Labbe
2017-06-26  0:18   ` André Przywara
2017-06-26  0:18     ` André Przywara
2017-06-26  0:18     ` André Przywara
2017-06-27  8:05     ` Corentin Labbe
2017-06-27  8:05       ` Corentin Labbe
2017-06-27  8:05       ` Corentin Labbe
2017-06-27  8:11       ` Chen-Yu Tsai
2017-06-27  8:11         ` Chen-Yu Tsai
2017-06-27  8:11         ` Chen-Yu Tsai
2017-06-27  8:21         ` Corentin Labbe
2017-06-27  8:21           ` Corentin Labbe
2017-06-27  8:21           ` Corentin Labbe
2017-06-27  9:02           ` Andre Przywara
2017-06-27  9:02             ` Andre Przywara
2017-06-27  9:02             ` Andre Przywara
2017-06-27  9:41             ` Maxime Ripard
2017-06-27  9:41               ` Maxime Ripard
2017-06-27  9:41               ` Maxime Ripard
2017-06-27 10:11               ` Chen-Yu Tsai
2017-06-27 10:11                 ` Chen-Yu Tsai
2017-06-27 10:11                 ` Chen-Yu Tsai
2017-06-27 10:17                 ` [linux-sunxi] " Icenowy Zheng
2017-06-27 10:17                   ` Icenowy Zheng
2017-06-27 10:17                   ` Icenowy Zheng
2017-06-27 10:20                   ` Chen-Yu Tsai
2017-06-27 10:20                     ` Chen-Yu Tsai
2017-06-27 10:20                     ` Chen-Yu Tsai
2017-06-27 10:15               ` Andre Przywara
2017-06-27 10:15                 ` Andre Przywara
2017-06-27 10:22                 ` Chen-Yu Tsai
2017-06-27 10:22                   ` Chen-Yu Tsai
2017-06-27 10:22                   ` Chen-Yu Tsai
2017-06-27 10:23                 ` Icenowy Zheng
2017-06-27 10:23                   ` Icenowy Zheng
2017-06-27 10:23                   ` Icenowy Zheng
2017-06-27 10:33                   ` Andre Przywara
2017-06-27 10:33                     ` Andre Przywara
2017-06-27 12:37                     ` Corentin Labbe
2017-06-27 12:37                       ` Corentin Labbe
2017-06-27 12:37                       ` Corentin Labbe
2017-06-27 17:29                       ` Maxime Ripard
2017-06-27 17:29                         ` Maxime Ripard
2017-06-27 17:29                         ` Maxime Ripard
2017-06-27 17:37                         ` Corentin Labbe
2017-06-27 17:37                           ` Corentin Labbe
2017-06-27 17:37                           ` Corentin Labbe
2017-06-27 17:37                         ` Florian Fainelli
2017-06-27 17:37                           ` Florian Fainelli
2017-06-27 17:37                           ` Florian Fainelli
2017-07-01  6:53                           ` Corentin Labbe
2017-07-01  6:53                             ` Corentin Labbe
2017-07-01  6:53                             ` Corentin Labbe
2017-07-01 21:42                             ` Florian Fainelli
2017-07-01 21:42                               ` Florian Fainelli
2017-07-01 21:42                               ` Florian Fainelli
2017-07-02  8:36                               ` Corentin Labbe
2017-07-02  8:36                                 ` Corentin Labbe
2017-07-02  8:36                                 ` Corentin Labbe
2017-06-27 16:00                     ` Maxime Ripard
2017-06-27 16:00                       ` Maxime Ripard
2017-06-27 16:00                       ` Maxime Ripard
2017-05-31  7:18 ` [PATCH v6 06/21] arm: sun8i: sunxi-h3-h5: Add dt node for the syscon control module Corentin Labbe
2017-05-31  7:18   ` Corentin Labbe
2017-05-31  7:18   ` Corentin Labbe
2017-05-31  7:18 ` [PATCH v6 07/21] arm: sun8i: sunxi-h3-h5: add dwmac-sun8i ethernet driver Corentin Labbe
2017-05-31  7:18   ` Corentin Labbe
2017-05-31  7:18   ` Corentin Labbe
2017-05-31  7:18 ` [PATCH v6 08/21] arm: sun8i: orangepi-pc: Enable dwmac-sun8i Corentin Labbe
2017-05-31  7:18   ` Corentin Labbe
2017-05-31  7:18   ` Corentin Labbe
2017-05-31  7:18 ` [PATCH v6 09/21] arm: sun8i: orangepi-zero: " Corentin Labbe
2017-05-31  7:18   ` Corentin Labbe
2017-05-31  7:18   ` Corentin Labbe
2017-05-31  7:18 ` [PATCH v6 10/21] arm: sun8i: orangepi-one: " Corentin Labbe
2017-05-31  7:18   ` Corentin Labbe
2017-05-31  7:18   ` Corentin Labbe
2017-05-31  7:18 ` [PATCH v6 11/21] arm: sun8i: orangepi-2: " Corentin Labbe
2017-05-31  7:18   ` Corentin Labbe
2017-05-31  7:18   ` Corentin Labbe
2017-05-31  7:18 ` [PATCH v6 12/21] arm: sun8i: orangepi-pc-plus: Set EMAC activity LEDs to active high Corentin Labbe
2017-05-31  7:18   ` Corentin Labbe
2017-05-31  7:18   ` Corentin Labbe
2017-05-31  7:18 ` [PATCH v6 13/21] arm: sun8i: nanopi-neo: Enable dwmac-sun8i Corentin Labbe
2017-05-31  7:18   ` Corentin Labbe
2017-05-31  7:18   ` Corentin Labbe
2017-05-31  7:18 ` [PATCH v6 14/21] arm64: allwinner: sun50i-a64: Add dt node for the syscon control module Corentin Labbe
2017-05-31  7:18   ` Corentin Labbe
2017-05-31  7:18   ` Corentin Labbe
2017-05-31  7:18 ` [PATCH v6 15/21] arm64: allwinner: sun50i-a64: add dwmac-sun8i Ethernet driver Corentin Labbe
2017-05-31  7:18   ` Corentin Labbe
2017-05-31  7:18   ` Corentin Labbe
2017-05-31  7:18 ` [PATCH v6 16/21] arm64: allwinner: pine64: Enable dwmac-sun8i Corentin Labbe
2017-05-31  7:18   ` Corentin Labbe
2017-05-31  7:18   ` Corentin Labbe
2017-05-31  7:18 ` [PATCH v6 17/21] arm64: allwinner: pine64-plus: " Corentin Labbe
2017-05-31  7:18   ` Corentin Labbe
2017-05-31  7:18   ` Corentin Labbe
2017-05-31  7:18 ` [PATCH v6 18/21] arm64: allwinner: bananapi-m64: " Corentin Labbe
2017-05-31  7:18   ` Corentin Labbe
2017-05-31  7:18   ` Corentin Labbe
2017-05-31  7:18 ` [PATCH v6 19/21] arm: sunxi: Enable dwmac-sun8i driver on sunxi_defconfig Corentin Labbe
2017-05-31  7:18   ` Corentin Labbe
2017-05-31  7:18   ` Corentin Labbe
2017-05-31  7:18 ` [PATCH v6 20/21] arm: multi_v7: Enable dwmac-sun8i driver on multi_v7_defconfig Corentin Labbe
2017-05-31  7:18   ` Corentin Labbe
2017-05-31  7:18   ` Corentin Labbe
2017-05-31  7:18 ` [PATCH v6 21/21] arm64: defconfig: Enable dwmac-sun8i driver on defconfig Corentin Labbe
2017-05-31  7:18   ` Corentin Labbe
2017-05-31  7:18   ` Corentin Labbe
2017-06-01 18:58 ` [PATCH v6 00/21] net-next: stmmac: add dwmac-sun8i ethernet driver David Miller
2017-06-01 18:58   ` David Miller
2017-06-01 18:58   ` David Miller
2017-06-02  6:37   ` Maxime Ripard
2017-06-02  6:37     ` Maxime Ripard
2017-06-02  6:37     ` Maxime Ripard
2017-06-02  9:13     ` Maxime Ripard
2017-06-02  9:13       ` Maxime Ripard
2017-06-02  9:13       ` Maxime Ripard
2017-06-02 14:22       ` David Miller
2017-06-02 14:22         ` David Miller
2017-06-02 14:22         ` David Miller
2017-06-02 22:24         ` Maxime Ripard
2017-06-02 22:24           ` Maxime Ripard
2017-06-02 22:24           ` Maxime Ripard
2017-06-09 12:50           ` Maxime Ripard
2017-06-09 12:50             ` Maxime Ripard
2017-06-09 12:50             ` Maxime Ripard
2017-06-02 14:08     ` David Miller
2017-06-02 14:08       ` David Miller
2017-06-02 14:08       ` David Miller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170531071852.12422-3-clabbe.montjoie@gmail.com \
    --to=clabbe.montjoie@gmail.com \
    --cc=alexandre.torgue@st.com \
    --cc=catalin.marinas@arm.com \
    --cc=devicetree@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sunxi@googlegroups.com \
    --cc=linux@armlinux.org.uk \
    --cc=mark.rutland@arm.com \
    --cc=maxime.ripard@free-electrons.com \
    --cc=netdev@vger.kernel.org \
    --cc=peppe.cavallaro@st.com \
    --cc=robh+dt@kernel.org \
    --cc=wens@csie.org \
    --cc=will.deacon@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.