All of lore.kernel.org
 help / color / mirror / Atom feed
From: Giuseppe CAVALLARO <peppe.cavallaro@st.com>
To: Corentin Labbe <clabbe.montjoie@gmail.com>, <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>,
	<alexandre.torgue@st.com>
Cc: <devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	<netdev@vger.kernel.org>, <linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v3 02/20] net: stmmac: add optional setup function
Date: Mon, 3 Apr 2017 14:32:33 +0200	[thread overview]
Message-ID: <262f763b-d158-dd77-3dba-1d7b90a1eef9@st.com> (raw)
In-Reply-To: <20170403091444.29876-3-clabbe.montjoie@gmail.com>

Hello Corentin

On 4/3/2017 11:14 AM, Corentin Labbe wrote:
> 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                            | 3 +++
>   2 files changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> index 43361f3..3beca41 100644
> --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> @@ -3508,7 +3508,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..dadd74b 100644
> --- a/include/linux/stmmac.h
> +++ b/include/linux/stmmac.h
> @@ -144,6 +144,8 @@ struct stmmac_txq_cfg {
>   	u32 prio;
>   };
>   
> +struct stmmac_priv;
> +
>   struct plat_stmmacenet_data {
>   	int bus_id;
>   	int phy_addr;
> @@ -177,6 +179,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)(struct stmmac_priv *priv);

In that case  I prefer to have void *priv as done for the other callbacks.
I mean, keep the priv struct inside the driver part.

peppe

>   	void *bsp_priv;
>   	struct clk *stmmac_clk;
>   	struct clk *pclk;

WARNING: multiple messages have this Message-ID (diff)
From: Giuseppe CAVALLARO <peppe.cavallaro-qxv4g6HH51o@public.gmane.org>
To: Corentin Labbe
	<clabbe.montjoie-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	<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>,
	<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>
Subject: Re: [PATCH v3 02/20] net: stmmac: add optional setup function
Date: Mon, 3 Apr 2017 14:32:33 +0200	[thread overview]
Message-ID: <262f763b-d158-dd77-3dba-1d7b90a1eef9@st.com> (raw)
In-Reply-To: <20170403091444.29876-3-clabbe.montjoie-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>

Hello Corentin

On 4/3/2017 11:14 AM, Corentin Labbe wrote:
> 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                            | 3 +++
>   2 files changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> index 43361f3..3beca41 100644
> --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> @@ -3508,7 +3508,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..dadd74b 100644
> --- a/include/linux/stmmac.h
> +++ b/include/linux/stmmac.h
> @@ -144,6 +144,8 @@ struct stmmac_txq_cfg {
>   	u32 prio;
>   };
>   
> +struct stmmac_priv;
> +
>   struct plat_stmmacenet_data {
>   	int bus_id;
>   	int phy_addr;
> @@ -177,6 +179,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)(struct stmmac_priv *priv);

In that case  I prefer to have void *priv as done for the other callbacks.
I mean, keep the priv struct inside the driver part.

peppe

>   	void *bsp_priv;
>   	struct clk *stmmac_clk;
>   	struct clk *pclk;


--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: Giuseppe CAVALLARO <peppe.cavallaro-qxv4g6HH51o@public.gmane.org>
To: Corentin Labbe
	<clabbe.montjoie-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	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,
	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
Subject: Re: [PATCH v3 02/20] net: stmmac: add optional setup function
Date: Mon, 3 Apr 2017 14:32:33 +0200	[thread overview]
Message-ID: <262f763b-d158-dd77-3dba-1d7b90a1eef9@st.com> (raw)
In-Reply-To: <20170403091444.29876-3-clabbe.montjoie-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>

Hello Corentin

On 4/3/2017 11:14 AM, Corentin Labbe wrote:
> 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                            | 3 +++
>   2 files changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> index 43361f3..3beca41 100644
> --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> @@ -3508,7 +3508,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..dadd74b 100644
> --- a/include/linux/stmmac.h
> +++ b/include/linux/stmmac.h
> @@ -144,6 +144,8 @@ struct stmmac_txq_cfg {
>   	u32 prio;
>   };
>   
> +struct stmmac_priv;
> +
>   struct plat_stmmacenet_data {
>   	int bus_id;
>   	int phy_addr;
> @@ -177,6 +179,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)(struct stmmac_priv *priv);

In that case  I prefer to have void *priv as done for the other callbacks.
I mean, keep the priv struct inside the driver part.

peppe

>   	void *bsp_priv;
>   	struct clk *stmmac_clk;
>   	struct clk *pclk;


--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: peppe.cavallaro@st.com (Giuseppe CAVALLARO)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 02/20] net: stmmac: add optional setup function
Date: Mon, 3 Apr 2017 14:32:33 +0200	[thread overview]
Message-ID: <262f763b-d158-dd77-3dba-1d7b90a1eef9@st.com> (raw)
In-Reply-To: <20170403091444.29876-3-clabbe.montjoie@gmail.com>

Hello Corentin

On 4/3/2017 11:14 AM, Corentin Labbe wrote:
> 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                            | 3 +++
>   2 files changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> index 43361f3..3beca41 100644
> --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> @@ -3508,7 +3508,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..dadd74b 100644
> --- a/include/linux/stmmac.h
> +++ b/include/linux/stmmac.h
> @@ -144,6 +144,8 @@ struct stmmac_txq_cfg {
>   	u32 prio;
>   };
>   
> +struct stmmac_priv;
> +
>   struct plat_stmmacenet_data {
>   	int bus_id;
>   	int phy_addr;
> @@ -177,6 +179,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)(struct stmmac_priv *priv);

In that case  I prefer to have void *priv as done for the other callbacks.
I mean, keep the priv struct inside the driver part.

peppe

>   	void *bsp_priv;
>   	struct clk *stmmac_clk;
>   	struct clk *pclk;

  reply	other threads:[~2017-04-03 12:33 UTC|newest]

Thread overview: 88+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-03  9:14 [PATCH v3 00/20] net-next: stmmac: add dwmac-sun8i ethernet driver Corentin Labbe
2017-04-03  9:14 ` Corentin Labbe
2017-04-03  9:14 ` Corentin Labbe
2017-04-03  9:14 ` [PATCH v3 01/20] net: stmmac: export stmmac_set_mac_addr/stmmac_get_mac_addr Corentin Labbe
2017-04-03  9:14   ` Corentin Labbe
2017-04-03 12:39   ` Giuseppe CAVALLARO
2017-04-03 12:39     ` Giuseppe CAVALLARO
2017-04-03 12:39     ` Giuseppe CAVALLARO
2017-04-03 12:39     ` Giuseppe CAVALLARO
2017-04-12  7:42     ` Corentin Labbe
2017-04-12  7:42       ` Corentin Labbe
2017-04-12  7:42       ` Corentin Labbe
2017-04-03  9:14 ` [PATCH v3 02/20] net: stmmac: add optional setup function Corentin Labbe
2017-04-03  9:14   ` Corentin Labbe
2017-04-03  9:14   ` Corentin Labbe
2017-04-03 12:32   ` Giuseppe CAVALLARO [this message]
2017-04-03 12:32     ` Giuseppe CAVALLARO
2017-04-03 12:32     ` Giuseppe CAVALLARO
2017-04-03 12:32     ` Giuseppe CAVALLARO
2017-04-07 12:51     ` Corentin Labbe
2017-04-07 12:51       ` Corentin Labbe
2017-04-07 12:51       ` Corentin Labbe
2017-04-03  9:14 ` [PATCH v3 03/20] dt-bindings: net: Add DT bindings documentation for Allwinner dwmac-sun8i Corentin Labbe
2017-04-03  9:14   ` Corentin Labbe
2017-04-03  9:14   ` Corentin Labbe
2017-04-03 11:19   ` Maxime Ripard
2017-04-03 11:19     ` Maxime Ripard
2017-04-03 11:19     ` Maxime Ripard
2017-04-03  9:14 ` [PATCH v3 04/20] ARM: sun8i: dt: Add DT bindings documentation for Allwinner syscon Corentin Labbe
2017-04-03  9:14   ` Corentin Labbe
2017-04-03  9:14   ` Corentin Labbe
2017-04-03 11:19   ` Maxime Ripard
2017-04-03 11:19     ` Maxime Ripard
2017-04-03 11:19     ` Maxime Ripard
2017-04-07 12:50     ` Corentin Labbe
2017-04-07 12:50       ` Corentin Labbe
2017-04-07 12:50       ` Corentin Labbe
2017-04-03  9:14 ` [PATCH v3 05/20] net: stmmac: Add dwmac-sun8i Corentin Labbe
2017-04-03  9:14   ` Corentin Labbe
2017-04-03  9:14   ` Corentin Labbe
2017-04-03  9:14 ` [PATCH v3 06/20] ARM: dts: sunxi-h3-h5: Add dt node for the syscon control module Corentin Labbe
2017-04-03  9:14   ` Corentin Labbe
2017-04-03  9:14 ` [PATCH v3 07/20] ARM: dts: sunxi-h3-h5: add dwmac-sun8i ethernet driver Corentin Labbe
2017-04-03  9:14   ` Corentin Labbe
2017-04-03  9:14   ` Corentin Labbe
2017-04-03  9:14 ` [PATCH v3 08/20] ARM: dts: sun8i: Enable dwmac-sun8i on the Banana Pi M2+ Corentin Labbe
2017-04-03  9:14   ` Corentin Labbe
2017-04-03  9:14   ` Corentin Labbe
2017-04-03  9:14 ` [PATCH v3 09/20] ARM: dts: sun8i: Enable dwmac-sun8i on the Orange PI PC Corentin Labbe
2017-04-03  9:14   ` Corentin Labbe
2017-04-03  9:14   ` Corentin Labbe
2017-04-03  9:14 ` [PATCH v3 10/20] ARM: dts: sun8i: Enable dwmac-sun8i on the Orange Pi 2 Corentin Labbe
2017-04-03  9:14   ` Corentin Labbe
2017-04-03  9:14   ` Corentin Labbe
2017-04-03  9:14 ` [PATCH v3 11/20] ARM: dts: sun8i: Enable dwmac-sun8i on the Orange PI One Corentin Labbe
2017-04-03  9:14   ` Corentin Labbe
2017-04-03  9:14   ` Corentin Labbe
2017-04-03  9:14 ` [PATCH v3 12/20] ARM: dts: sun8i: Enable dwmac-sun8i on the Orange Pi plus Corentin Labbe
2017-04-03  9:14   ` Corentin Labbe
2017-04-03  9:14   ` Corentin Labbe
2017-04-03 11:37   ` Maxime Ripard
2017-04-03 11:37     ` Maxime Ripard
2017-04-03 11:37     ` Maxime Ripard
2017-04-03  9:14 ` [PATCH v3 13/20] ARM: dts: sun8i: orangepi-pc-plus: Set EMAC activity LEDs to active high Corentin Labbe
2017-04-03  9:14   ` Corentin Labbe
2017-04-03  9:14   ` Corentin Labbe
2017-04-03  9:14 ` [PATCH v3 14/20] ARM64: dts: sun50i-a64: Add dt node for the syscon control module Corentin Labbe
2017-04-03  9:14   ` Corentin Labbe
2017-04-03  9:14 ` [PATCH v3 15/20] ARM64: dts: sun50i-a64: add dwmac-sun8i Ethernet driver Corentin Labbe
2017-04-03  9:14   ` Corentin Labbe
2017-04-03  9:14   ` Corentin Labbe
2017-04-03  9:14 ` [PATCH v3 16/20] ARM: dts: sun50i-a64: enable dwmac-sun8i on pine64 Corentin Labbe
2017-04-03  9:14   ` Corentin Labbe
2017-04-03 11:38   ` Maxime Ripard
2017-04-03 11:38     ` Maxime Ripard
2017-04-03 11:38     ` Maxime Ripard
2017-04-07 12:48     ` Corentin Labbe
2017-04-07 12:48       ` Corentin Labbe
2017-04-03  9:14 ` [PATCH v3 17/20] ARM: dts: sun50i-a64: enable dwmac-sun8i on pine64 plus Corentin Labbe
2017-04-03  9:14   ` Corentin Labbe
2017-04-03  9:14 ` [PATCH v3 18/20] ARM: dts: sun50i-a64: enable dwmac-sun8i on the BananaPi M64 Corentin Labbe
2017-04-03  9:14   ` Corentin Labbe
2017-04-03  9:14 ` [PATCH v3 19/20] ARM: sunxi: Enable dwmac-sun8i driver on sunxi_defconfig Corentin Labbe
2017-04-03  9:14   ` Corentin Labbe
2017-04-03  9:14 ` [PATCH v3 20/20] ARM: sunxi: Enable dwmac-sun8i driver on multi_v7_defconfig Corentin Labbe
2017-04-03  9:14   ` Corentin Labbe
2017-04-03 11:39   ` Maxime Ripard
2017-04-03 11:39     ` Maxime Ripard

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=262f763b-d158-dd77-3dba-1d7b90a1eef9@st.com \
    --to=peppe.cavallaro@st.com \
    --cc=alexandre.torgue@st.com \
    --cc=catalin.marinas@arm.com \
    --cc=clabbe.montjoie@gmail.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=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.