All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vladimir Oltean <vladimir.oltean@nxp.com>
To: Colin Foster <colin.foster@in-advantage.com>
Cc: "linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	"linux-gpio@vger.kernel.org" <linux-gpio@vger.kernel.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	Terry Bowman <terry.bowman@amd.com>,
	Wolfram Sang <wsa@kernel.org>,
	Andy Shevchenko <andy.shevchenko@gmail.com>,
	Steen Hegelund <Steen.Hegelund@microchip.com>,
	Lars Povlsen <lars.povlsen@microchip.com>,
	Linus Walleij <linus.walleij@linaro.org>,
	Russell King <linux@armlinux.org.uk>,
	Heiner Kallweit <hkallweit1@gmail.com>,
	Paolo Abeni <pabeni@redhat.com>, Jakub Kicinski <kuba@kernel.org>,
	Eric Dumazet <edumazet@google.com>,
	"David S. Miller" <davem@davemloft.net>,
	Florian Fainelli <f.fainelli@gmail.com>,
	Vivien Didelot <vivien.didelot@gmail.com>,
	Andrew Lunn <andrew@lunn.ch>,
	"UNGLinuxDriver@microchip.com" <UNGLinuxDriver@microchip.com>,
	Alexandre Belloni <alexandre.belloni@bootlin.com>,
	Claudiu Manoil <claudiu.manoil@nxp.com>,
	Lee Jones <lee.jones@linaro.org>
Subject: Re: [RFC v8 net-next 11/16] net: mscc: ocelot: expose regfield definition to be used by other drivers
Date: Mon, 9 May 2022 10:56:39 +0000	[thread overview]
Message-ID: <20220509105638.btfgdr4wt427ewip@skbuf> (raw)
In-Reply-To: <20220508185313.2222956-12-colin.foster@in-advantage.com>

On Sun, May 08, 2022 at 11:53:08AM -0700, Colin Foster wrote:
> The ocelot_regfields struct is common between several different chips, some
> of which can only be controlled externally. Export this structure so it
> doesn't have to be duplicated in these other drivers.
> 
> Rename the structure as well, to follow the conventions of other shared
> resources.
> 
> Signed-off-by: Colin Foster <colin.foster@in-advantage.com>
> ---

Doesn't the symbol need to be actually _exported_ (EXPORT_SYMBOL) to
work when CONFIG_MSCC_OCELOT_SWITCH_LIB is a module?

>  drivers/net/ethernet/mscc/ocelot_vsc7514.c | 60 +---------------------
>  drivers/net/ethernet/mscc/vsc7514_regs.c   | 59 +++++++++++++++++++++
>  include/soc/mscc/vsc7514_regs.h            |  2 +
>  3 files changed, 62 insertions(+), 59 deletions(-)
> 
> diff --git a/drivers/net/ethernet/mscc/ocelot_vsc7514.c b/drivers/net/ethernet/mscc/ocelot_vsc7514.c
> index 68d205088665..a13fec7247d6 100644
> --- a/drivers/net/ethernet/mscc/ocelot_vsc7514.c
> +++ b/drivers/net/ethernet/mscc/ocelot_vsc7514.c
> @@ -38,64 +38,6 @@ static const u32 *ocelot_regmap[TARGET_MAX] = {
>  	[DEV_GMII] = vsc7514_dev_gmii_regmap,
>  };
>  
> -static const struct reg_field ocelot_regfields[REGFIELD_MAX] = {
> -};
> -
>  static const struct ocelot_stat_layout ocelot_stats_layout[] = {
>  	{ .name = "rx_octets", .offset = 0x00, },
>  	{ .name = "rx_unicast", .offset = 0x01, },
> @@ -231,7 +173,7 @@ static int ocelot_chip_init(struct ocelot *ocelot, const struct ocelot_ops *ops)
>  	ocelot->num_mact_rows = 1024;
>  	ocelot->ops = ops;
>  
> -	ret = ocelot_regfields_init(ocelot, ocelot_regfields);
> +	ret = ocelot_regfields_init(ocelot, vsc7514_regfields);
>  	if (ret)
>  		return ret;
>  
> diff --git a/drivers/net/ethernet/mscc/vsc7514_regs.c b/drivers/net/ethernet/mscc/vsc7514_regs.c
> index c2af4eb8ca5d..847e64d11075 100644
> --- a/drivers/net/ethernet/mscc/vsc7514_regs.c
> +++ b/drivers/net/ethernet/mscc/vsc7514_regs.c
> @@ -9,6 +9,65 @@
>  #include <soc/mscc/vsc7514_regs.h>
>  #include "ocelot.h"
>  
> +const struct reg_field vsc7514_regfields[REGFIELD_MAX] = {
> +};
> +
>  const u32 vsc7514_ana_regmap[] = {
>  	REG(ANA_ADVLEARN,				0x009000),
>  	REG(ANA_VLANMASK,				0x009004),
> diff --git a/include/soc/mscc/vsc7514_regs.h b/include/soc/mscc/vsc7514_regs.h
> index ceee26c96959..9b40e7d00ec5 100644
> --- a/include/soc/mscc/vsc7514_regs.h
> +++ b/include/soc/mscc/vsc7514_regs.h
> @@ -10,6 +10,8 @@
>  
>  #include <soc/mscc/ocelot_vcap.h>
>  
> +extern const struct reg_field vsc7514_regfields[REGFIELD_MAX];
> +
>  extern const u32 vsc7514_ana_regmap[];
>  extern const u32 vsc7514_qs_regmap[];
>  extern const u32 vsc7514_qsys_regmap[];
> -- 
> 2.25.1
>

WARNING: multiple messages have this Message-ID (diff)
From: Vladimir Oltean <vladimir.oltean@nxp.com>
To: Colin Foster <colin.foster@in-advantage.com>
Cc: "linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"linux-gpio@vger.kernel.org" <linux-gpio@vger.kernel.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	Terry Bowman <terry.bowman@amd.com>,
	Wolfram Sang <wsa@kernel.org>,
	Andy Shevchenko <andy.shevchenko@gmail.com>,
	Steen Hegelund <Steen.Hegelund@microchip.com>,
	Lars Povlsen <lars.povlsen@microchip.com>,
	Linus Walleij <linus.walleij@linaro.org>,
	Russell King <linux@armlinux.org.uk>,
	Heiner Kallweit <hkallweit1@gmail.com>,
	Paolo Abeni <pabeni@redhat.com>, Jakub Kicinski <kuba@kernel.org>,
	Eric Dumazet <edumazet@google.com>,
	"David S. Miller" <davem@davemloft.net>,
	Florian Fainelli <f.fainelli@gmail.com>,
	Vivien Didelot <vivien.didelot@gmail.com>,
	Andrew Lunn <andrew@lunn.ch>,
	"UNGLinuxDriver@microchip.com" <UNGLinuxDriver@microchip.com>,
	Alexandre Belloni <alexandre.belloni@bootlin.com>,
	Claudiu Manoil <claudiu.manoil@nxp.com>,
	Lee Jones <lee.jones@linaro.org>
Subject: Re: [RFC v8 net-next 11/16] net: mscc: ocelot: expose regfield definition to be used by other drivers
Date: Mon, 9 May 2022 10:56:39 +0000	[thread overview]
Message-ID: <20220509105638.btfgdr4wt427ewip@skbuf> (raw)
In-Reply-To: <20220508185313.2222956-12-colin.foster@in-advantage.com>

On Sun, May 08, 2022 at 11:53:08AM -0700, Colin Foster wrote:
> The ocelot_regfields struct is common between several different chips, some
> of which can only be controlled externally. Export this structure so it
> doesn't have to be duplicated in these other drivers.
> 
> Rename the structure as well, to follow the conventions of other shared
> resources.
> 
> Signed-off-by: Colin Foster <colin.foster@in-advantage.com>
> ---

Doesn't the symbol need to be actually _exported_ (EXPORT_SYMBOL) to
work when CONFIG_MSCC_OCELOT_SWITCH_LIB is a module?

>  drivers/net/ethernet/mscc/ocelot_vsc7514.c | 60 +---------------------
>  drivers/net/ethernet/mscc/vsc7514_regs.c   | 59 +++++++++++++++++++++
>  include/soc/mscc/vsc7514_regs.h            |  2 +
>  3 files changed, 62 insertions(+), 59 deletions(-)
> 
> diff --git a/drivers/net/ethernet/mscc/ocelot_vsc7514.c b/drivers/net/ethernet/mscc/ocelot_vsc7514.c
> index 68d205088665..a13fec7247d6 100644
> --- a/drivers/net/ethernet/mscc/ocelot_vsc7514.c
> +++ b/drivers/net/ethernet/mscc/ocelot_vsc7514.c
> @@ -38,64 +38,6 @@ static const u32 *ocelot_regmap[TARGET_MAX] = {
>  	[DEV_GMII] = vsc7514_dev_gmii_regmap,
>  };
>  
> -static const struct reg_field ocelot_regfields[REGFIELD_MAX] = {
> -};
> -
>  static const struct ocelot_stat_layout ocelot_stats_layout[] = {
>  	{ .name = "rx_octets", .offset = 0x00, },
>  	{ .name = "rx_unicast", .offset = 0x01, },
> @@ -231,7 +173,7 @@ static int ocelot_chip_init(struct ocelot *ocelot, const struct ocelot_ops *ops)
>  	ocelot->num_mact_rows = 1024;
>  	ocelot->ops = ops;
>  
> -	ret = ocelot_regfields_init(ocelot, ocelot_regfields);
> +	ret = ocelot_regfields_init(ocelot, vsc7514_regfields);
>  	if (ret)
>  		return ret;
>  
> diff --git a/drivers/net/ethernet/mscc/vsc7514_regs.c b/drivers/net/ethernet/mscc/vsc7514_regs.c
> index c2af4eb8ca5d..847e64d11075 100644
> --- a/drivers/net/ethernet/mscc/vsc7514_regs.c
> +++ b/drivers/net/ethernet/mscc/vsc7514_regs.c
> @@ -9,6 +9,65 @@
>  #include <soc/mscc/vsc7514_regs.h>
>  #include "ocelot.h"
>  
> +const struct reg_field vsc7514_regfields[REGFIELD_MAX] = {
> +};
> +
>  const u32 vsc7514_ana_regmap[] = {
>  	REG(ANA_ADVLEARN,				0x009000),
>  	REG(ANA_VLANMASK,				0x009004),
> diff --git a/include/soc/mscc/vsc7514_regs.h b/include/soc/mscc/vsc7514_regs.h
> index ceee26c96959..9b40e7d00ec5 100644
> --- a/include/soc/mscc/vsc7514_regs.h
> +++ b/include/soc/mscc/vsc7514_regs.h
> @@ -10,6 +10,8 @@
>  
>  #include <soc/mscc/ocelot_vcap.h>
>  
> +extern const struct reg_field vsc7514_regfields[REGFIELD_MAX];
> +
>  extern const u32 vsc7514_ana_regmap[];
>  extern const u32 vsc7514_qs_regmap[];
>  extern const u32 vsc7514_qsys_regmap[];
> -- 
> 2.25.1
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2022-05-09 10:56 UTC|newest]

Thread overview: 114+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-08 18:52 [RFC v8 net-next 00/16] add support for VSC7512 control over SPI Colin Foster
2022-05-08 18:52 ` Colin Foster
2022-05-08 18:52 ` [RFC v8 net-next 01/16] pinctrl: ocelot: allow pinctrl-ocelot to be loaded as a module Colin Foster
2022-05-08 18:52   ` Colin Foster
2022-05-09 10:05   ` Vladimir Oltean
2022-05-09 10:05     ` Vladimir Oltean
2022-05-08 18:52 ` [RFC v8 net-next 02/16] pinctrl: microchip-sgpio: allow sgpio driver to be used " Colin Foster
2022-05-08 18:52   ` Colin Foster
2022-05-09 10:05   ` Vladimir Oltean
2022-05-09 10:05     ` Vladimir Oltean
2022-05-08 18:53 ` [RFC v8 net-next 03/16] net: ocelot: add interface to get regmaps when exernally controlled Colin Foster
2022-05-08 18:53   ` Colin Foster
2022-05-08 18:53 ` [RFC v8 net-next 04/16] net: mdio: mscc-miim: add ability to be used in a non-mmio configuration Colin Foster
2022-05-08 18:53   ` Colin Foster
2022-05-08 21:14   ` Andy Shevchenko
2022-05-08 21:14     ` Andy Shevchenko
2022-05-08 18:53 ` [RFC v8 net-next 05/16] pinctrl: ocelot: " Colin Foster
2022-05-08 18:53   ` Colin Foster
2022-05-09  8:37   ` Andy Shevchenko
2022-05-09  8:37     ` Andy Shevchenko
2022-05-08 18:53 ` [RFC v8 net-next 06/16] pinctrl: microchip-sgpio: " Colin Foster
2022-05-08 18:53   ` Colin Foster
2022-05-09  8:44   ` Andy Shevchenko
2022-05-09  8:44     ` Andy Shevchenko
2022-05-09 22:19     ` Colin Foster
2022-05-09 22:19       ` Colin Foster
2022-05-08 18:53 ` [RFC v8 net-next 07/16] resource: add define macro for register address resources Colin Foster
2022-05-08 18:53   ` Colin Foster
2022-05-08 18:53 ` [RFC v8 net-next 08/16] mfd: ocelot: add support for the vsc7512 chip via spi Colin Foster
2022-05-08 18:53   ` Colin Foster
2022-05-09  9:02   ` Andy Shevchenko
2022-05-09  9:02     ` Andy Shevchenko
2022-05-09 23:15     ` Colin Foster
2022-05-09 23:15       ` Colin Foster
2022-08-19 16:50     ` Vladimir Oltean
2022-08-19 16:50       ` Vladimir Oltean
2022-05-09 10:52   ` Vladimir Oltean
2022-05-09 10:52     ` Vladimir Oltean
2022-05-09 23:49     ` Colin Foster
2022-05-09 23:49       ` Colin Foster
2022-05-09 17:20       ` Vladimir Oltean
2022-05-09 17:20         ` Vladimir Oltean
2022-05-10  0:30         ` Colin Foster
2022-05-10  0:30           ` Colin Foster
2022-05-10 15:32         ` Lee Jones
2022-05-10 15:32           ` Lee Jones
2022-05-10 16:13           ` Colin Foster
2022-05-10 16:13             ` Colin Foster
2022-05-12  9:49             ` Lee Jones
2022-05-12  9:49               ` Lee Jones
2022-05-12 15:03               ` Colin Foster
2022-05-12 15:03                 ` Colin Foster
2022-05-10 15:58   ` Vladimir Oltean
2022-05-10 15:58     ` Vladimir Oltean
2022-05-10 16:02     ` Colin Foster
2022-05-10 16:02       ` Colin Foster
2022-05-08 18:53 ` [RFC v8 net-next 09/16] net: mscc: ocelot: expose ocelot wm functions Colin Foster
2022-05-08 18:53   ` Colin Foster
2022-05-08 18:53 ` [RFC v8 net-next 10/16] net: dsa: felix: add configurable device quirks Colin Foster
2022-05-08 18:53   ` Colin Foster
2022-05-08 18:53 ` [RFC v8 net-next 11/16] net: mscc: ocelot: expose regfield definition to be used by other drivers Colin Foster
2022-05-08 18:53   ` Colin Foster
2022-05-09 10:56   ` Vladimir Oltean [this message]
2022-05-09 10:56     ` Vladimir Oltean
2022-05-10  0:05     ` Colin Foster
2022-05-10  0:05       ` Colin Foster
2022-05-08 18:53 ` [RFC v8 net-next 12/16] net: mscc: ocelot: expose stats layout " Colin Foster
2022-05-08 18:53   ` Colin Foster
2022-05-08 18:53 ` [RFC v8 net-next 13/16] net: mscc: ocelot: expose vcap_props structure Colin Foster
2022-05-08 18:53   ` Colin Foster
2022-05-08 18:53 ` [RFC v8 net-next 14/16] net: dsa: ocelot: add external ocelot switch control Colin Foster
2022-05-08 18:53   ` Colin Foster
2022-05-09 16:27   ` Vladimir Oltean
2022-05-09 16:27     ` Vladimir Oltean
2022-05-10  0:02     ` Colin Foster
2022-05-10  0:02       ` Colin Foster
2022-05-08 18:53 ` [RFC v8 net-next 15/16] net: dsa: felix: add phylink_get_caps capability Colin Foster
2022-05-08 18:53   ` Colin Foster
2022-05-09 10:34   ` Vladimir Oltean
2022-05-09 10:34     ` Vladimir Oltean
2022-05-10  0:23     ` Colin Foster
2022-05-10  0:23       ` Colin Foster
2022-05-09 17:30       ` Vladimir Oltean
2022-05-09 17:30         ` Vladimir Oltean
2022-05-10  0:55         ` Colin Foster
2022-05-10  0:55           ` Colin Foster
2022-05-09 17:58           ` Vladimir Oltean
2022-05-09 17:58             ` Vladimir Oltean
2022-09-09 18:33             ` Colin Foster
2022-09-09 18:33               ` Colin Foster
2022-09-09 19:20               ` Russell King (Oracle)
2022-09-09 19:20                 ` Russell King (Oracle)
2022-09-09 19:30                 ` Colin Foster
2022-09-09 19:30                   ` Colin Foster
2022-09-11  0:44               ` Vladimir Oltean
2022-09-11  0:44                 ` Vladimir Oltean
2022-05-08 18:53 ` [RFC v8 net-next 16/16] net: dsa: ocelot: utilize phylink_generic_validate Colin Foster
2022-05-08 18:53   ` Colin Foster
2022-05-09 17:13 ` [RFC v8 net-next 00/16] add support for VSC7512 control over SPI Vladimir Oltean
2022-05-09 17:13   ` Vladimir Oltean
2022-05-10  1:43   ` Colin Foster
2022-05-10  1:43     ` Colin Foster
2022-05-10  2:57   ` Colin Foster
2022-05-10  2:57     ` Colin Foster
2022-05-10 16:18     ` Vladimir Oltean
2022-05-10 16:18       ` Vladimir Oltean
2022-05-14 22:00   ` Colin Foster
2022-05-14 22:00     ` Colin Foster
2022-05-19 14:44     ` Vladimir Oltean
2022-05-19 14:44       ` Vladimir Oltean
2022-05-19 16:15       ` Colin Foster
2022-05-19 16:15         ` Colin Foster
2022-05-19 17:09         ` Vladimir Oltean
2022-05-19 17:09           ` Vladimir Oltean

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=20220509105638.btfgdr4wt427ewip@skbuf \
    --to=vladimir.oltean@nxp.com \
    --cc=Steen.Hegelund@microchip.com \
    --cc=UNGLinuxDriver@microchip.com \
    --cc=alexandre.belloni@bootlin.com \
    --cc=andrew@lunn.ch \
    --cc=andy.shevchenko@gmail.com \
    --cc=claudiu.manoil@nxp.com \
    --cc=colin.foster@in-advantage.com \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=f.fainelli@gmail.com \
    --cc=hkallweit1@gmail.com \
    --cc=kuba@kernel.org \
    --cc=lars.povlsen@microchip.com \
    --cc=lee.jones@linaro.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=terry.bowman@amd.com \
    --cc=vivien.didelot@gmail.com \
    --cc=wsa@kernel.org \
    /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.