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