linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [net-next 00/13] fsl/fman: cleanup and small fixes
@ 2016-10-04  7:32 Madalin Bucur
  2016-10-04  7:32 ` [net-next 01/13] fsl/fman: split lines over 80 characters Madalin Bucur
                   ` (12 more replies)
  0 siblings, 13 replies; 16+ messages in thread
From: Madalin Bucur @ 2016-10-04  7:32 UTC (permalink / raw)
  To: netdev; +Cc: davem, linuxppc-dev, linux-kernel, linuxdev.baldrick

This series contains fixes for the DPAA FMan driver.
Adding myself as maintainer of the driver.

The following are changes since commit a4cc96d1f0170b779c32c6b2cc58764f5d2cdef0
 net: phy: Add Edge-rate driver for Microsemi PHYs.
and are available on the fman-next branch in the git repository at
 git://git.freescale.com/ppc/upstream/linux.git

Igal Liberman (1):
  fsl/fman: fix loadable module compilation

Madalin Bucur (12):
  fsl/fman: split lines over 80 characters
  fsl/fman: small fixes
  fsl/fman: use of_get_phy_mode()
  fsl/fman: simplify device tree reads
  fsl/fman: return a phy_dev pointer from init
  fsl/fman: MEMAC may use QSGMII PHY interface mode
  fsl/fman: check pcsphy pointer before use
  fsl/fman: check of_get_phy_mode() return value
  fsl/fman: simplify redundant condition
  fsl/fman: fix return value checking
  fsl/fman: remove leftover comment
  MAINTAINERS: net: add entry for Freescale QorIQ DPAA FMan driver

 MAINTAINERS                                      |  7 ++
 drivers/net/ethernet/freescale/fman/Makefile     | 10 +--
 drivers/net/ethernet/freescale/fman/fman.c       | 78 ++++++++++++++--------
 drivers/net/ethernet/freescale/fman/fman_mac.h   |  4 --
 drivers/net/ethernet/freescale/fman/fman_memac.c |  6 +-
 drivers/net/ethernet/freescale/fman/fman_muram.c |  3 +-
 drivers/net/ethernet/freescale/fman/fman_muram.h |  3 +-
 drivers/net/ethernet/freescale/fman/fman_port.c  | 55 ++++++++++------
 drivers/net/ethernet/freescale/fman/fman_sp.c    |  3 +
 drivers/net/ethernet/freescale/fman/mac.c        | 83 ++++++++----------------
 drivers/net/ethernet/freescale/fman/mac.h        |  3 +-
 11 files changed, 139 insertions(+), 116 deletions(-)

-- 
2.1.0

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

* [net-next 01/13] fsl/fman: split lines over 80 characters
  2016-10-04  7:32 [net-next 00/13] fsl/fman: cleanup and small fixes Madalin Bucur
@ 2016-10-04  7:32 ` Madalin Bucur
  2016-10-04  7:32 ` [net-next 02/13] fsl/fman: fix loadable module compilation Madalin Bucur
                   ` (11 subsequent siblings)
  12 siblings, 0 replies; 16+ messages in thread
From: Madalin Bucur @ 2016-10-04  7:32 UTC (permalink / raw)
  To: netdev; +Cc: davem, linuxppc-dev, linux-kernel, linuxdev.baldrick

Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com>
---
 drivers/net/ethernet/freescale/fman/fman_muram.c | 3 ++-
 drivers/net/ethernet/freescale/fman/fman_muram.h | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/freescale/fman/fman_muram.c b/drivers/net/ethernet/freescale/fman/fman_muram.c
index 47394c4..5ec94d2 100644
--- a/drivers/net/ethernet/freescale/fman/fman_muram.c
+++ b/drivers/net/ethernet/freescale/fman/fman_muram.c
@@ -150,7 +150,8 @@ unsigned long fman_muram_alloc(struct muram_info *muram, size_t size)
  *
  * Free an allocated memory from FM-MURAM partition.
  */
-void fman_muram_free_mem(struct muram_info *muram, unsigned long offset, size_t size)
+void fman_muram_free_mem(struct muram_info *muram, unsigned long offset,
+			 size_t size)
 {
 	unsigned long addr = fman_muram_offset_to_vbase(muram, offset);
 
diff --git a/drivers/net/ethernet/freescale/fman/fman_muram.h b/drivers/net/ethernet/freescale/fman/fman_muram.h
index 889649a..453bf84 100644
--- a/drivers/net/ethernet/freescale/fman/fman_muram.h
+++ b/drivers/net/ethernet/freescale/fman/fman_muram.h
@@ -46,6 +46,7 @@ unsigned long fman_muram_offset_to_vbase(struct muram_info *muram,
 
 unsigned long fman_muram_alloc(struct muram_info *muram, size_t size);
 
-void fman_muram_free_mem(struct muram_info *muram, unsigned long offset, size_t size);
+void fman_muram_free_mem(struct muram_info *muram, unsigned long offset,
+			 size_t size);
 
 #endif /* __FM_MURAM_EXT */
-- 
2.1.0

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

* [net-next 02/13] fsl/fman: fix loadable module compilation
  2016-10-04  7:32 [net-next 00/13] fsl/fman: cleanup and small fixes Madalin Bucur
  2016-10-04  7:32 ` [net-next 01/13] fsl/fman: split lines over 80 characters Madalin Bucur
@ 2016-10-04  7:32 ` Madalin Bucur
  2016-10-04  7:32 ` [net-next 03/13] fsl/fman: small fixes Madalin Bucur
                   ` (10 subsequent siblings)
  12 siblings, 0 replies; 16+ messages in thread
From: Madalin Bucur @ 2016-10-04  7:32 UTC (permalink / raw)
  To: netdev; +Cc: davem, linuxppc-dev, linux-kernel, linuxdev.baldrick

From: Igal Liberman <igal.liberman@freescale.com>

Signed-off-by: Igal Liberman <igal.liberman@freescale.com>
---
 drivers/net/ethernet/freescale/fman/Makefile    | 10 ++++---
 drivers/net/ethernet/freescale/fman/fman.c      | 35 +++++++++++++++++++++++--
 drivers/net/ethernet/freescale/fman/fman_port.c | 23 +++++++++++++++-
 drivers/net/ethernet/freescale/fman/fman_sp.c   |  3 +++
 4 files changed, 64 insertions(+), 7 deletions(-)

diff --git a/drivers/net/ethernet/freescale/fman/Makefile b/drivers/net/ethernet/freescale/fman/Makefile
index 51fd2e6..6049177 100644
--- a/drivers/net/ethernet/freescale/fman/Makefile
+++ b/drivers/net/ethernet/freescale/fman/Makefile
@@ -1,7 +1,9 @@
 subdir-ccflags-y +=  -I$(srctree)/drivers/net/ethernet/freescale/fman
 
-obj-y		+= fsl_fman.o fsl_fman_mac.o fsl_mac.o
+obj-$(CONFIG_FSL_FMAN) += fsl_fman.o
+obj-$(CONFIG_FSL_FMAN) += fsl_fman_port.o
+obj-$(CONFIG_FSL_FMAN) += fsl_mac.o
 
-fsl_fman-objs	:= fman_muram.o fman.o fman_sp.o fman_port.o
-fsl_fman_mac-objs := fman_dtsec.o fman_memac.o fman_tgec.o
-fsl_mac-objs += mac.o
+fsl_fman-objs	:= fman_muram.o fman.o fman_sp.o
+fsl_fman_port-objs := fman_port.o
+fsl_mac-objs:= mac.o fman_dtsec.o fman_memac.o fman_tgec.o
diff --git a/drivers/net/ethernet/freescale/fman/fman.c b/drivers/net/ethernet/freescale/fman/fman.c
index 1de2e1e..ef5f228 100644
--- a/drivers/net/ethernet/freescale/fman/fman.c
+++ b/drivers/net/ethernet/freescale/fman/fman.c
@@ -2115,6 +2115,7 @@ void fman_register_intr(struct fman *fman, enum fman_event_modules module,
 	fman->intr_mng[event].isr_cb = isr_cb;
 	fman->intr_mng[event].src_handle = src_arg;
 }
+EXPORT_SYMBOL(fman_register_intr);
 
 /**
  * fman_unregister_intr
@@ -2138,6 +2139,7 @@ void fman_unregister_intr(struct fman *fman, enum fman_event_modules module,
 	fman->intr_mng[event].isr_cb = NULL;
 	fman->intr_mng[event].src_handle = NULL;
 }
+EXPORT_SYMBOL(fman_unregister_intr);
 
 /**
  * fman_set_port_params
@@ -2241,6 +2243,7 @@ return_err:
 	spin_unlock_irqrestore(&fman->spinlock, flags);
 	return err;
 }
+EXPORT_SYMBOL(fman_set_port_params);
 
 /**
  * fman_reset_mac
@@ -2310,6 +2313,7 @@ int fman_reset_mac(struct fman *fman, u8 mac_id)
 
 	return 0;
 }
+EXPORT_SYMBOL(fman_reset_mac);
 
 /**
  * fman_set_mac_max_frame
@@ -2337,6 +2341,7 @@ int fman_set_mac_max_frame(struct fman *fman, u8 mac_id, u16 mfl)
 	}
 	return 0;
 }
+EXPORT_SYMBOL(fman_set_mac_max_frame);
 
 /**
  * fman_get_clock_freq
@@ -2363,6 +2368,7 @@ u32 fman_get_bmi_max_fifo_size(struct fman *fman)
 {
 	return fman->state->bmi_max_fifo_size;
 }
+EXPORT_SYMBOL(fman_get_bmi_max_fifo_size);
 
 /**
  * fman_get_revision
@@ -2384,6 +2390,7 @@ void fman_get_revision(struct fman *fman, struct fman_rev_info *rev_info)
 				FPM_REV1_MAJOR_SHIFT);
 	rev_info->minor = tmp & FPM_REV1_MINOR_MASK;
 }
+EXPORT_SYMBOL(fman_get_revision);
 
 /**
  * fman_get_qman_channel_id
@@ -2419,6 +2426,7 @@ u32 fman_get_qman_channel_id(struct fman *fman, u32 port_id)
 
 	return fman->state->qman_channel_base + i;
 }
+EXPORT_SYMBOL(fman_get_qman_channel_id);
 
 /**
  * fman_get_mem_region
@@ -2432,6 +2440,7 @@ struct resource *fman_get_mem_region(struct fman *fman)
 {
 	return fman->state->res;
 }
+EXPORT_SYMBOL(fman_get_mem_region);
 
 /* Bootargs defines */
 /* Extra headroom for RX buffers - Default, min and max */
@@ -2538,6 +2547,7 @@ struct fman *fman_bind(struct device *fm_dev)
 {
 	return (struct fman *)(dev_get_drvdata(get_device(fm_dev)));
 }
+EXPORT_SYMBOL(fman_bind);
 
 static irqreturn_t fman_err_irq(int irq, void *handle)
 {
@@ -2930,7 +2940,7 @@ static const struct of_device_id fman_match[] = {
 	{}
 };
 
-MODULE_DEVICE_TABLE(of, fm_match);
+MODULE_DEVICE_TABLE(of, fman_match);
 
 static struct platform_driver fman_driver = {
 	.driver = {
@@ -2940,4 +2950,25 @@ static struct platform_driver fman_driver = {
 	.probe = fman_probe,
 };
 
-builtin_platform_driver(fman_driver);
+static int __init fman_load(void)
+{
+	int err;
+
+	pr_debug("FSL DPAA FMan driver\n");
+
+	err = platform_driver_register(&fman_driver);
+	if (err < 0)
+		pr_err("Error, platform_driver_register() = %d\n", err);
+
+	return err;
+}
+module_init(fman_load);
+
+static void __exit fman_unload(void)
+{
+	platform_driver_unregister(&fman_driver);
+}
+module_exit(fman_unload);
+
+MODULE_LICENSE("Dual BSD/GPL");
+MODULE_DESCRIPTION("Freescale DPAA Frame Manager driver");
diff --git a/drivers/net/ethernet/freescale/fman/fman_port.c b/drivers/net/ethernet/freescale/fman/fman_port.c
index 70c198d..6de808e 100644
--- a/drivers/net/ethernet/freescale/fman/fman_port.c
+++ b/drivers/net/ethernet/freescale/fman/fman_port.c
@@ -1775,4 +1775,25 @@ static struct platform_driver fman_port_driver = {
 	.probe = fman_port_probe,
 };
 
-builtin_platform_driver(fman_port_driver);
+static int __init fman_port_load(void)
+{
+	int err;
+
+	pr_debug("FSL DPAA FMan driver\n");
+
+	err = platform_driver_register(&fman_port_driver);
+	if (err < 0)
+		pr_err("Error, platform_driver_register() = %d\n", err);
+
+	return err;
+}
+module_init(fman_port_load);
+
+static void __exit fman_port_unload(void)
+{
+	platform_driver_unregister(&fman_port_driver);
+}
+module_exit(fman_port_unload);
+
+MODULE_LICENSE("Dual BSD/GPL");
+MODULE_DESCRIPTION("Freescale DPAA Frame Manager Port driver");
diff --git a/drivers/net/ethernet/freescale/fman/fman_sp.c b/drivers/net/ethernet/freescale/fman/fman_sp.c
index f9e7aa3..248f5bc 100644
--- a/drivers/net/ethernet/freescale/fman/fman_sp.c
+++ b/drivers/net/ethernet/freescale/fman/fman_sp.c
@@ -80,6 +80,7 @@ void fman_sp_set_buf_pools_in_asc_order_of_buf_sizes(struct fman_ext_pools
 		}
 	}
 }
+EXPORT_SYMBOL(fman_sp_set_buf_pools_in_asc_order_of_buf_sizes);
 
 int fman_sp_build_buffer_struct(struct fman_sp_int_context_data_copy *
 				int_context_data_copy,
@@ -164,3 +165,5 @@ int fman_sp_build_buffer_struct(struct fman_sp_int_context_data_copy *
 
 	return 0;
 }
+EXPORT_SYMBOL(fman_sp_build_buffer_struct);
+
-- 
2.1.0

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

* [net-next 03/13] fsl/fman: small fixes
  2016-10-04  7:32 [net-next 00/13] fsl/fman: cleanup and small fixes Madalin Bucur
  2016-10-04  7:32 ` [net-next 01/13] fsl/fman: split lines over 80 characters Madalin Bucur
  2016-10-04  7:32 ` [net-next 02/13] fsl/fman: fix loadable module compilation Madalin Bucur
@ 2016-10-04  7:32 ` Madalin Bucur
  2016-10-04  7:32 ` [net-next 04/13] fsl/fman: use of_get_phy_mode() Madalin Bucur
                   ` (9 subsequent siblings)
  12 siblings, 0 replies; 16+ messages in thread
From: Madalin Bucur @ 2016-10-04  7:32 UTC (permalink / raw)
  To: netdev; +Cc: davem, linuxppc-dev, linux-kernel, linuxdev.baldrick

From: Madalin Bucur <madalin.bucur@freescale.com>

Make module params static, proper NULL checks, remove __iomem label
when misused.

Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com>
---
 drivers/net/ethernet/freescale/fman/fman.c      | 6 +++---
 drivers/net/ethernet/freescale/fman/fman_port.c | 8 +++++---
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/drivers/net/ethernet/freescale/fman/fman.c b/drivers/net/ethernet/freescale/fman/fman.c
index ef5f228..fb25748 100644
--- a/drivers/net/ethernet/freescale/fman/fman.c
+++ b/drivers/net/ethernet/freescale/fman/fman.c
@@ -2462,7 +2462,7 @@ EXPORT_SYMBOL(fman_get_mem_region);
  * particular forwarding scenarios that add extra headers to the
  * forwarded frame.
  */
-int fsl_fm_rx_extra_headroom = FSL_FM_RX_EXTRA_HEADROOM;
+static int fsl_fm_rx_extra_headroom = FSL_FM_RX_EXTRA_HEADROOM;
 module_param(fsl_fm_rx_extra_headroom, int, 0);
 MODULE_PARM_DESC(fsl_fm_rx_extra_headroom, "Extra headroom for Rx buffers");
 
@@ -2475,7 +2475,7 @@ MODULE_PARM_DESC(fsl_fm_rx_extra_headroom, "Extra headroom for Rx buffers");
  * Could be overridden once, at boot-time, via the
  * fm_set_max_frm() callback.
  */
-int fsl_fm_max_frm = FSL_FM_MAX_FRAME_SIZE;
+static int fsl_fm_max_frm = FSL_FM_MAX_FRAME_SIZE;
 module_param(fsl_fm_max_frm, int, 0);
 MODULE_PARM_DESC(fsl_fm_max_frm, "Maximum frame size, across all interfaces");
 
@@ -2868,7 +2868,7 @@ static struct fman *read_dts_node(struct platform_device *of_dev)
 
 	fman->dts_params.base_addr =
 		devm_ioremap(&of_dev->dev, phys_base_addr, mem_size);
-	if (fman->dts_params.base_addr == 0) {
+	if (!fman->dts_params.base_addr) {
 		dev_err(&of_dev->dev, "%s: devm_ioremap() failed\n", __func__);
 		goto fman_free;
 	}
diff --git a/drivers/net/ethernet/freescale/fman/fman_port.c b/drivers/net/ethernet/freescale/fman/fman_port.c
index 6de808e..8b043e7 100644
--- a/drivers/net/ethernet/freescale/fman/fman_port.c
+++ b/drivers/net/ethernet/freescale/fman/fman_port.c
@@ -1477,7 +1477,8 @@ EXPORT_SYMBOL(fman_port_cfg_buf_prefix_content);
  */
 int fman_port_disable(struct fman_port *port)
 {
-	u32 __iomem *bmi_cfg_reg, *bmi_status_reg, tmp;
+	u32 __iomem *bmi_cfg_reg, *bmi_status_reg;
+	u32 tmp;
 	bool rx_port, failure = false;
 	int count;
 
@@ -1553,7 +1554,8 @@ EXPORT_SYMBOL(fman_port_disable);
  */
 int fman_port_enable(struct fman_port *port)
 {
-	u32 __iomem *bmi_cfg_reg, tmp;
+	u32 __iomem *bmi_cfg_reg;
+	u32 tmp;
 	bool rx_port;
 
 	if (!is_init_done(port->cfg))
@@ -1743,7 +1745,7 @@ static int fman_port_probe(struct platform_device *of_dev)
 
 	port->dts_params.base_addr = devm_ioremap(port->dev, res.start,
 						  resource_size(&res));
-	if (port->dts_params.base_addr == 0)
+	if (!port->dts_params.base_addr)
 		dev_err(port->dev, "%s: devm_ioremap() failed\n", __func__);
 
 	dev_set_drvdata(&of_dev->dev, port);
-- 
2.1.0

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

* [net-next 04/13] fsl/fman: use of_get_phy_mode()
  2016-10-04  7:32 [net-next 00/13] fsl/fman: cleanup and small fixes Madalin Bucur
                   ` (2 preceding siblings ...)
  2016-10-04  7:32 ` [net-next 03/13] fsl/fman: small fixes Madalin Bucur
@ 2016-10-04  7:32 ` Madalin Bucur
  2016-10-04  7:32 ` [net-next 05/13] fsl/fman: simplify device tree reads Madalin Bucur
                   ` (8 subsequent siblings)
  12 siblings, 0 replies; 16+ messages in thread
From: Madalin Bucur @ 2016-10-04  7:32 UTC (permalink / raw)
  To: netdev; +Cc: davem, linuxppc-dev, linux-kernel, linuxdev.baldrick

From: Madalin Bucur <madalin.bucur@freescale.com>

Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com>
---
 drivers/net/ethernet/freescale/fman/mac.c | 33 ++-----------------------------
 1 file changed, 2 insertions(+), 31 deletions(-)

diff --git a/drivers/net/ethernet/freescale/fman/mac.c b/drivers/net/ethernet/freescale/fman/mac.c
index e33d9d2..f94fad7 100644
--- a/drivers/net/ethernet/freescale/fman/mac.c
+++ b/drivers/net/ethernet/freescale/fman/mac.c
@@ -583,31 +583,6 @@ static void setup_memac(struct mac_device *mac_dev)
 
 static DEFINE_MUTEX(eth_lock);
 
-static const char phy_str[][11] = {
-	[PHY_INTERFACE_MODE_MII]		= "mii",
-	[PHY_INTERFACE_MODE_GMII]		= "gmii",
-	[PHY_INTERFACE_MODE_SGMII]		= "sgmii",
-	[PHY_INTERFACE_MODE_TBI]		= "tbi",
-	[PHY_INTERFACE_MODE_RMII]		= "rmii",
-	[PHY_INTERFACE_MODE_RGMII]		= "rgmii",
-	[PHY_INTERFACE_MODE_RGMII_ID]		= "rgmii-id",
-	[PHY_INTERFACE_MODE_RGMII_RXID]	= "rgmii-rxid",
-	[PHY_INTERFACE_MODE_RGMII_TXID]	= "rgmii-txid",
-	[PHY_INTERFACE_MODE_RTBI]		= "rtbi",
-	[PHY_INTERFACE_MODE_XGMII]		= "xgmii"
-};
-
-static phy_interface_t __pure __attribute__((nonnull)) str2phy(const char *str)
-{
-	int i;
-
-	for (i = 0; i < ARRAY_SIZE(phy_str); i++)
-		if (strcmp(str, phy_str[i]) == 0)
-			return (phy_interface_t)i;
-
-	return PHY_INTERFACE_MODE_MII;
-}
-
 static const u16 phy2speed[] = {
 	[PHY_INTERFACE_MODE_MII]		= SPEED_100,
 	[PHY_INTERFACE_MODE_GMII]		= SPEED_1000,
@@ -686,7 +661,6 @@ static int mac_probe(struct platform_device *_of_dev)
 	struct resource		 res;
 	struct mac_priv_s	*priv;
 	const u8		*mac_addr;
-	const char		*char_prop;
 	const u32		*u32_prop;
 	u8			fman_id;
 
@@ -870,15 +844,12 @@ static int mac_probe(struct platform_device *_of_dev)
 	}
 
 	/* Get the PHY connection type */
-	char_prop = (const char *)of_get_property(mac_node,
-						  "phy-connection-type", NULL);
-	if (!char_prop) {
+	priv->phy_if = of_get_phy_mode(mac_node);
+	if (priv->phy_if < 0) {
 		dev_warn(dev,
 			 "of_get_property(%s, phy-connection-type) failed. Defaulting to MII\n",
 			 mac_node->full_name);
 		priv->phy_if = PHY_INTERFACE_MODE_MII;
-	} else {
-		priv->phy_if = str2phy(char_prop);
 	}
 
 	priv->speed		= phy2speed[priv->phy_if];
-- 
2.1.0

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

* [net-next 05/13] fsl/fman: simplify device tree reads
  2016-10-04  7:32 [net-next 00/13] fsl/fman: cleanup and small fixes Madalin Bucur
                   ` (3 preceding siblings ...)
  2016-10-04  7:32 ` [net-next 04/13] fsl/fman: use of_get_phy_mode() Madalin Bucur
@ 2016-10-04  7:32 ` Madalin Bucur
  2016-10-04  7:32 ` [net-next 06/13] fsl/fman: return a phy_dev pointer from init Madalin Bucur
                   ` (7 subsequent siblings)
  12 siblings, 0 replies; 16+ messages in thread
From: Madalin Bucur @ 2016-10-04  7:32 UTC (permalink / raw)
  To: netdev; +Cc: davem, linuxppc-dev, linux-kernel, linuxdev.baldrick

From: Madalin Bucur <madalin.bucur@freescale.com>

Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com>
---
 drivers/net/ethernet/freescale/fman/fman.c      | 30 ++++++++++---------------
 drivers/net/ethernet/freescale/fman/fman_port.c | 24 ++++++--------------
 drivers/net/ethernet/freescale/fman/mac.c       | 24 +++++++++-----------
 3 files changed, 30 insertions(+), 48 deletions(-)

diff --git a/drivers/net/ethernet/freescale/fman/fman.c b/drivers/net/ethernet/freescale/fman/fman.c
index fb25748..2278bbd 100644
--- a/drivers/net/ethernet/freescale/fman/fman.c
+++ b/drivers/net/ethernet/freescale/fman/fman.c
@@ -2737,8 +2737,8 @@ static struct fman *read_dts_node(struct platform_device *of_dev)
 	struct fman *fman;
 	struct device_node *fm_node, *muram_node;
 	struct resource *res;
-	const u32 *u32_prop;
-	int lenp, err, irq;
+	u32 val, range[2];
+	int err, irq;
 	struct clk *clk;
 	u32 clk_rate;
 	phys_addr_t phys_base_addr;
@@ -2750,16 +2750,13 @@ static struct fman *read_dts_node(struct platform_device *of_dev)
 
 	fm_node = of_node_get(of_dev->dev.of_node);
 
-	u32_prop = (const u32 *)of_get_property(fm_node, "cell-index", &lenp);
-	if (!u32_prop) {
-		dev_err(&of_dev->dev, "%s: of_get_property(%s, cell-index) failed\n",
+	err = of_property_read_u32(fm_node, "cell-index", &val);
+	if (err) {
+		dev_err(&of_dev->dev, "%s: failed to read cell-index for %s\n",
 			__func__, fm_node->full_name);
 		goto fman_node_put;
 	}
-	if (WARN_ON(lenp != sizeof(u32)))
-		goto fman_node_put;
-
-	fman->dts_params.id = (u8)fdt32_to_cpu(u32_prop[0]);
+	fman->dts_params.id = (u8)val;
 
 	/* Get the FM interrupt */
 	res = platform_get_resource(of_dev, IORESOURCE_IRQ, 0);
@@ -2806,18 +2803,15 @@ static struct fman *read_dts_node(struct platform_device *of_dev)
 	/* Rounding to MHz */
 	fman->dts_params.clk_freq = DIV_ROUND_UP(clk_rate, 1000000);
 
-	u32_prop = (const u32 *)of_get_property(fm_node,
-						"fsl,qman-channel-range",
-						&lenp);
-	if (!u32_prop) {
-		dev_err(&of_dev->dev, "%s: of_get_property(%s, fsl,qman-channel-range) failed\n",
+	err = of_property_read_u32_array(fm_node, "fsl,qman-channel-range",
+					 &range[0], 2);
+	if (err) {
+		dev_err(&of_dev->dev, "%s: failed to read fsl,qman-channel-range for %s\n",
 			__func__, fm_node->full_name);
 		goto fman_node_put;
 	}
-	if (WARN_ON(lenp != sizeof(u32) * 2))
-		goto fman_node_put;
-	fman->dts_params.qman_channel_base = fdt32_to_cpu(u32_prop[0]);
-	fman->dts_params.num_of_qman_channels = fdt32_to_cpu(u32_prop[1]);
+	fman->dts_params.qman_channel_base = range[0];
+	fman->dts_params.num_of_qman_channels = range[1];
 
 	/* Get the MURAM base address and size */
 	muram_node = of_find_matching_node(fm_node, fman_muram_match);
diff --git a/drivers/net/ethernet/freescale/fman/fman_port.c b/drivers/net/ethernet/freescale/fman/fman_port.c
index 8b043e7..9f3bb50 100644
--- a/drivers/net/ethernet/freescale/fman/fman_port.c
+++ b/drivers/net/ethernet/freescale/fman/fman_port.c
@@ -1625,7 +1625,7 @@ static int fman_port_probe(struct platform_device *of_dev)
 	struct device_node *fm_node, *port_node;
 	struct resource res;
 	struct resource *dev_res;
-	const u32 *u32_prop;
+	u32 val;
 	int err = 0, lenp;
 	enum fman_port_type port_type;
 	u16 port_speed;
@@ -1654,28 +1654,20 @@ static int fman_port_probe(struct platform_device *of_dev)
 		goto return_err;
 	}
 
-	u32_prop = (const u32 *)of_get_property(port_node, "cell-index", &lenp);
-	if (!u32_prop) {
-		dev_err(port->dev, "%s: of_get_property(%s, cell-index) failed\n",
+	err = of_property_read_u32(port_node, "cell-index", &val);
+	if (err) {
+		dev_err(port->dev, "%s: reading cell-index for %s failed\n",
 			__func__, port_node->full_name);
 		err = -EINVAL;
 		goto return_err;
 	}
-	if (WARN_ON(lenp != sizeof(u32))) {
-		err = -EINVAL;
-		goto return_err;
-	}
-	port_id = (u8)fdt32_to_cpu(u32_prop[0]);
-
+	port_id = (u8)val;
 	port->dts_params.id = port_id;
 
 	if (of_device_is_compatible(port_node, "fsl,fman-v3-port-tx")) {
 		port_type = FMAN_PORT_TYPE_TX;
 		port_speed = 1000;
-		u32_prop = (const u32 *)of_get_property(port_node,
-							"fsl,fman-10g-port",
-							&lenp);
-		if (u32_prop)
+		if (of_find_property(port_node, "fsl,fman-10g-port", &lenp))
 			port_speed = 10000;
 
 	} else if (of_device_is_compatible(port_node, "fsl,fman-v2-port-tx")) {
@@ -1688,9 +1680,7 @@ static int fman_port_probe(struct platform_device *of_dev)
 	} else if (of_device_is_compatible(port_node, "fsl,fman-v3-port-rx")) {
 		port_type = FMAN_PORT_TYPE_RX;
 		port_speed = 1000;
-		u32_prop = (const u32 *)of_get_property(port_node,
-						  "fsl,fman-10g-port", &lenp);
-		if (u32_prop)
+		if (of_find_property(port_node, "fsl,fman-10g-port", &lenp))
 			port_speed = 10000;
 
 	} else if (of_device_is_compatible(port_node, "fsl,fman-v2-port-rx")) {
diff --git a/drivers/net/ethernet/freescale/fman/mac.c b/drivers/net/ethernet/freescale/fman/mac.c
index f94fad7..dc04e61 100644
--- a/drivers/net/ethernet/freescale/fman/mac.c
+++ b/drivers/net/ethernet/freescale/fman/mac.c
@@ -653,7 +653,7 @@ MODULE_DEVICE_TABLE(of, mac_match);
 
 static int mac_probe(struct platform_device *_of_dev)
 {
-	int			 err, i, lenp, nph;
+	int			 err, i, nph;
 	struct device		*dev;
 	struct device_node	*mac_node, *dev_node;
 	struct mac_device	*mac_dev;
@@ -661,7 +661,7 @@ static int mac_probe(struct platform_device *_of_dev)
 	struct resource		 res;
 	struct mac_priv_s	*priv;
 	const u8		*mac_addr;
-	const u32		*u32_prop;
+	u32			 val;
 	u8			fman_id;
 
 	dev = &_of_dev->dev;
@@ -723,16 +723,15 @@ static int mac_probe(struct platform_device *_of_dev)
 	}
 
 	/* Get the FMan cell-index */
-	u32_prop = of_get_property(dev_node, "cell-index", &lenp);
-	if (!u32_prop) {
-		dev_err(dev, "of_get_property(%s, cell-index) failed\n",
+	err = of_property_read_u32(dev_node, "cell-index", &val);
+	if (err) {
+		dev_err(dev, "failed to read cell-index for %s\n",
 			dev_node->full_name);
 		err = -EINVAL;
 		goto _return_of_node_put;
 	}
-	WARN_ON(lenp != sizeof(u32));
 	/* cell-index 0 => FMan id 1 */
-	fman_id = (u8)(fdt32_to_cpu(u32_prop[0]) + 1);
+	fman_id = (u8)(val + 1);
 
 	priv->fman = fman_bind(&of_dev->dev);
 	if (!priv->fman) {
@@ -779,15 +778,14 @@ static int mac_probe(struct platform_device *_of_dev)
 	}
 
 	/* Get the cell-index */
-	u32_prop = of_get_property(mac_node, "cell-index", &lenp);
-	if (!u32_prop) {
-		dev_err(dev, "of_get_property(%s, cell-index) failed\n",
+	err = of_property_read_u32(mac_node, "cell-index", &val);
+	if (err) {
+		dev_err(dev, "failed to read cell-index for %s\n",
 			mac_node->full_name);
 		err = -EINVAL;
 		goto _return_dev_set_drvdata;
 	}
-	WARN_ON(lenp != sizeof(u32));
-	priv->cell_index = (u8)fdt32_to_cpu(u32_prop[0]);
+	priv->cell_index = (u8)val;
 
 	/* Get the MAC address */
 	mac_addr = of_get_mac_address(mac_node);
@@ -847,7 +845,7 @@ static int mac_probe(struct platform_device *_of_dev)
 	priv->phy_if = of_get_phy_mode(mac_node);
 	if (priv->phy_if < 0) {
 		dev_warn(dev,
-			 "of_get_property(%s, phy-connection-type) failed. Defaulting to MII\n",
+			 "of_get_phy_mode() for %s failed. Defaulting to MII\n",
 			 mac_node->full_name);
 		priv->phy_if = PHY_INTERFACE_MODE_MII;
 	}
-- 
2.1.0

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

* [net-next 06/13] fsl/fman: return a phy_dev pointer from init
  2016-10-04  7:32 [net-next 00/13] fsl/fman: cleanup and small fixes Madalin Bucur
                   ` (4 preceding siblings ...)
  2016-10-04  7:32 ` [net-next 05/13] fsl/fman: simplify device tree reads Madalin Bucur
@ 2016-10-04  7:32 ` Madalin Bucur
  2016-10-04  7:32 ` [net-next 07/13] fsl/fman: MEMAC may use QSGMII PHY interface mode Madalin Bucur
                   ` (6 subsequent siblings)
  12 siblings, 0 replies; 16+ messages in thread
From: Madalin Bucur @ 2016-10-04  7:32 UTC (permalink / raw)
  To: netdev; +Cc: davem, linuxppc-dev, linux-kernel, linuxdev.baldrick

Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com>
---
 drivers/net/ethernet/freescale/fman/mac.c | 22 +++++++++++-----------
 drivers/net/ethernet/freescale/fman/mac.h |  3 ++-
 2 files changed, 13 insertions(+), 12 deletions(-)

diff --git a/drivers/net/ethernet/freescale/fman/mac.c b/drivers/net/ethernet/freescale/fman/mac.c
index dc04e61..e4378c2 100644
--- a/drivers/net/ethernet/freescale/fman/mac.c
+++ b/drivers/net/ethernet/freescale/fman/mac.c
@@ -469,9 +469,9 @@ static void adjust_link_memac(struct net_device *net_dev)
 /* Initializes driver's PHY state, and attaches to the PHY.
  * Returns 0 on success.
  */
-static int init_phy(struct net_device *net_dev,
-		    struct mac_device *mac_dev,
-		    void (*adj_lnk)(struct net_device *))
+static struct phy_device *init_phy(struct net_device *net_dev,
+				   struct mac_device *mac_dev,
+				   void (*adj_lnk)(struct net_device *))
 {
 	struct phy_device	*phy_dev;
 	struct mac_priv_s	*priv = mac_dev->priv;
@@ -480,7 +480,7 @@ static int init_phy(struct net_device *net_dev,
 				 priv->phy_if);
 	if (!phy_dev) {
 		netdev_err(net_dev, "Could not connect to PHY\n");
-		return -ENODEV;
+		return NULL;
 	}
 
 	/* Remove any features not supported by the controller */
@@ -493,23 +493,23 @@ static int init_phy(struct net_device *net_dev,
 
 	mac_dev->phy_dev = phy_dev;
 
-	return 0;
+	return phy_dev;
 }
 
-static int dtsec_init_phy(struct net_device *net_dev,
-			  struct mac_device *mac_dev)
+static struct phy_device *dtsec_init_phy(struct net_device *net_dev,
+					 struct mac_device *mac_dev)
 {
 	return init_phy(net_dev, mac_dev, &adjust_link_dtsec);
 }
 
-static int tgec_init_phy(struct net_device *net_dev,
-			 struct mac_device *mac_dev)
+static struct phy_device *tgec_init_phy(struct net_device *net_dev,
+					struct mac_device *mac_dev)
 {
 	return init_phy(net_dev, mac_dev, adjust_link_void);
 }
 
-static int memac_init_phy(struct net_device *net_dev,
-			  struct mac_device *mac_dev)
+static struct phy_device *memac_init_phy(struct net_device *net_dev,
+					 struct mac_device *mac_dev)
 {
 	return init_phy(net_dev, mac_dev, &adjust_link_memac);
 }
diff --git a/drivers/net/ethernet/freescale/fman/mac.h b/drivers/net/ethernet/freescale/fman/mac.h
index 0211cc9..d7313f0 100644
--- a/drivers/net/ethernet/freescale/fman/mac.h
+++ b/drivers/net/ethernet/freescale/fman/mac.h
@@ -58,7 +58,8 @@ struct mac_device {
 	bool tx_pause_active;
 	bool promisc;
 
-	int (*init_phy)(struct net_device *net_dev, struct mac_device *mac_dev);
+	struct phy_device *(*init_phy)(struct net_device *net_dev,
+				       struct mac_device *mac_dev);
 	int (*init)(struct mac_device *mac_dev);
 	int (*start)(struct mac_device *mac_dev);
 	int (*stop)(struct mac_device *mac_dev);
-- 
2.1.0

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

* [net-next 07/13] fsl/fman: MEMAC may use QSGMII PHY interface mode
  2016-10-04  7:32 [net-next 00/13] fsl/fman: cleanup and small fixes Madalin Bucur
                   ` (5 preceding siblings ...)
  2016-10-04  7:32 ` [net-next 06/13] fsl/fman: return a phy_dev pointer from init Madalin Bucur
@ 2016-10-04  7:32 ` Madalin Bucur
  2016-10-04  7:32 ` [net-next 08/13] fsl/fman: check pcsphy pointer before use Madalin Bucur
                   ` (5 subsequent siblings)
  12 siblings, 0 replies; 16+ messages in thread
From: Madalin Bucur @ 2016-10-04  7:32 UTC (permalink / raw)
  To: netdev; +Cc: davem, linuxppc-dev, linux-kernel, linuxdev.baldrick

Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com>
---
 drivers/net/ethernet/freescale/fman/fman_memac.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/freescale/fman/fman_memac.c b/drivers/net/ethernet/freescale/fman/fman_memac.c
index 45e98fd..96dfe7e 100644
--- a/drivers/net/ethernet/freescale/fman/fman_memac.c
+++ b/drivers/net/ethernet/freescale/fman/fman_memac.c
@@ -1151,7 +1151,8 @@ struct fman_mac *memac_config(struct fman_mac_params *params)
 	/* Save FMan revision */
 	fman_get_revision(memac->fm, &memac->fm_rev_info);
 
-	if (memac->phy_if == PHY_INTERFACE_MODE_SGMII) {
+	if (memac->phy_if == PHY_INTERFACE_MODE_SGMII ||
+	    memac->phy_if == PHY_INTERFACE_MODE_QSGMII) {
 		if (!params->internal_phy_node) {
 			pr_err("PCS PHY node is not available\n");
 			memac_free(memac);
-- 
2.1.0

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

* [net-next 08/13] fsl/fman: check pcsphy pointer before use
  2016-10-04  7:32 [net-next 00/13] fsl/fman: cleanup and small fixes Madalin Bucur
                   ` (6 preceding siblings ...)
  2016-10-04  7:32 ` [net-next 07/13] fsl/fman: MEMAC may use QSGMII PHY interface mode Madalin Bucur
@ 2016-10-04  7:32 ` Madalin Bucur
  2016-10-04 14:44   ` David Laight
  2016-10-04  7:32 ` [net-next 09/13] fsl/fman: check of_get_phy_mode() return value Madalin Bucur
                   ` (4 subsequent siblings)
  12 siblings, 1 reply; 16+ messages in thread
From: Madalin Bucur @ 2016-10-04  7:32 UTC (permalink / raw)
  To: netdev; +Cc: davem, linuxppc-dev, linux-kernel, linuxdev.baldrick

Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com>
---
 drivers/net/ethernet/freescale/fman/fman_memac.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/net/ethernet/freescale/fman/fman_memac.c b/drivers/net/ethernet/freescale/fman/fman_memac.c
index 96dfe7e..53ef51e 100644
--- a/drivers/net/ethernet/freescale/fman/fman_memac.c
+++ b/drivers/net/ethernet/freescale/fman/fman_memac.c
@@ -507,6 +507,9 @@ static void setup_sgmii_internal_phy(struct fman_mac *memac,
 {
 	u16 tmp_reg16;
 
+	if (WARN_ON(!memac->pcsphy))
+		return;
+
 	/* SGMII mode */
 	tmp_reg16 = IF_MODE_SGMII_EN;
 	if (!fixed_link)
-- 
2.1.0

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

* [net-next 09/13] fsl/fman: check of_get_phy_mode() return value
  2016-10-04  7:32 [net-next 00/13] fsl/fman: cleanup and small fixes Madalin Bucur
                   ` (7 preceding siblings ...)
  2016-10-04  7:32 ` [net-next 08/13] fsl/fman: check pcsphy pointer before use Madalin Bucur
@ 2016-10-04  7:32 ` Madalin Bucur
  2016-10-04  7:32 ` [net-next 10/13] fsl/fman: simplify redundant condition Madalin Bucur
                   ` (3 subsequent siblings)
  12 siblings, 0 replies; 16+ messages in thread
From: Madalin Bucur @ 2016-10-04  7:32 UTC (permalink / raw)
  To: netdev; +Cc: davem, linuxppc-dev, linux-kernel, linuxdev.baldrick

For unknown compatibles avoid crashing and default to SGMII.

Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com>
---
 drivers/net/ethernet/freescale/fman/mac.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/freescale/fman/mac.c b/drivers/net/ethernet/freescale/fman/mac.c
index e4378c2..8fe6b3e 100644
--- a/drivers/net/ethernet/freescale/fman/mac.c
+++ b/drivers/net/ethernet/freescale/fman/mac.c
@@ -663,6 +663,7 @@ static int mac_probe(struct platform_device *_of_dev)
 	const u8		*mac_addr;
 	u32			 val;
 	u8			fman_id;
+	int			phy_if;
 
 	dev = &_of_dev->dev;
 	mac_node = dev->of_node;
@@ -842,13 +843,14 @@ static int mac_probe(struct platform_device *_of_dev)
 	}
 
 	/* Get the PHY connection type */
-	priv->phy_if = of_get_phy_mode(mac_node);
-	if (priv->phy_if < 0) {
+	phy_if = of_get_phy_mode(mac_node);
+	if (phy_if < 0) {
 		dev_warn(dev,
-			 "of_get_phy_mode() for %s failed. Defaulting to MII\n",
+			 "of_get_phy_mode() for %s failed. Defaulting to SGMII\n",
 			 mac_node->full_name);
-		priv->phy_if = PHY_INTERFACE_MODE_MII;
+		phy_if = PHY_INTERFACE_MODE_SGMII;
 	}
+	priv->phy_if = phy_if;
 
 	priv->speed		= phy2speed[priv->phy_if];
 	priv->max_speed		= priv->speed;
-- 
2.1.0

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

* [net-next 10/13] fsl/fman: simplify redundant condition
  2016-10-04  7:32 [net-next 00/13] fsl/fman: cleanup and small fixes Madalin Bucur
                   ` (8 preceding siblings ...)
  2016-10-04  7:32 ` [net-next 09/13] fsl/fman: check of_get_phy_mode() return value Madalin Bucur
@ 2016-10-04  7:32 ` Madalin Bucur
  2016-10-04  7:32 ` [net-next 11/13] fsl/fman: fix return value checking Madalin Bucur
                   ` (2 subsequent siblings)
  12 siblings, 0 replies; 16+ messages in thread
From: Madalin Bucur @ 2016-10-04  7:32 UTC (permalink / raw)
  To: netdev; +Cc: davem, linuxppc-dev, linux-kernel, linuxdev.baldrick

Change suggested by David Binderman, thanks.

Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com>
---
 drivers/net/ethernet/freescale/fman/fman.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/freescale/fman/fman.c b/drivers/net/ethernet/freescale/fman/fman.c
index 2278bbd..1fc1049 100644
--- a/drivers/net/ethernet/freescale/fman/fman.c
+++ b/drivers/net/ethernet/freescale/fman/fman.c
@@ -2331,8 +2331,7 @@ int fman_set_mac_max_frame(struct fman *fman, u8 mac_id, u16 mfl)
 	 * or equal to the port's max
 	 */
 	if ((!fman->state->port_mfl[mac_id]) ||
-	    (fman->state->port_mfl[mac_id] &&
-	    (mfl <= fman->state->port_mfl[mac_id]))) {
+	    (mfl <= fman->state->port_mfl[mac_id])) {
 		fman->state->mac_mfl[mac_id] = mfl;
 	} else {
 		dev_warn(fman->dev, "%s: MAC max_frame_length is larger than Port max_frame_length\n",
-- 
2.1.0

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

* [net-next 11/13] fsl/fman: fix return value checking
  2016-10-04  7:32 [net-next 00/13] fsl/fman: cleanup and small fixes Madalin Bucur
                   ` (9 preceding siblings ...)
  2016-10-04  7:32 ` [net-next 10/13] fsl/fman: simplify redundant condition Madalin Bucur
@ 2016-10-04  7:32 ` Madalin Bucur
  2016-10-04  7:32 ` [net-next 12/13] fsl/fman: remove leftover comment Madalin Bucur
  2016-10-04  7:32 ` [net-next 13/13] MAINTAINERS: net: add entry for Freescale QorIQ DPAA FMan driver Madalin Bucur
  12 siblings, 0 replies; 16+ messages in thread
From: Madalin Bucur @ 2016-10-04  7:32 UTC (permalink / raw)
  To: netdev; +Cc: davem, linuxppc-dev, linux-kernel, linuxdev.baldrick

Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com>
---
 drivers/net/ethernet/freescale/fman/fman.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/freescale/fman/fman.c b/drivers/net/ethernet/freescale/fman/fman.c
index 1fc1049..dafd9e1 100644
--- a/drivers/net/ethernet/freescale/fman/fman.c
+++ b/drivers/net/ethernet/freescale/fman/fman.c
@@ -618,7 +618,7 @@ struct fman {
 	unsigned long cam_offset;
 	size_t cam_size;
 	/* Fifo in MURAM */
-	int fifo_offset;
+	unsigned long fifo_offset;
 	size_t fifo_size;
 
 	u32 liodn_base[64];
@@ -2036,7 +2036,7 @@ static int fman_init(struct fman *fman)
 	/* allocate MURAM for FIFO according to total size */
 	fman->fifo_offset = fman_muram_alloc(fman->muram,
 					     fman->state->total_fifo_size);
-	if (IS_ERR_VALUE(fman->cam_offset)) {
+	if (IS_ERR_VALUE(fman->fifo_offset)) {
 		free_init_resources(fman);
 		dev_err(fman->dev, "%s: MURAM alloc for BMI FIFO failed\n",
 			__func__);
-- 
2.1.0

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

* [net-next 12/13] fsl/fman: remove leftover comment
  2016-10-04  7:32 [net-next 00/13] fsl/fman: cleanup and small fixes Madalin Bucur
                   ` (10 preceding siblings ...)
  2016-10-04  7:32 ` [net-next 11/13] fsl/fman: fix return value checking Madalin Bucur
@ 2016-10-04  7:32 ` Madalin Bucur
  2016-10-04  7:32 ` [net-next 13/13] MAINTAINERS: net: add entry for Freescale QorIQ DPAA FMan driver Madalin Bucur
  12 siblings, 0 replies; 16+ messages in thread
From: Madalin Bucur @ 2016-10-04  7:32 UTC (permalink / raw)
  To: netdev; +Cc: davem, linuxppc-dev, linux-kernel, linuxdev.baldrick

Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com>
---
 drivers/net/ethernet/freescale/fman/fman_mac.h | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/drivers/net/ethernet/freescale/fman/fman_mac.h b/drivers/net/ethernet/freescale/fman/fman_mac.h
index ddf0260..dd6d052 100644
--- a/drivers/net/ethernet/freescale/fman/fman_mac.h
+++ b/drivers/net/ethernet/freescale/fman/fman_mac.h
@@ -191,10 +191,6 @@ struct fman_mac_params {
 	u16 max_speed;
 	/* A handle to the FM object this port related to */
 	void *fm;
-	/* MDIO exceptions interrupt source - not valid for all
-	 * MACs; MUST be set to 0 for MACs that don't have
-	 * mdio-irq, or for polling
-	 */
 	void *dev_id; /* device cookie used by the exception cbs */
 	fman_mac_exception_cb *event_cb;    /* MDIO Events Callback Routine */
 	fman_mac_exception_cb *exception_cb;/* Exception Callback Routine */
-- 
2.1.0

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

* [net-next 13/13] MAINTAINERS: net: add entry for Freescale QorIQ DPAA FMan driver
  2016-10-04  7:32 [net-next 00/13] fsl/fman: cleanup and small fixes Madalin Bucur
                   ` (11 preceding siblings ...)
  2016-10-04  7:32 ` [net-next 12/13] fsl/fman: remove leftover comment Madalin Bucur
@ 2016-10-04  7:32 ` Madalin Bucur
  12 siblings, 0 replies; 16+ messages in thread
From: Madalin Bucur @ 2016-10-04  7:32 UTC (permalink / raw)
  To: netdev; +Cc: davem, linuxppc-dev, linux-kernel, linuxdev.baldrick

Add record for Freescale QORIQ DPAA FMan driver adding myself as
maintainer.

Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com>
---
 MAINTAINERS | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/MAINTAINERS b/MAINTAINERS
index 669909e..3460152 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -4980,6 +4980,13 @@ F:	drivers/net/ethernet/freescale/fec_ptp.c
 F:	drivers/net/ethernet/freescale/fec.h
 F:	Documentation/devicetree/bindings/net/fsl-fec.txt
 
+FREESCALE QORIQ DPAA FMAN DRIVER
+M:	Madalin Bucur <madalin.bucur@nxp.com>
+L:	netdev@vger.kernel.org
+S:	Maintained
+F:	drivers/net/ethernet/freescale/fman
+F:	Documentation/devicetree/bindings/powerpc/fsl/fman.txt
+
 FREESCALE QUICC ENGINE LIBRARY
 L:	linuxppc-dev@lists.ozlabs.org
 S:	Orphan
-- 
2.1.0

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

* RE: [net-next 08/13] fsl/fman: check pcsphy pointer before use
  2016-10-04  7:32 ` [net-next 08/13] fsl/fman: check pcsphy pointer before use Madalin Bucur
@ 2016-10-04 14:44   ` David Laight
  2016-10-05  9:08     ` Madalin-Cristian Bucur
  0 siblings, 1 reply; 16+ messages in thread
From: David Laight @ 2016-10-04 14:44 UTC (permalink / raw)
  To: 'madalin.bucur@nxp.com', netdev
  Cc: linuxdev.baldrick, linuxppc-dev, davem, linux-kernel

From: Madalin Bucur
> Sent: 04 October 2016 08:33
> Subject: [net-next 08/13] fsl/fman: check pcsphy pointer before use
..
> --- a/drivers/net/ethernet/freescale/fman/fman_memac.c
> +++ b/drivers/net/ethernet/freescale/fman/fman_memac.c
> @@ -507,6 +507,9 @@ static void setup_sgmii_internal_phy(struct fman_mac *memac,
>  {
>  	u16 tmp_reg16;
> 
> +	if (WARN_ON(!memac->pcsphy))
> +		return;
> +

Why?

Either it can validly be NULL in which case you don't want the message.
Or it shouldn't be NULL in which case you need to find and fix the bug.
The later kernel OOPS will make the bug much easier to find.

	David

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

* RE: [net-next 08/13] fsl/fman: check pcsphy pointer before use
  2016-10-04 14:44   ` David Laight
@ 2016-10-05  9:08     ` Madalin-Cristian Bucur
  0 siblings, 0 replies; 16+ messages in thread
From: Madalin-Cristian Bucur @ 2016-10-05  9:08 UTC (permalink / raw)
  To: David Laight, netdev; +Cc: linuxdev.baldrick, linuxppc-dev, davem, linux-kernel

> -----Original Message-----
> From: David Laight [mailto:David.Laight@ACULAB.COM]
> Sent: Tuesday, October 04, 2016 5:44 PM
> To: Madalin-Cristian Bucur <madalin.bucur@nxp.com>;
> netdev@vger.kernel.org
> Cc: linuxdev.baldrick@gmail.com; linuxppc-dev@lists.ozlabs.org;
> davem@davemloft.net; linux-kernel@vger.kernel.org
> Subject: RE: [net-next 08/13] fsl/fman: check pcsphy pointer before use
> 
> From: Madalin Bucur
> > Sent: 04 October 2016 08:33
> > Subject: [net-next 08/13] fsl/fman: check pcsphy pointer before use
> ..
> > --- a/drivers/net/ethernet/freescale/fman/fman_memac.c
> > +++ b/drivers/net/ethernet/freescale/fman/fman_memac.c
> > @@ -507,6 +507,9 @@ static void setup_sgmii_internal_phy(struct
> fman_mac *memac,
> >  {
> >  	u16 tmp_reg16;
> >
> > +	if (WARN_ON(!memac->pcsphy))
> > +		return;
> > +
> 
> Why?
> 
> Either it can validly be NULL in which case you don't want the message.
> Or it shouldn't be NULL in which case you need to find and fix the bug.
> The later kernel OOPS will make the bug much easier to find.
> 
> 	David

You can get into that situation if you have a broken device tree, state into
which someone may get while trying to create the device tree for a new
board. Avoiding a crash here allows the user to look at the device trees as
seen by the kernel / add some debug code if needed.

Madalin

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

end of thread, other threads:[~2016-10-05 19:41 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-04  7:32 [net-next 00/13] fsl/fman: cleanup and small fixes Madalin Bucur
2016-10-04  7:32 ` [net-next 01/13] fsl/fman: split lines over 80 characters Madalin Bucur
2016-10-04  7:32 ` [net-next 02/13] fsl/fman: fix loadable module compilation Madalin Bucur
2016-10-04  7:32 ` [net-next 03/13] fsl/fman: small fixes Madalin Bucur
2016-10-04  7:32 ` [net-next 04/13] fsl/fman: use of_get_phy_mode() Madalin Bucur
2016-10-04  7:32 ` [net-next 05/13] fsl/fman: simplify device tree reads Madalin Bucur
2016-10-04  7:32 ` [net-next 06/13] fsl/fman: return a phy_dev pointer from init Madalin Bucur
2016-10-04  7:32 ` [net-next 07/13] fsl/fman: MEMAC may use QSGMII PHY interface mode Madalin Bucur
2016-10-04  7:32 ` [net-next 08/13] fsl/fman: check pcsphy pointer before use Madalin Bucur
2016-10-04 14:44   ` David Laight
2016-10-05  9:08     ` Madalin-Cristian Bucur
2016-10-04  7:32 ` [net-next 09/13] fsl/fman: check of_get_phy_mode() return value Madalin Bucur
2016-10-04  7:32 ` [net-next 10/13] fsl/fman: simplify redundant condition Madalin Bucur
2016-10-04  7:32 ` [net-next 11/13] fsl/fman: fix return value checking Madalin Bucur
2016-10-04  7:32 ` [net-next 12/13] fsl/fman: remove leftover comment Madalin Bucur
2016-10-04  7:32 ` [net-next 13/13] MAINTAINERS: net: add entry for Freescale QorIQ DPAA FMan driver Madalin Bucur

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).