linux-kernel.vger.kernel.org archive mirror
 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,
	Corentin Labbe <clabbe.montjoie@gmail.com>
Subject: [PATCH v5 02/20] net: stmmac: add optional setup function
Date: Mon,  1 May 2017 14:45:02 +0200	[thread overview]
Message-ID: <20170501124520.3769-3-clabbe.montjoie@gmail.com> (raw)
In-Reply-To: <20170501124520.3769-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 cd8c601..b82ab64 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
@@ -3947,7 +3947,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 3921cb9..8bb550b 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.10.2

  parent reply	other threads:[~2017-05-01 12:49 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-01 12:45 [PATCH v5 00/20] net-next: stmmac: add dwmac-sun8i ethernet driver Corentin Labbe
2017-05-01 12:45 ` [PATCH v5 01/20] net: stmmac: export stmmac_set_mac_addr/stmmac_get_mac_addr Corentin Labbe
2017-05-01 12:45 ` Corentin Labbe [this message]
2017-05-01 12:45 ` [PATCH v5 03/20] dt-bindings: net: Add DT bindings documentation for Allwinner dwmac-sun8i Corentin Labbe
2017-05-01 13:45   ` Andrew Lunn
2017-05-01 12:45 ` [PATCH v5 04/20] dt-bindings: syscon: Add DT bindings documentation for Allwinner syscon Corentin Labbe
2017-05-05 20:20   ` Rob Herring
2017-05-01 12:45 ` [PATCH v5 05/20] net: stmmac: Add dwmac-sun8i Corentin Labbe
2017-05-01 12:45 ` [PATCH v5 06/20] arm: sun8i: sunxi-h3-h5: Add dt node for the syscon control module Corentin Labbe
2017-05-01 12:45 ` [PATCH v5 07/20] arm: sun8i: sunxi-h3-h5: add dwmac-sun8i ethernet driver Corentin Labbe
2017-05-01 12:45 ` [PATCH v5 08/20] arm: sun8i: orangepi-pc: Enable dwmac-sun8i Corentin Labbe
2017-05-01 12:45 ` [PATCH v5 09/20] arm: sun8i: orangepi-zero: " Corentin Labbe
2017-05-01 12:45 ` [PATCH v5 10/20] arm: sun8i: orangepi-one: " Corentin Labbe
2017-05-01 12:45 ` [PATCH v5 11/20] arm: sun8i: orangepi-2: " Corentin Labbe
2017-05-01 12:45 ` [PATCH v5 12/20] arm: sun8i: orangepi-pc-plus: Set EMAC activity LEDs to active high Corentin Labbe
2017-05-01 12:45 ` [PATCH v5 13/20] arm64: allwinner: sun50i-a64: Add dt node for the syscon control module Corentin Labbe
2017-05-01 12:45 ` [PATCH v5 14/20] arm64: allwinner: sun50i-a64: add dwmac-sun8i Ethernet driver Corentin Labbe
2017-05-01 12:45 ` [PATCH v5 15/20] arm64: allwinner: pine64: Enable dwmac-sun8i Corentin Labbe
2017-05-01 12:45 ` [PATCH v5 16/20] arm64: allwinner: pine64-plus: " Corentin Labbe
2017-05-01 12:45 ` [PATCH v5 17/20] arm64: allwinner: bananapi-m64: " Corentin Labbe
2017-05-01 12:45 ` [PATCH v5 18/20] arm: sunxi: Enable dwmac-sun8i driver on sunxi_defconfig Corentin Labbe
2017-05-01 12:45 ` [PATCH v5 19/20] arm: multi_v7: Enable dwmac-sun8i driver on multi_v7_defconfig Corentin Labbe
2017-05-01 12:45 ` [PATCH v5 20/20] arm64: defconfig: Enable dwmac-sun8i driver on defconfig Corentin Labbe
2017-05-01 14:01 ` [PATCH v5 00/20] net-next: stmmac: add dwmac-sun8i ethernet driver Andrew Lunn
2017-05-01 14:28   ` Chen-Yu Tsai
2017-05-01 14:45     ` Andrew Lunn
2017-05-01 15:58       ` Corentin Labbe
2017-05-01 16:10         ` Andrew Lunn
2017-05-05 12:13 ` Corentin Labbe

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=20170501124520.3769-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@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 \
    --subject='Re: [PATCH v5 02/20] net: stmmac: add optional setup function' \
    /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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).