All of lore.kernel.org
 help / color / mirror / Atom feed
* [net-next 0/6] can: tcan4x5x: various cleanups
@ 2020-11-30 13:37 Marc Kleine-Budde
  2020-11-30 13:37 ` [net-next 1/6] can: tcan4x5x: remove mram_start and reg_offset from struct tcan4x5x_priv Marc Kleine-Budde
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: Marc Kleine-Budde @ 2020-11-30 13:37 UTC (permalink / raw)
  To: linux-can; +Cc: Dan Murphy, Sriram Dash

Hello,

this is a small series of various cleanups for the tcan4x5x and m_can driver.

regards,
Marc




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

* [net-next 1/6] can: tcan4x5x: remove mram_start and reg_offset from struct tcan4x5x_priv
  2020-11-30 13:37 [net-next 0/6] can: tcan4x5x: various cleanups Marc Kleine-Budde
@ 2020-11-30 13:37 ` Marc Kleine-Budde
  2020-11-30 13:37 ` [net-next 2/6] can: tcan4x5x: tcan4x5x_can_probe(): remove probe failed error message Marc Kleine-Budde
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Marc Kleine-Budde @ 2020-11-30 13:37 UTC (permalink / raw)
  To: linux-can; +Cc: Dan Murphy, Sriram Dash, Marc Kleine-Budde

Both struct tcan4x5x_priv::mram_start and struct tcan4x5x_priv::reg_offset are
only assigned once with a constant and then always used read-only. This patch
changes the driver to use the constant directly instead.

Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
---
 drivers/net/can/m_can/tcan4x5x.c | 14 ++++----------
 1 file changed, 4 insertions(+), 10 deletions(-)

diff --git a/drivers/net/can/m_can/tcan4x5x.c b/drivers/net/can/m_can/tcan4x5x.c
index a2144bbcd486..04bb392f60fa 100644
--- a/drivers/net/can/m_can/tcan4x5x.c
+++ b/drivers/net/can/m_can/tcan4x5x.c
@@ -123,10 +123,6 @@ struct tcan4x5x_priv {
 	struct gpio_desc *device_wake_gpio;
 	struct gpio_desc *device_state_gpio;
 	struct regulator *power;
-
-	/* Register based ip */
-	int mram_start;
-	int reg_offset;
 };
 
 static struct can_bittiming_const tcan4x5x_bittiming_const = {
@@ -260,7 +256,7 @@ static u32 tcan4x5x_read_reg(struct m_can_classdev *cdev, int reg)
 	struct tcan4x5x_priv *priv = cdev->device_data;
 	u32 val;
 
-	regmap_read(priv->regmap, priv->reg_offset + reg, &val);
+	regmap_read(priv->regmap, TCAN4X5X_MCAN_OFFSET + reg, &val);
 
 	return val;
 }
@@ -270,7 +266,7 @@ static u32 tcan4x5x_read_fifo(struct m_can_classdev *cdev, int addr_offset)
 	struct tcan4x5x_priv *priv = cdev->device_data;
 	u32 val;
 
-	regmap_read(priv->regmap, priv->mram_start + addr_offset, &val);
+	regmap_read(priv->regmap, TCAN4X5X_MRAM_START + addr_offset, &val);
 
 	return val;
 }
@@ -279,7 +275,7 @@ static int tcan4x5x_write_reg(struct m_can_classdev *cdev, int reg, int val)
 {
 	struct tcan4x5x_priv *priv = cdev->device_data;
 
-	return regmap_write(priv->regmap, priv->reg_offset + reg, val);
+	return regmap_write(priv->regmap, TCAN4X5X_MCAN_OFFSET + reg, val);
 }
 
 static int tcan4x5x_write_fifo(struct m_can_classdev *cdev,
@@ -287,7 +283,7 @@ static int tcan4x5x_write_fifo(struct m_can_classdev *cdev,
 {
 	struct tcan4x5x_priv *priv = cdev->device_data;
 
-	return regmap_write(priv->regmap, priv->mram_start + addr_offset, val);
+	return regmap_write(priv->regmap, TCAN4X5X_MRAM_START + addr_offset, val);
 }
 
 static int tcan4x5x_power_enable(struct regulator *reg, int enable)
@@ -465,8 +461,6 @@ static int tcan4x5x_can_probe(struct spi_device *spi)
 		goto out_m_can_class_free_dev;
 	}
 
-	priv->reg_offset = TCAN4X5X_MCAN_OFFSET;
-	priv->mram_start = TCAN4X5X_MRAM_START;
 	priv->spi = spi;
 	priv->mcan_dev = mcan_class;
 
-- 
2.29.2



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

* [net-next 2/6] can: tcan4x5x: tcan4x5x_can_probe(): remove probe failed error message
  2020-11-30 13:37 [net-next 0/6] can: tcan4x5x: various cleanups Marc Kleine-Budde
  2020-11-30 13:37 ` [net-next 1/6] can: tcan4x5x: remove mram_start and reg_offset from struct tcan4x5x_priv Marc Kleine-Budde
@ 2020-11-30 13:37 ` Marc Kleine-Budde
  2020-11-30 13:37 ` [net-next 3/6] can: m_can: Kconfig: convert the into menu Marc Kleine-Budde
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Marc Kleine-Budde @ 2020-11-30 13:37 UTC (permalink / raw)
  To: linux-can; +Cc: Dan Murphy, Sriram Dash, Marc Kleine-Budde

The driver core already emits a probe failed error message, so remove this one
from the driver.

Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
---
 drivers/net/can/m_can/tcan4x5x.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/net/can/m_can/tcan4x5x.c b/drivers/net/can/m_can/tcan4x5x.c
index 04bb392f60fa..483a78dca17e 100644
--- a/drivers/net/can/m_can/tcan4x5x.c
+++ b/drivers/net/can/m_can/tcan4x5x.c
@@ -516,8 +516,6 @@ static int tcan4x5x_can_probe(struct spi_device *spi)
 	}
  out_m_can_class_free_dev:
 	m_can_class_free_dev(mcan_class->net);
-	dev_err(&spi->dev, "Probe failed, err=%d\n", ret);
-
 	return ret;
 }
 
-- 
2.29.2



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

* [net-next 3/6] can: m_can: Kconfig: convert the into menu
  2020-11-30 13:37 [net-next 0/6] can: tcan4x5x: various cleanups Marc Kleine-Budde
  2020-11-30 13:37 ` [net-next 1/6] can: tcan4x5x: remove mram_start and reg_offset from struct tcan4x5x_priv Marc Kleine-Budde
  2020-11-30 13:37 ` [net-next 2/6] can: tcan4x5x: tcan4x5x_can_probe(): remove probe failed error message Marc Kleine-Budde
@ 2020-11-30 13:37 ` Marc Kleine-Budde
  2020-11-30 13:37 ` [net-next 4/6] can: m_can: remove not used variable struct m_can_classdev::freq Marc Kleine-Budde
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Marc Kleine-Budde @ 2020-11-30 13:37 UTC (permalink / raw)
  To: linux-can; +Cc: Dan Murphy, Sriram Dash, Marc Kleine-Budde

Since there is more than one base driver for the m_can core, let's
convert this into a menu.

Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
---
 drivers/net/can/m_can/Kconfig | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/net/can/m_can/Kconfig b/drivers/net/can/m_can/Kconfig
index 5f9f8192dd0b..e3eb69b76cf5 100644
--- a/drivers/net/can/m_can/Kconfig
+++ b/drivers/net/can/m_can/Kconfig
@@ -1,21 +1,21 @@
 # SPDX-License-Identifier: GPL-2.0-only
-config CAN_M_CAN
+menuconfig CAN_M_CAN
 	tristate "Bosch M_CAN support"
 	help
 	  Say Y here if you want support for Bosch M_CAN controller framework.
 	  This is common support for devices that embed the Bosch M_CAN IP.
 
+if CAN_M_CAN
+
 config CAN_M_CAN_PLATFORM
 	tristate "Bosch M_CAN support for io-mapped devices"
 	depends on HAS_IOMEM
-	depends on CAN_M_CAN
 	help
 	  Say Y here if you want support for IO Mapped Bosch M_CAN controller.
 	  This support is for devices that have the Bosch M_CAN controller
 	  IP embedded into the device and the IP is IO Mapped to the processor.
 
 config CAN_M_CAN_TCAN4X5X
-	depends on CAN_M_CAN
 	depends on SPI
 	select REGMAP_SPI
 	tristate "TCAN4X5X M_CAN device"
@@ -23,3 +23,5 @@ config CAN_M_CAN_TCAN4X5X
 	  Say Y here if you want support for Texas Instruments TCAN4x5x
 	  M_CAN controller.  This device is a peripheral device that uses the
 	  SPI bus for communication.
+
+endif
-- 
2.29.2



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

* [net-next 4/6] can: m_can: remove not used variable struct m_can_classdev::freq
  2020-11-30 13:37 [net-next 0/6] can: tcan4x5x: various cleanups Marc Kleine-Budde
                   ` (2 preceding siblings ...)
  2020-11-30 13:37 ` [net-next 3/6] can: m_can: Kconfig: convert the into menu Marc Kleine-Budde
@ 2020-11-30 13:37 ` Marc Kleine-Budde
  2020-11-30 13:37 ` [net-next 5/6] can: m_can: m_can_plat_remove(): remove unneeded platform_set_drvdata() Marc Kleine-Budde
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Marc Kleine-Budde @ 2020-11-30 13:37 UTC (permalink / raw)
  To: linux-can; +Cc: Dan Murphy, Sriram Dash, Marc Kleine-Budde

This patch removes the unused variable freq from the struct m_can_classdev.

Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
---
 drivers/net/can/m_can/m_can.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/net/can/m_can/m_can.h b/drivers/net/can/m_can/m_can.h
index b2699a7c9997..f8a692596e59 100644
--- a/drivers/net/can/m_can/m_can.h
+++ b/drivers/net/can/m_can/m_can.h
@@ -89,7 +89,6 @@ struct m_can_classdev {
 	void *device_data;
 
 	int version;
-	int freq;
 	u32 irqstatus;
 
 	int pm_clock_support;
-- 
2.29.2



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

* [net-next 5/6] can: m_can: m_can_plat_remove(): remove unneeded platform_set_drvdata()
  2020-11-30 13:37 [net-next 0/6] can: tcan4x5x: various cleanups Marc Kleine-Budde
                   ` (3 preceding siblings ...)
  2020-11-30 13:37 ` [net-next 4/6] can: m_can: remove not used variable struct m_can_classdev::freq Marc Kleine-Budde
@ 2020-11-30 13:37 ` Marc Kleine-Budde
  2020-11-30 13:37 ` [net-next 6/6] can: m_can: m_can_class_unregister(): move right after m_can_class_register() Marc Kleine-Budde
  2020-11-30 13:40 ` [net-next 0/6] can: tcan4x5x: various cleanups Dan Murphy
  6 siblings, 0 replies; 8+ messages in thread
From: Marc Kleine-Budde @ 2020-11-30 13:37 UTC (permalink / raw)
  To: linux-can; +Cc: Dan Murphy, Sriram Dash, Marc Kleine-Budde

There's no need to unset the drvdata on remove, so remove the unneeded call to
platform_set_drvdata() in m_can_plat_remove().

Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
---
 drivers/net/can/m_can/m_can_platform.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/net/can/m_can/m_can_platform.c b/drivers/net/can/m_can/m_can_platform.c
index 161cb9be018c..c45a889a1afd 100644
--- a/drivers/net/can/m_can/m_can_platform.c
+++ b/drivers/net/can/m_can/m_can_platform.c
@@ -141,8 +141,6 @@ static int m_can_plat_remove(struct platform_device *pdev)
 
 	m_can_class_free_dev(mcan_class->net);
 
-	platform_set_drvdata(pdev, NULL);
-
 	return 0;
 }
 
-- 
2.29.2



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

* [net-next 6/6] can: m_can: m_can_class_unregister(): move right after m_can_class_register()
  2020-11-30 13:37 [net-next 0/6] can: tcan4x5x: various cleanups Marc Kleine-Budde
                   ` (4 preceding siblings ...)
  2020-11-30 13:37 ` [net-next 5/6] can: m_can: m_can_plat_remove(): remove unneeded platform_set_drvdata() Marc Kleine-Budde
@ 2020-11-30 13:37 ` Marc Kleine-Budde
  2020-11-30 13:40 ` [net-next 0/6] can: tcan4x5x: various cleanups Dan Murphy
  6 siblings, 0 replies; 8+ messages in thread
From: Marc Kleine-Budde @ 2020-11-30 13:37 UTC (permalink / raw)
  To: linux-can; +Cc: Dan Murphy, Sriram Dash, Marc Kleine-Budde

This patch moves the function m_can_class_unregister() directly after the
m_can_class_register() function.

Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
---
 drivers/net/can/m_can/m_can.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/net/can/m_can/m_can.c b/drivers/net/can/m_can/m_can.c
index 553ff39199aa..05c978d1c53d 100644
--- a/drivers/net/can/m_can/m_can.c
+++ b/drivers/net/can/m_can/m_can.c
@@ -1869,6 +1869,14 @@ int m_can_class_register(struct m_can_classdev *m_can_dev)
 }
 EXPORT_SYMBOL_GPL(m_can_class_register);
 
+void m_can_class_unregister(struct m_can_classdev *m_can_dev)
+{
+	unregister_candev(m_can_dev->net);
+
+	m_can_clk_stop(m_can_dev);
+}
+EXPORT_SYMBOL_GPL(m_can_class_unregister);
+
 int m_can_class_suspend(struct device *dev)
 {
 	struct net_device *ndev = dev_get_drvdata(dev);
@@ -1915,14 +1923,6 @@ int m_can_class_resume(struct device *dev)
 }
 EXPORT_SYMBOL_GPL(m_can_class_resume);
 
-void m_can_class_unregister(struct m_can_classdev *m_can_dev)
-{
-	unregister_candev(m_can_dev->net);
-
-	m_can_clk_stop(m_can_dev);
-}
-EXPORT_SYMBOL_GPL(m_can_class_unregister);
-
 MODULE_AUTHOR("Dong Aisheng <b29396@freescale.com>");
 MODULE_AUTHOR("Dan Murphy <dmurphy@ti.com>");
 MODULE_LICENSE("GPL v2");
-- 
2.29.2



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

* Re: [net-next 0/6] can: tcan4x5x: various cleanups
  2020-11-30 13:37 [net-next 0/6] can: tcan4x5x: various cleanups Marc Kleine-Budde
                   ` (5 preceding siblings ...)
  2020-11-30 13:37 ` [net-next 6/6] can: m_can: m_can_class_unregister(): move right after m_can_class_register() Marc Kleine-Budde
@ 2020-11-30 13:40 ` Dan Murphy
  6 siblings, 0 replies; 8+ messages in thread
From: Dan Murphy @ 2020-11-30 13:40 UTC (permalink / raw)
  To: Marc Kleine-Budde, linux-can; +Cc: Sriram Dash

Marc

On 11/30/20 7:37 AM, Marc Kleine-Budde wrote:
> Hello,
>
> this is a small series of various cleanups for the tcan4x5x and m_can driver.
>
> regards,
> Marc
>
>
>
For the series

Reviewed-by: Dan Murphy <dmurphy@ti.com>


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

end of thread, other threads:[~2020-11-30 13:42 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-30 13:37 [net-next 0/6] can: tcan4x5x: various cleanups Marc Kleine-Budde
2020-11-30 13:37 ` [net-next 1/6] can: tcan4x5x: remove mram_start and reg_offset from struct tcan4x5x_priv Marc Kleine-Budde
2020-11-30 13:37 ` [net-next 2/6] can: tcan4x5x: tcan4x5x_can_probe(): remove probe failed error message Marc Kleine-Budde
2020-11-30 13:37 ` [net-next 3/6] can: m_can: Kconfig: convert the into menu Marc Kleine-Budde
2020-11-30 13:37 ` [net-next 4/6] can: m_can: remove not used variable struct m_can_classdev::freq Marc Kleine-Budde
2020-11-30 13:37 ` [net-next 5/6] can: m_can: m_can_plat_remove(): remove unneeded platform_set_drvdata() Marc Kleine-Budde
2020-11-30 13:37 ` [net-next 6/6] can: m_can: m_can_class_unregister(): move right after m_can_class_register() Marc Kleine-Budde
2020-11-30 13:40 ` [net-next 0/6] can: tcan4x5x: various cleanups Dan Murphy

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.