linux-can.vger.kernel.org archive mirror
 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 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).