* [PATCH net-next 0/11] pull-request: can-next 2026-08-18
@ 2026-08-17 23:24 Marc Kleine-Budde
2026-08-17 23:24 ` [PATCH net-next 01/11] can: tcan4x5x: put tcan into sleep when removing driver Marc Kleine-Budde
` (10 more replies)
0 siblings, 11 replies; 14+ messages in thread
From: Marc Kleine-Budde @ 2026-08-17 23:24 UTC (permalink / raw)
To: netdev; +Cc: davem, kuba, linux-can, kernel
Hello netdev-team,
this is a pull request of 11 patches for net-next/main.
The first patch is by Sean Nyekjaer, targets the tcan4x5x driver and
puts the device into sleep mode before removing the driver.
Pavel Pisa's patch fixes the colors in the documentation of the TX
buffer FSM of CTU CAN FD driver.
2 patches by Cunhao Lu add support for the rockchip 3588 SoC to the
rockchip CAN-FD driver.
Kuniyuki Iwashima contributes per-netns device unregistration for the
vxcan driver.
Eduard Bostina converts the TI HECC DT bindings doc to DT schema.
Harini T contributes 2 patches to the xilinx_can driver to document
phys and update maintainer.
A patch by bui duc phuc converts the m_can driver to use
of_property_present() for wakeup-source.
Fanbo He's patch fixes a typo in the gs_usb driver.
The last patch is by Markus Schneider-Pargmann and removed not needed
driver_data from the m_can PCI driver.
regards,
Marc
---
The following changes since commit e6a5d573d24cd375e09d24f136523cb3cc85c9d3:
net: dsa: drop explicit NULL comparisons (2026-08-14 13:57:27 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next.git tags/linux-can-next-for-7.3-20260818
for you to fetch changes up to f6a48a7b10be44c470f5ce1037ebaaf343f384f7:
can: m_can: pci: Remove driver_data (2026-08-17 19:20:38 +0200)
----------------------------------------------------------------
linux-can-next-for-7.3-20260818
----------------------------------------------------------------
Cunhao Lu (2):
dt-bindings: can: rockchip: add rk3588 CAN-FD compatible
can: rockchip: add RK3588 CAN support
Eduard Bostina (1):
dt-bindings: net: can: Convert TI HECC to DT schema
Fanbo He (1):
drivers: gs_usb: gs_usb_probe(): fix typo in error message
Harini T (2):
MAINTAINERS: Replace maintainer for Xilinx CAN driver
dt-bindings: can: xilinx_can: Document phys property
Kuniyuki Iwashima (1):
can: vxcan: support per-netns device unregistration.
Marc Kleine-Budde (2):
Merge patch series "dt-bindings: can: rockchip: add rk3588 CAN-FD compatible"
Merge patch series "dt-bindings: can: xilinx_can: Document phys and update maintainer"
Markus Schneider-Pargmann (The Capable Hub) (1):
can: m_can: pci: Remove driver_data
Pavel Pisa (1):
docs: ctucanfd: fix swapped colors in legend for TX buffer FSM of CTU CAN FD
Sean Nyekjaer (1):
can: tcan4x5x: put tcan into sleep when removing driver
bui duc phuc (1):
can: m_can: Use of_property_present() for wakeup-source
.../bindings/net/can/rockchip,rk3568v2-canfd.yaml | 4 +-
.../bindings/net/can/ti,am3517-hecc.yaml | 64 ++++++++++++++++++++++
.../devicetree/bindings/net/can/ti_hecc.txt | 32 -----------
.../devicetree/bindings/net/can/xilinx,can.yaml | 5 +-
.../device_drivers/can/ctu/fsm_txt_buffer_user.svg | 4 +-
MAINTAINERS | 2 +-
drivers/net/can/m_can/m_can.c | 2 +-
drivers/net/can/m_can/m_can_pci.c | 6 +-
drivers/net/can/m_can/tcan4x5x-core.c | 31 +++++++++--
drivers/net/can/rockchip/rockchip_canfd-core.c | 17 ++++++
drivers/net/can/rockchip/rockchip_canfd-rx.c | 5 +-
drivers/net/can/rockchip/rockchip_canfd.h | 14 ++++-
drivers/net/can/usb/gs_usb.c | 2 +-
drivers/net/can/vxcan.c | 26 +++++----
14 files changed, 155 insertions(+), 59 deletions(-)
create mode 100644 Documentation/devicetree/bindings/net/can/ti,am3517-hecc.yaml
delete mode 100644 Documentation/devicetree/bindings/net/can/ti_hecc.txt
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH net-next 01/11] can: tcan4x5x: put tcan into sleep when removing driver
2026-08-17 23:24 [PATCH net-next 0/11] pull-request: can-next 2026-08-18 Marc Kleine-Budde
@ 2026-08-17 23:24 ` Marc Kleine-Budde
2026-08-18 18:37 ` patchwork-bot+netdevbpf
2026-08-18 18:41 ` patchwork-bot+netdevbpf
2026-08-17 23:24 ` [PATCH net-next 02/11] dt-bindings: can: rockchip: add rk3588 CAN-FD compatible Marc Kleine-Budde
` (9 subsequent siblings)
10 siblings, 2 replies; 14+ messages in thread
From: Marc Kleine-Budde @ 2026-08-17 23:24 UTC (permalink / raw)
To: netdev; +Cc: davem, kuba, linux-can, kernel, Sean Nyekjaer, Marc Kleine-Budde
From: Sean Nyekjaer <sean@geanix.com>
Put the tcan4x5x transceiver into sleep mode when the driver is
removed, instead of leaving it in its current operating mode.
This reduces power consumption(3mA@12V) once the driver is
no longer bound to the device.
Signed-off-by: Sean Nyekjaer <sean@geanix.com>
Link: https://patch.msgid.link/20260805110708.3220251-1-sean@geanix.com
[mkl: tcan4x5x_power_enable(): reduce scope of ret]
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
---
drivers/net/can/m_can/tcan4x5x-core.c | 31 +++++++++++++++++++++++----
1 file changed, 27 insertions(+), 4 deletions(-)
diff --git a/drivers/net/can/m_can/tcan4x5x-core.c b/drivers/net/can/m_can/tcan4x5x-core.c
index 31cc9d0abd45..a5b8829aa519 100644
--- a/drivers/net/can/m_can/tcan4x5x-core.c
+++ b/drivers/net/can/m_can/tcan4x5x-core.c
@@ -211,8 +211,31 @@ static int tcan4x5x_write_fifo(struct m_can_classdev *cdev,
return regmap_bulk_write(priv->regmap, TCAN4X5X_MRAM_START + addr_offset, val, val_count);
}
-static int tcan4x5x_power_enable(struct regulator *reg, int enable)
+static int tcan4x5x_power_enable(struct tcan4x5x_priv *priv, int enable)
{
+ struct regulator *reg = priv->power;
+
+ /*
+ * Put the device into sleep mode if the RST pin is available,
+ * since a wake-up event, RST pin toggle, or power cycle are the only
+ * ways to exit sleep mode.
+ * Redundant if the regulator is exclusive to this device, but that
+ * can't be determined here.
+ *
+ * Datasheet: TCAN4550, section "8.4.3 Sleep Mode"
+ * https://www.ti.com/lit/gpn/tcan4550
+ */
+ if (priv->reset_gpio && !enable) {
+ int ret;
+
+ ret = regmap_update_bits(priv->regmap, TCAN4X5X_CONFIG,
+ TCAN4X5X_MODE_SEL_MASK,
+ TCAN4X5X_MODE_SLEEP);
+ if (ret)
+ dev_err(&priv->spi->dev, "Setting sleep mode failed %pe\n",
+ ERR_PTR(ret));
+ }
+
if (IS_ERR_OR_NULL(reg))
return 0;
@@ -476,7 +499,7 @@ static int tcan4x5x_can_probe(struct spi_device *spi)
goto out_m_can_class_free_dev;
}
- ret = tcan4x5x_power_enable(priv->power, 1);
+ ret = tcan4x5x_power_enable(priv, 1);
if (ret) {
dev_err(&spi->dev, "Enabling regulator failed %pe\n",
ERR_PTR(ret));
@@ -531,7 +554,7 @@ static int tcan4x5x_can_probe(struct spi_device *spi)
return 0;
out_power:
- tcan4x5x_power_enable(priv->power, 0);
+ tcan4x5x_power_enable(priv, 0);
out_m_can_class_free_dev:
m_can_class_free_dev(mcan_class->net);
return ret;
@@ -543,7 +566,7 @@ static void tcan4x5x_can_remove(struct spi_device *spi)
m_can_class_unregister(&priv->cdev);
- tcan4x5x_power_enable(priv->power, 0);
+ tcan4x5x_power_enable(priv, 0);
m_can_class_free_dev(priv->cdev.net);
}
base-commit: e6a5d573d24cd375e09d24f136523cb3cc85c9d3
--
2.53.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH net-next 02/11] dt-bindings: can: rockchip: add rk3588 CAN-FD compatible
2026-08-17 23:24 [PATCH net-next 0/11] pull-request: can-next 2026-08-18 Marc Kleine-Budde
2026-08-17 23:24 ` [PATCH net-next 01/11] can: tcan4x5x: put tcan into sleep when removing driver Marc Kleine-Budde
@ 2026-08-17 23:24 ` Marc Kleine-Budde
2026-08-17 23:24 ` [PATCH net-next 03/11] can: rockchip: add RK3588 CAN support Marc Kleine-Budde
` (8 subsequent siblings)
10 siblings, 0 replies; 14+ messages in thread
From: Marc Kleine-Budde @ 2026-08-17 23:24 UTC (permalink / raw)
To: netdev
Cc: davem, kuba, linux-can, kernel, Cunhao Lu, Heiko Stuebner,
Krzysztof Kozlowski, Marc Kleine-Budde
From: Cunhao Lu <1579567540@qq.com>
RK3588 integrates a Rockchip CAN-FD controller variant that is not
fully compatible with RK3568v2. The RX FIFO count register field is
encoded in bits 7:5 on RK3588, while RK3568v2 uses bits 6:4.
Add a dedicated rockchip,rk3588-canfd compatible to describe this
variant. Do not use rockchip,rk3568v2-canfd as a fallback, because that
would describe a register layout that does not match the hardware.
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Signed-off-by: Cunhao Lu <1579567540@qq.com>
Tested-by: Heiko Stuebner <heiko@sntech.de>
Link: https://patch.msgid.link/tencent_AE1A1199FC8C9ADC680C6458134A46B40309@qq.com
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
---
.../devicetree/bindings/net/can/rockchip,rk3568v2-canfd.yaml | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/net/can/rockchip,rk3568v2-canfd.yaml b/Documentation/devicetree/bindings/net/can/rockchip,rk3568v2-canfd.yaml
index a077c0330013..81e2b6dfeb02 100644
--- a/Documentation/devicetree/bindings/net/can/rockchip,rk3568v2-canfd.yaml
+++ b/Documentation/devicetree/bindings/net/can/rockchip,rk3568v2-canfd.yaml
@@ -16,7 +16,9 @@ allOf:
properties:
compatible:
oneOf:
- - const: rockchip,rk3568v2-canfd
+ - enum:
+ - rockchip,rk3568v2-canfd
+ - rockchip,rk3588-canfd
- items:
- const: rockchip,rk3568v3-canfd
- const: rockchip,rk3568v2-canfd
--
2.53.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH net-next 03/11] can: rockchip: add RK3588 CAN support
2026-08-17 23:24 [PATCH net-next 0/11] pull-request: can-next 2026-08-18 Marc Kleine-Budde
2026-08-17 23:24 ` [PATCH net-next 01/11] can: tcan4x5x: put tcan into sleep when removing driver Marc Kleine-Budde
2026-08-17 23:24 ` [PATCH net-next 02/11] dt-bindings: can: rockchip: add rk3588 CAN-FD compatible Marc Kleine-Budde
@ 2026-08-17 23:24 ` Marc Kleine-Budde
2026-08-17 23:24 ` [PATCH net-next 04/11] docs: ctucanfd: fix swapped colors in legend for TX buffer FSM of CTU CAN FD Marc Kleine-Budde
` (7 subsequent siblings)
10 siblings, 0 replies; 14+ messages in thread
From: Marc Kleine-Budde @ 2026-08-17 23:24 UTC (permalink / raw)
To: netdev
Cc: davem, kuba, linux-can, kernel, Cunhao Lu, Heiko Stuebner,
Heiko Stuebner, Marc Kleine-Budde
From: Cunhao Lu <1579567540@qq.com>
Add support for the RK3588 CAN controller by introducing a dedicated
model ID and OF match entry.
The block is closely related to the existing RK3568 variants, but it
cannot reuse their match data unchanged. In particular, RK3588
encodes RX_FIFO_CNT in bits 7:5 instead of 6:4, so the RX path needs
SoC-specific handling.
The RX FIFO count bitfield difference was found by comparing Rockchip's
vendor kernel 6.1 CAN support for RK3568 and RK3588. Runtime testing on
RK3588 also confirms that bits 7:5 are needed.
Enable the existing erratum 5 empty-FIFO workaround for RK3588.
Heiko reproduced erratum 6 on RK3588, so enable that workaround as
well.
CAN-FD is enabled for RK3588. The BRS bus-off issue seen in earlier
testing was caused by the transmit delay compensation setting. With
RKCANFD_REG_TRANSMIT_DELAY_COMPENSATION programmed to 0 on RK3588,
CAN-FD with BRS works in local testing.
Tested on an embedfire,rk3588-lubancat-5io board with can0/can1
directly connected, no other device on the bus, 60 Ohm bus
termination, and a 300 MHz CAN clock. Runtime testing used 500 kbit/s
arbitration bitrate and 1, 3 and 5 Mbit/s data bitrates. The 5 Mbit/s
data phase test ran for 15 minutes with cangen using BRS and
cansequence on the receiver. Both interfaces reported 9528377 packets
and 150667356 bytes, with 0 bus-errors, 0 error-warn, 0 error-pass and
0 bus-off events.
Co-developed-by: Heiko Stuebner <heiko.stuebner@cherry.de>
Signed-off-by: Heiko Stuebner <heiko.stuebner@cherry.de>
Tested-by: Heiko Stuebner <heiko@sntech.de>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Cunhao Lu <1579567540@qq.com>
Link: https://patch.msgid.link/tencent_207E464D12344B3228096E23A001D6882508@qq.com
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
---
drivers/net/can/rockchip/rockchip_canfd-core.c | 17 +++++++++++++++++
drivers/net/can/rockchip/rockchip_canfd-rx.c | 5 ++++-
drivers/net/can/rockchip/rockchip_canfd.h | 14 +++++++++++++-
3 files changed, 34 insertions(+), 2 deletions(-)
diff --git a/drivers/net/can/rockchip/rockchip_canfd-core.c b/drivers/net/can/rockchip/rockchip_canfd-core.c
index 29de0c01e4ed..37c1c22c40c9 100644
--- a/drivers/net/can/rockchip/rockchip_canfd-core.c
+++ b/drivers/net/can/rockchip/rockchip_canfd-core.c
@@ -50,6 +50,12 @@ static const struct rkcanfd_devtype_data rkcanfd_devtype_data_rk3568v3 = {
RKCANFD_QUIRK_CANFD_BROKEN,
};
+static const struct rkcanfd_devtype_data rkcanfd_devtype_data_rk3588 = {
+ .model = RKCANFD_MODEL_RK3588,
+ .quirks = RKCANFD_QUIRK_RK3568_ERRATUM_5 |
+ RKCANFD_QUIRK_RK3568_ERRATUM_6,
+};
+
static const char *__rkcanfd_get_model_str(enum rkcanfd_model model)
{
switch (model) {
@@ -57,6 +63,8 @@ static const char *__rkcanfd_get_model_str(enum rkcanfd_model model)
return "rk3568v2";
case RKCANFD_MODEL_RK3568V3:
return "rk3568v3";
+ case RKCANFD_MODEL_RK3588:
+ return "rk3588";
}
return "<unknown>";
@@ -148,6 +156,12 @@ static int rkcanfd_set_bittiming(struct rkcanfd_priv *priv)
rkcanfd_write(priv, RKCANFD_REG_FD_DATA_BITTIMING, reg_dbt);
+ /* RK3588 CAN-FD BRS works with TDC disabled. */
+ if (priv->devtype_data.model == RKCANFD_MODEL_RK3588) {
+ rkcanfd_write(priv, RKCANFD_REG_TRANSMIT_DELAY_COMPENSATION, 0);
+ return 0;
+ }
+
tdco = (priv->can.clock.freq / dbt->bitrate) * 2 / 3;
tdco = min(tdco, FIELD_MAX(RKCANFD_REG_TRANSMIT_DELAY_COMPENSATION_TDC_OFFSET));
@@ -846,6 +860,9 @@ static const struct of_device_id rkcanfd_of_match[] = {
}, {
.compatible = "rockchip,rk3568v3-canfd",
.data = &rkcanfd_devtype_data_rk3568v3,
+ }, {
+ .compatible = "rockchip,rk3588-canfd",
+ .data = &rkcanfd_devtype_data_rk3588,
}, {
/* sentinel */
},
diff --git a/drivers/net/can/rockchip/rockchip_canfd-rx.c b/drivers/net/can/rockchip/rockchip_canfd-rx.c
index 475c0409e215..24e87daa1df0 100644
--- a/drivers/net/can/rockchip/rockchip_canfd-rx.c
+++ b/drivers/net/can/rockchip/rockchip_canfd-rx.c
@@ -281,7 +281,10 @@ rkcanfd_rx_fifo_get_len(const struct rkcanfd_priv *priv)
{
const u32 reg = rkcanfd_read(priv, RKCANFD_REG_RX_FIFO_CTRL);
- return FIELD_GET(RKCANFD_REG_RX_FIFO_CTRL_RX_FIFO_CNT, reg);
+ if (priv->devtype_data.model == RKCANFD_MODEL_RK3588)
+ return FIELD_GET(RKCANFD_REG_RX_FIFO_CTRL_RX_FIFO_CNT_RK3588, reg);
+
+ return FIELD_GET(RKCANFD_REG_RX_FIFO_CTRL_RX_FIFO_CNT_RK3568, reg);
}
int rkcanfd_handle_rx_int(struct rkcanfd_priv *priv)
diff --git a/drivers/net/can/rockchip/rockchip_canfd.h b/drivers/net/can/rockchip/rockchip_canfd.h
index 93131c7d7f54..95bea9bfd8a2 100644
--- a/drivers/net/can/rockchip/rockchip_canfd.h
+++ b/drivers/net/can/rockchip/rockchip_canfd.h
@@ -214,7 +214,8 @@
#define RKCANFD_REG_TXEVENT_FIFO_CTRL_TXE_FIFO_ENABLE BIT(0)
#define RKCANFD_REG_RX_FIFO_CTRL 0x118
-#define RKCANFD_REG_RX_FIFO_CTRL_RX_FIFO_CNT GENMASK(6, 4)
+#define RKCANFD_REG_RX_FIFO_CTRL_RX_FIFO_CNT_RK3568 GENMASK(6, 4)
+#define RKCANFD_REG_RX_FIFO_CTRL_RX_FIFO_CNT_RK3588 GENMASK(7, 5)
#define RKCANFD_REG_RX_FIFO_CTRL_RX_FIFO_FULL_WATERMARK GENMASK(3, 1)
#define RKCANFD_REG_RX_FIFO_CTRL_RX_FIFO_ENABLE BIT(0)
@@ -331,6 +332,11 @@
* rarely with the standard clock of 300 MHz, but almost immediately
* at 80 MHz.
*
+ * Tests on the rk3588 show the same empty FIFO condition.
+ * In that setup rx_fifo_empty_errors increments when the bus
+ * transitions from idle to high CAN-FD load and stops growing once
+ * the bus reaches a steady state.
+ *
* To workaround this problem, check for empty FIFO with
* rkcanfd_fifo_header_empty() in rkcanfd_handle_rx_int_one() and exit
* early.
@@ -344,6 +350,8 @@
/* Erratum 6: The CAN controller's transmission of extended frames may
* intermittently change into standard frames
*
+ * Tests on the rk3588 show the same problem.
+ *
* Work around this issue by activating self reception (RXSTX). If we
* have pending TX CAN frames, check all RX'ed CAN frames in
* rkcanfd_rxstx_filter().
@@ -424,6 +432,9 @@
* cansequence -rv -i 1
*
* - TX starvation after repeated Bus-Off
+ * Tests on the rk3588 show the same problem. In a
+ * 10-cycle Bus-Off recovery test, 9 cycles failed to send after the
+ * controller restarted.
* To reproduce:
* host:
* sleep 3 && cangen can0 -I2 -Li -Di -p10 -g 0.0
@@ -434,6 +445,7 @@
enum rkcanfd_model {
RKCANFD_MODEL_RK3568V2 = 0x35682,
RKCANFD_MODEL_RK3568V3 = 0x35683,
+ RKCANFD_MODEL_RK3588 = 0x3588,
};
struct rkcanfd_devtype_data {
--
2.53.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH net-next 04/11] docs: ctucanfd: fix swapped colors in legend for TX buffer FSM of CTU CAN FD
2026-08-17 23:24 [PATCH net-next 0/11] pull-request: can-next 2026-08-18 Marc Kleine-Budde
` (2 preceding siblings ...)
2026-08-17 23:24 ` [PATCH net-next 03/11] can: rockchip: add RK3588 CAN support Marc Kleine-Budde
@ 2026-08-17 23:24 ` Marc Kleine-Budde
2026-08-17 23:24 ` [PATCH net-next 05/11] can: vxcan: support per-netns device unregistration Marc Kleine-Budde
` (6 subsequent siblings)
10 siblings, 0 replies; 14+ messages in thread
From: Marc Kleine-Budde @ 2026-08-17 23:24 UTC (permalink / raw)
To: netdev; +Cc: davem, kuba, linux-can, kernel, Pavel Pisa, Marc Kleine-Budde
From: Pavel Pisa <ppisa@pikron.com>
The Inaccessible and Accessible legend colors has been swapped
for many years. As I have helped to clean the CTU CAN FD section
of official documentation for mass produced silicon (multiple
models of microcontrollers) with the company representatives,
I have found the problem and propagate correction bask to
the primary CTU CAN FD sources.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Link: https://patch.msgid.link/d775feefa1c16d7ea7f42482483c81491f75ce6c.1785574572.git.pisa@cmp.felk.cvut.cz
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
---
.../networking/device_drivers/can/ctu/fsm_txt_buffer_user.svg | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Documentation/networking/device_drivers/can/ctu/fsm_txt_buffer_user.svg b/Documentation/networking/device_drivers/can/ctu/fsm_txt_buffer_user.svg
index 381323423b4c..c8cf0bc49b69 100644
--- a/Documentation/networking/device_drivers/can/ctu/fsm_txt_buffer_user.svg
+++ b/Documentation/networking/device_drivers/can/ctu/fsm_txt_buffer_user.svg
@@ -93,9 +93,9 @@
<ellipse cx="144.827" cy="159.143" rx="10.8866" ry="4.39308"/>
<ellipse cx="59.4364" cy="142.823" rx="7.36455" ry="4.39308"/>
<ellipse cx="144.827" cy="129.196" rx="10.8866" ry="4.39308"/>
- <ellipse cx="143.077" cy="180.53" rx="10.8866" ry="4.39308"/>
</g>
- <ellipse cx="110.386" cy="180.53" rx="10.8866" ry="4.39308" fill="#ffcb35" stroke="#000" stroke-linecap="square" stroke-width=".499999"/>
+ <ellipse cx="110.386" cy="180.53" rx="10.8866" ry="4.39308" fill="#28a4ff" stroke="#000" stroke-linecap="square" stroke-width=".499999"/>
+ <ellipse cx="143.077" cy="180.53" rx="10.8866" ry="4.39308" fill="#ffcb35" stroke="#000" stroke-linecap="square" stroke-width=".499999"/>
<text x="110.90907" y="179.42688" font-size="3.175px" xml:space="preserve"><tspan x="110.90907" y="179.42688" dy="0.60000002" text-align="center" text-anchor="middle">Accessible</tspan><tspan x="110.90907" y="183.39563"><tspan font-size="3.175px" text-align="center" text-anchor="middle">for S</tspan>W</tspan></text>
<text x="143.5869" y="179.52795" xml:space="preserve"><tspan x="143.5869" y="179.52795" dy="1 0 0 0 0 0" font-family="sans-serif" font-size="2.82222px" text-align="center" text-anchor="middle" style="font-variant-caps:normal;font-variant-east-asian:normal;font-variant-ligatures:normal;font-variant-numeric:normal">Inaccessible</tspan><tspan x="143.5869" y="183.36786" font-size="3.175px"><tspan font-size="3.175px" text-align="center" text-anchor="middle">for S</tspan>W</tspan></text>
<g font-size="3.175px">
--
2.53.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH net-next 05/11] can: vxcan: support per-netns device unregistration.
2026-08-17 23:24 [PATCH net-next 0/11] pull-request: can-next 2026-08-18 Marc Kleine-Budde
` (3 preceding siblings ...)
2026-08-17 23:24 ` [PATCH net-next 04/11] docs: ctucanfd: fix swapped colors in legend for TX buffer FSM of CTU CAN FD Marc Kleine-Budde
@ 2026-08-17 23:24 ` Marc Kleine-Budde
2026-08-17 23:24 ` [PATCH net-next 06/11] MAINTAINERS: Replace maintainer for Xilinx CAN driver Marc Kleine-Budde
` (5 subsequent siblings)
10 siblings, 0 replies; 14+ messages in thread
From: Marc Kleine-Budde @ 2026-08-17 23:24 UTC (permalink / raw)
To: netdev; +Cc: davem, kuba, linux-can, kernel, Kuniyuki Iwashima,
Marc Kleine-Budde
From: Kuniyuki Iwashima <kuniyu@google.com>
Currently, vxcan_dellink() unregisters both local and peer devices
synchronously under RTNL.
Once RTNL is removed, it can be called concurrently from different
netns.
Let's use xchg() and unregister_netdevice_queue_net() to support
per-netns device unregistration.
This way, each device is queued for destruction only once by
the winner of the race.
Note that the extra netdev_hold() ensures that @peer obtained by
the first xchg() is not freed during the subsequent access to
netdev_priv(peer). The 2nd xchg() overwrites @dev to balance
the refcount.
Tested:
1. Create two vxcan pairs (vxcan1-2, vxcan3-4) between two netns
(ns1 & ns2).
# ip netns add ns1
# ip netns add ns2
# ip -n ns1 link add vxcan1 type vxcan peer vxcan2 netns ns2
# ip -n ns1 link add vxcan3 type vxcan peer vxcan4 netns ns2
2. Run bpftrace to check if the same process does NOT
unregister the paired vxcan devices
# bpftrace -e '#include <linux/netdevice.h>
kprobe:free_netdev {
$dev = (struct net_device *)arg0;
printf("PID: %d | DEV: %s%s\n", pid, $dev->name, kstack());
}'
3. Remove vxcan2 in ns2 and check bpftrace output
# ip -n ns2 link del vxcan2
PID: 1524 | DEV: vxcan2
free_netdev+5
netdev_run_todo+4798
rtnl_dellink+1507
rtnetlink_rcv_msg+1791
netlink_rcv_skb+504
...
PID: 453 | DEV: vxcan1
free_netdev+5
netdev_run_todo+4798
process_scheduled_works+2538
worker_thread+1906
kthread+806
ret_from_fork+805
ret_from_fork_asm+17
4. Remove ns2 (thus vxcan4) and check bpftrace output
# ip netns del ns2
PID: 12 | DEV: vxcan4
free_netdev+5
netdev_run_todo+4798
default_device_exit_batch+2271
ops_undo_list+993
cleanup_net+1122
process_scheduled_works+2538
worker_thread+1906
kthread+806
ret_from_fork+805
ret_from_fork_asm+17
...
PID: 462 | DEV: vxcan3
free_netdev+5
netdev_run_todo+4798
process_scheduled_works+2538
worker_thread+1906
kthread+806
ret_from_fork+805
ret_from_fork_asm+17
Signed-off-by: Kuniyuki Iwashima <kuniyu@google.com>
Link: https://patch.msgid.link/20260731231755.2474376-1-kuniyu@google.com
[mkl: fix indention struct vxcan_priv::peer_tracker]
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
---
drivers/net/can/vxcan.c | 26 +++++++++++++++-----------
1 file changed, 15 insertions(+), 11 deletions(-)
diff --git a/drivers/net/can/vxcan.c b/drivers/net/can/vxcan.c
index e882250180ef..9e2e25d02471 100644
--- a/drivers/net/can/vxcan.c
+++ b/drivers/net/can/vxcan.c
@@ -33,6 +33,7 @@ MODULE_ALIAS_RTNL_LINK(DRV_NAME);
struct vxcan_priv {
struct net_device __rcu *peer;
+ netdevice_tracker peer_tracker;
};
static netdev_tx_t vxcan_xmit(struct sk_buff *oskb, struct net_device *dev)
@@ -268,9 +269,11 @@ static int vxcan_newlink(struct net_device *dev,
/* cross link the device pair */
priv = netdev_priv(dev);
rcu_assign_pointer(priv->peer, peer);
+ netdev_hold(peer, &priv->peer_tracker, GFP_KERNEL);
priv = netdev_priv(peer);
rcu_assign_pointer(priv->peer, dev);
+ netdev_hold(dev, &priv->peer_tracker, GFP_KERNEL);
return 0;
@@ -281,24 +284,25 @@ static int vxcan_newlink(struct net_device *dev,
static void vxcan_dellink(struct net_device *dev, struct list_head *head)
{
+ netdevice_tracker *peer_tracker;
struct vxcan_priv *priv;
struct net_device *peer;
priv = netdev_priv(dev);
- peer = rtnl_dereference(priv->peer);
+ peer_tracker = &priv->peer_tracker;
+ peer = unrcu_pointer(xchg(&priv->peer, NULL));
+ if (!peer)
+ return;
- /* Note : dellink() is called from default_device_exit_batch(),
- * before a rcu_synchronize() point. The devices are guaranteed
- * not being freed before one RCU grace period.
- */
- RCU_INIT_POINTER(priv->peer, NULL);
unregister_netdevice_queue(dev, head);
- if (peer) {
- priv = netdev_priv(peer);
- RCU_INIT_POINTER(priv->peer, NULL);
- unregister_netdevice_queue(peer, head);
- }
+ priv = netdev_priv(peer);
+ dev = unrcu_pointer(xchg(&priv->peer, NULL));
+ if (dev)
+ unregister_netdevice_queue_net(dev_net(dev), peer, head);
+
+ netdev_put(peer, peer_tracker);
+ netdev_put(dev, &priv->peer_tracker);
}
static const struct nla_policy vxcan_policy[VXCAN_INFO_MAX + 1] = {
--
2.53.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH net-next 06/11] MAINTAINERS: Replace maintainer for Xilinx CAN driver
2026-08-17 23:24 [PATCH net-next 0/11] pull-request: can-next 2026-08-18 Marc Kleine-Budde
` (4 preceding siblings ...)
2026-08-17 23:24 ` [PATCH net-next 05/11] can: vxcan: support per-netns device unregistration Marc Kleine-Budde
@ 2026-08-17 23:24 ` Marc Kleine-Budde
2026-08-17 23:24 ` [PATCH net-next 07/11] dt-bindings: net: can: Convert TI HECC to DT schema Marc Kleine-Budde
` (4 subsequent siblings)
10 siblings, 0 replies; 14+ messages in thread
From: Marc Kleine-Budde @ 2026-08-17 23:24 UTC (permalink / raw)
To: netdev
Cc: davem, kuba, linux-can, kernel, Harini T,
Appana Durga Kedareswara rao, Krzysztof Kozlowski,
Marc Kleine-Budde
From: Harini T <harini.t@amd.com>
Replace Appana Durga Kedareswara rao with Harini T as the maintainer
of the Xilinx CAN driver. Kedar is no longer maintaining it.
Signed-off-by: Harini T <harini.t@amd.com>
Acked-by: Appana Durga Kedareswara rao <appana.durga.kedareswara.rao@amd.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Link: https://patch.msgid.link/20260717021415.2234865-2-harini.t@amd.com
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
---
Documentation/devicetree/bindings/net/can/xilinx,can.yaml | 2 +-
MAINTAINERS | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/Documentation/devicetree/bindings/net/can/xilinx,can.yaml b/Documentation/devicetree/bindings/net/can/xilinx,can.yaml
index 40835497050a..e705c719f7b5 100644
--- a/Documentation/devicetree/bindings/net/can/xilinx,can.yaml
+++ b/Documentation/devicetree/bindings/net/can/xilinx,can.yaml
@@ -8,7 +8,7 @@ title:
Xilinx CAN and CANFD controller
maintainers:
- - Appana Durga Kedareswara rao <appana.durga.rao@xilinx.com>
+ - Harini T <harini.t@amd.com>
properties:
compatible:
diff --git a/MAINTAINERS b/MAINTAINERS
index 991460050da7..6b49a2c80cd5 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -29573,7 +29573,7 @@ F: Documentation/devicetree/bindings/net/xlnx,axi-ethernet.yaml
F: drivers/net/ethernet/xilinx/xilinx_axienet*
XILINX CAN DRIVER
-M: Appana Durga Kedareswara rao <appana.durga.rao@xilinx.com>
+M: Harini T <harini.t@amd.com>
L: linux-can@vger.kernel.org
S: Maintained
F: Documentation/devicetree/bindings/net/can/xilinx,can.yaml
--
2.53.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH net-next 07/11] dt-bindings: net: can: Convert TI HECC to DT schema
2026-08-17 23:24 [PATCH net-next 0/11] pull-request: can-next 2026-08-18 Marc Kleine-Budde
` (5 preceding siblings ...)
2026-08-17 23:24 ` [PATCH net-next 06/11] MAINTAINERS: Replace maintainer for Xilinx CAN driver Marc Kleine-Budde
@ 2026-08-17 23:24 ` Marc Kleine-Budde
2026-08-17 23:24 ` [PATCH net-next 08/11] dt-bindings: can: xilinx_can: Document phys property Marc Kleine-Budde
` (3 subsequent siblings)
10 siblings, 0 replies; 14+ messages in thread
From: Marc Kleine-Budde @ 2026-08-17 23:24 UTC (permalink / raw)
To: netdev
Cc: davem, kuba, linux-can, kernel, Eduard Bostina, Rob Herring (Arm),
Marc Kleine-Budde
From: Eduard Bostina <egbostina@gmail.com>
Convert the Texas Instruments High End CAN Controller (HECC) bindings
to DT schema.
Signed-off-by: Eduard Bostina <egbostina@gmail.com>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://patch.msgid.link/20260719140127.3558941-1-egbostina@gmail.com
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
---
.../bindings/net/can/ti,am3517-hecc.yaml | 64 +++++++++++++++++++
.../devicetree/bindings/net/can/ti_hecc.txt | 32 ----------
2 files changed, 64 insertions(+), 32 deletions(-)
create mode 100644 Documentation/devicetree/bindings/net/can/ti,am3517-hecc.yaml
delete mode 100644 Documentation/devicetree/bindings/net/can/ti_hecc.txt
diff --git a/Documentation/devicetree/bindings/net/can/ti,am3517-hecc.yaml b/Documentation/devicetree/bindings/net/can/ti,am3517-hecc.yaml
new file mode 100644
index 000000000000..7874e9e49224
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/can/ti,am3517-hecc.yaml
@@ -0,0 +1,64 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/can/ti,am3517-hecc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Texas Instruments High End CAN Controller (HECC)
+
+maintainers:
+ - Eduard Bostina <egbostina@gmail.com>
+
+allOf:
+ - $ref: can-controller.yaml#
+
+properties:
+ compatible:
+ const: ti,am3517-hecc
+
+ reg:
+ maxItems: 3
+
+ reg-names:
+ items:
+ - const: hecc
+ - const: hecc-ram
+ - const: mbx
+
+ interrupts:
+ maxItems: 1
+
+ clocks:
+ maxItems: 1
+
+ ti,use-hecc1int:
+ type: boolean
+ description:
+ If provided, configures HECC to produce all interrupts on the
+ HECC1INT interrupt line. By default, the HECC0INT interrupt line
+ will be used.
+ default: false
+
+ xceiver-supply:
+ description: Regulator that powers the CAN transceiver.
+
+required:
+ - compatible
+ - reg
+ - reg-names
+ - interrupts
+ - clocks
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ can@5c050000 {
+ compatible = "ti,am3517-hecc";
+ reg = <0x5c050000 0x80>,
+ <0x5c053000 0x180>,
+ <0x5c052000 0x200>;
+ reg-names = "hecc", "hecc-ram", "mbx";
+ interrupts = <24>;
+ clocks = <&hecc_ck>;
+ };
diff --git a/Documentation/devicetree/bindings/net/can/ti_hecc.txt b/Documentation/devicetree/bindings/net/can/ti_hecc.txt
deleted file mode 100644
index e0f0a7cfe329..000000000000
--- a/Documentation/devicetree/bindings/net/can/ti_hecc.txt
+++ /dev/null
@@ -1,32 +0,0 @@
-Texas Instruments High End CAN Controller (HECC)
-================================================
-
-This file provides information, what the device node
-for the hecc interface contains.
-
-Required properties:
-- compatible: "ti,am3517-hecc"
-- reg: addresses and lengths of the register spaces for 'hecc', 'hecc-ram'
- and 'mbx'
-- reg-names :"hecc", "hecc-ram", "mbx"
-- interrupts: interrupt mapping for the hecc interrupts sources
-- clocks: clock phandles (see clock bindings for details)
-
-Optional properties:
-- ti,use-hecc1int: if provided configures HECC to produce all interrupts
- on HECC1INT interrupt line. By default HECC0INT interrupt
- line will be used.
-- xceiver-supply: regulator that powers the CAN transceiver
-
-Example:
-
-For am3517evm board:
- hecc: can@5c050000 {
- compatible = "ti,am3517-hecc";
- reg = <0x5c050000 0x80>,
- <0x5c053000 0x180>,
- <0x5c052000 0x200>;
- reg-names = "hecc", "hecc-ram", "mbx";
- interrupts = <24>;
- clocks = <&hecc_ck>;
- };
--
2.53.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH net-next 08/11] dt-bindings: can: xilinx_can: Document phys property
2026-08-17 23:24 [PATCH net-next 0/11] pull-request: can-next 2026-08-18 Marc Kleine-Budde
` (6 preceding siblings ...)
2026-08-17 23:24 ` [PATCH net-next 07/11] dt-bindings: net: can: Convert TI HECC to DT schema Marc Kleine-Budde
@ 2026-08-17 23:24 ` Marc Kleine-Budde
2026-08-17 23:24 ` [PATCH net-next 09/11] can: m_can: Use of_property_present() for wakeup-source Marc Kleine-Budde
` (2 subsequent siblings)
10 siblings, 0 replies; 14+ messages in thread
From: Marc Kleine-Budde @ 2026-08-17 23:24 UTC (permalink / raw)
To: netdev
Cc: davem, kuba, linux-can, kernel, Harini T, Krzysztof Kozlowski,
Marc Kleine-Budde
From: Harini T <harini.t@amd.com>
The Xilinx CAN and CANFD controllers can be connected to an external
CAN transceiver on the board. That connection is described with the
standard "phys" property on the controller node, pointing to a CAN
transceiver PHY node which models the transceiver and its control
lines (for example the standby/enable signals).
Describe the optional "phys" property (a single transceiver PHY) so
the on-board CAN transceiver can be described in the device tree.
Signed-off-by: Harini T <harini.t@amd.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Link: https://patch.msgid.link/20260717021415.2234865-3-harini.t@amd.com
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
---
Documentation/devicetree/bindings/net/can/xilinx,can.yaml | 3 +++
1 file changed, 3 insertions(+)
diff --git a/Documentation/devicetree/bindings/net/can/xilinx,can.yaml b/Documentation/devicetree/bindings/net/can/xilinx,can.yaml
index e705c719f7b5..18015e60fd6d 100644
--- a/Documentation/devicetree/bindings/net/can/xilinx,can.yaml
+++ b/Documentation/devicetree/bindings/net/can/xilinx,can.yaml
@@ -53,6 +53,9 @@ properties:
$ref: /schemas/types.yaml#/definitions/flag
description: CAN TX_OL, TX_TL and RX FIFOs have ECC support(AXI CAN)
+ phys:
+ maxItems: 1
+
required:
- compatible
- reg
--
2.53.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH net-next 09/11] can: m_can: Use of_property_present() for wakeup-source
2026-08-17 23:24 [PATCH net-next 0/11] pull-request: can-next 2026-08-18 Marc Kleine-Budde
` (7 preceding siblings ...)
2026-08-17 23:24 ` [PATCH net-next 08/11] dt-bindings: can: xilinx_can: Document phys property Marc Kleine-Budde
@ 2026-08-17 23:24 ` Marc Kleine-Budde
2026-08-17 23:24 ` [PATCH net-next 10/11] drivers: gs_usb: gs_usb_probe(): fix typo in error message Marc Kleine-Budde
2026-08-17 23:24 ` [PATCH net-next 11/11] can: m_can: pci: Remove driver_data Marc Kleine-Budde
10 siblings, 0 replies; 14+ messages in thread
From: Marc Kleine-Budde @ 2026-08-17 23:24 UTC (permalink / raw)
To: netdev
Cc: davem, kuba, linux-can, kernel, bui duc phuc, Kendall Willis,
Markus Schneider-Pargmann, Marc Kleine-Budde
From: bui duc phuc <phucduc.bui@gmail.com>
The 'wakeup-source' property is declared as a phandle-array in both YAML
bindings and Device Tree source files. However, the driver currently
uses of_property_read_bool() to check for its existence.
According to the function's documentation, usage on non-boolean property
types is deprecated. Switch to of_property_present() to comply with the
recommended API for checking the presence of a property.
Fixes: 04d5826b074e ("can: m_can: Map WoL to device_set_wakeup_enable")
Reviewed-by: Kendall Willis <k-willis@ti.com>
Acked-by: Markus Schneider-Pargmann <msp@baylibre.com>
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
Link: https://patch.msgid.link/20260708030512.8570-1-phucduc.bui@gmail.com
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
---
drivers/net/can/m_can/m_can.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/can/m_can/m_can.c b/drivers/net/can/m_can/m_can.c
index eb856547ae7d..16f80607e150 100644
--- a/drivers/net/can/m_can/m_can.c
+++ b/drivers/net/can/m_can/m_can.c
@@ -2464,7 +2464,7 @@ struct m_can_classdev *m_can_class_allocate_dev(struct device *dev,
return ERR_PTR(ret);
}
- if (dev->of_node && of_property_read_bool(dev->of_node, "wakeup-source"))
+ if (dev->of_node && of_property_present(dev->of_node, "wakeup-source"))
device_set_wakeup_capable(dev, true);
/* Get TX FIFO size
--
2.53.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH net-next 10/11] drivers: gs_usb: gs_usb_probe(): fix typo in error message
2026-08-17 23:24 [PATCH net-next 0/11] pull-request: can-next 2026-08-18 Marc Kleine-Budde
` (8 preceding siblings ...)
2026-08-17 23:24 ` [PATCH net-next 09/11] can: m_can: Use of_property_present() for wakeup-source Marc Kleine-Budde
@ 2026-08-17 23:24 ` Marc Kleine-Budde
2026-08-17 23:24 ` [PATCH net-next 11/11] can: m_can: pci: Remove driver_data Marc Kleine-Budde
10 siblings, 0 replies; 14+ messages in thread
From: Marc Kleine-Budde @ 2026-08-17 23:24 UTC (permalink / raw)
To: netdev; +Cc: davem, kuba, linux-can, kernel, Fanbo He, Marc Kleine-Budde
From: Fanbo He <hefanbo@gmail.com>
Fix typo in the error messag.
Signed-off-by: Fanbo He <hefanbo@gmail.com>
Link: https://patch.msgid.link/20260702031306.18988-1-hefanbo@gmail.com
[mkl: add commit message]
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
---
drivers/net/can/usb/gs_usb.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/can/usb/gs_usb.c b/drivers/net/can/usb/gs_usb.c
index 82508a865095..3b9b2f104d86 100644
--- a/drivers/net/can/usb/gs_usb.c
+++ b/drivers/net/can/usb/gs_usb.c
@@ -1565,7 +1565,7 @@ static int gs_usb_probe(struct usb_interface *intf,
if (icount > type_max(parent->channel_cnt)) {
dev_err(&intf->dev,
- "Driver cannot handle more that %u CAN interfaces\n",
+ "Driver cannot handle more than %u CAN interfaces\n",
type_max(parent->channel_cnt));
return -EINVAL;
}
--
2.53.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH net-next 11/11] can: m_can: pci: Remove driver_data
2026-08-17 23:24 [PATCH net-next 0/11] pull-request: can-next 2026-08-18 Marc Kleine-Budde
` (9 preceding siblings ...)
2026-08-17 23:24 ` [PATCH net-next 10/11] drivers: gs_usb: gs_usb_probe(): fix typo in error message Marc Kleine-Budde
@ 2026-08-17 23:24 ` Marc Kleine-Budde
10 siblings, 0 replies; 14+ messages in thread
From: Marc Kleine-Budde @ 2026-08-17 23:24 UTC (permalink / raw)
To: netdev
Cc: davem, kuba, linux-can, kernel,
Markus Schneider-Pargmann (The Capable Hub),
Uwe Kleine-König (The Capable Hub), Vincent Mailhol,
Marc Kleine-Budde
From: "Markus Schneider-Pargmann (The Capable Hub)" <msp@baylibre.com>
driver_data is set to M_CAN_CLOCK_FREQ_EHL for all models. This change
was already five years ago, I don't expect any follow up models that
need to set a different frequency through the driver_data at this point.
Hardcode the M_CAN_CLOCK_FREQ_EHL. Once there are new models we can
evaluate what data needs to be in driver_data.
Acked-by: Uwe Kleine-König (The Capable Hub) <u.kleine-koenig@baylibre.com>
Signed-off-by: Markus Schneider-Pargmann (The Capable Hub) <msp@baylibre.com>
Reviewed-by: Vincent Mailhol <mailhol@kernel.org>
Link: https://patch.msgid.link/20260515-topic-mcan-pci-driverdata-v7-1-v2-1-e33e014ff328@baylibre.com
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
---
drivers/net/can/m_can/m_can_pci.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/net/can/m_can/m_can_pci.c b/drivers/net/can/m_can/m_can_pci.c
index eb31ed1f9644..d11a7c88fc32 100644
--- a/drivers/net/can/m_can/m_can_pci.c
+++ b/drivers/net/can/m_can/m_can_pci.c
@@ -126,7 +126,7 @@ static int m_can_pci_probe(struct pci_dev *pci, const struct pci_device_id *id)
mcan_class->net->irq = pci_irq_vector(pci, 0);
mcan_class->pm_clock_support = 1;
mcan_class->pm_wake_source = 0;
- mcan_class->can.clock.freq = id->driver_data;
+ mcan_class->can.clock.freq = M_CAN_CLOCK_FREQ_EHL;
mcan_class->irq_edge_triggered = true;
mcan_class->ops = &m_can_pci_ops;
@@ -183,8 +183,8 @@ static SIMPLE_DEV_PM_OPS(m_can_pci_pm_ops,
m_can_pci_suspend, m_can_pci_resume);
static const struct pci_device_id m_can_pci_id_table[] = {
- { PCI_VDEVICE(INTEL, 0x4bc1), M_CAN_CLOCK_FREQ_EHL, },
- { PCI_VDEVICE(INTEL, 0x4bc2), M_CAN_CLOCK_FREQ_EHL, },
+ { PCI_VDEVICE(INTEL, 0x4bc1) },
+ { PCI_VDEVICE(INTEL, 0x4bc2) },
{ } /* Terminating Entry */
};
MODULE_DEVICE_TABLE(pci, m_can_pci_id_table);
--
2.53.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH net-next 01/11] can: tcan4x5x: put tcan into sleep when removing driver
2026-08-17 23:24 ` [PATCH net-next 01/11] can: tcan4x5x: put tcan into sleep when removing driver Marc Kleine-Budde
@ 2026-08-18 18:37 ` patchwork-bot+netdevbpf
2026-08-18 18:41 ` patchwork-bot+netdevbpf
1 sibling, 0 replies; 14+ messages in thread
From: patchwork-bot+netdevbpf @ 2026-08-18 18:37 UTC (permalink / raw)
To: Marc Kleine-Budde; +Cc: netdev, davem, kuba, linux-can, kernel, sean
Hello:
This series was applied to netdev/net-next.git (main)
by Marc Kleine-Budde <mkl@pengutronix.de>:
On Tue, 18 Aug 2026 01:24:28 +0200 you wrote:
> From: Sean Nyekjaer <sean@geanix.com>
>
> Put the tcan4x5x transceiver into sleep mode when the driver is
> removed, instead of leaving it in its current operating mode.
> This reduces power consumption(3mA@12V) once the driver is
> no longer bound to the device.
>
> [...]
Here is the summary with links:
- [net-next,01/11] can: tcan4x5x: put tcan into sleep when removing driver
https://git.kernel.org/netdev/net-next/c/c7d2577bf135
- [net-next,02/11] dt-bindings: can: rockchip: add rk3588 CAN-FD compatible
https://git.kernel.org/netdev/net-next/c/1802936fa034
- [net-next,03/11] can: rockchip: add RK3588 CAN support
(no matching commit)
- [net-next,04/11] docs: ctucanfd: fix swapped colors in legend for TX buffer FSM of CTU CAN FD
https://git.kernel.org/netdev/net-next/c/a0d62de8adce
- [net-next,05/11] can: vxcan: support per-netns device unregistration.
https://git.kernel.org/netdev/net-next/c/703b31d21e52
- [net-next,06/11] MAINTAINERS: Replace maintainer for Xilinx CAN driver
https://git.kernel.org/netdev/net-next/c/572e27108be5
- [net-next,07/11] dt-bindings: net: can: Convert TI HECC to DT schema
(no matching commit)
- [net-next,08/11] dt-bindings: can: xilinx_can: Document phys property
https://git.kernel.org/netdev/net-next/c/d17e20a2dcaf
- [net-next,09/11] can: m_can: Use of_property_present() for wakeup-source
https://git.kernel.org/netdev/net-next/c/966506838a4a
- [net-next,10/11] drivers: gs_usb: gs_usb_probe(): fix typo in error message
(no matching commit)
- [net-next,11/11] can: m_can: pci: Remove driver_data
https://git.kernel.org/netdev/net-next/c/f6a48a7b10be
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH net-next 01/11] can: tcan4x5x: put tcan into sleep when removing driver
2026-08-17 23:24 ` [PATCH net-next 01/11] can: tcan4x5x: put tcan into sleep when removing driver Marc Kleine-Budde
2026-08-18 18:37 ` patchwork-bot+netdevbpf
@ 2026-08-18 18:41 ` patchwork-bot+netdevbpf
1 sibling, 0 replies; 14+ messages in thread
From: patchwork-bot+netdevbpf @ 2026-08-18 18:41 UTC (permalink / raw)
To: Marc Kleine-Budde; +Cc: netdev, davem, kuba, linux-can, kernel, sean
Hello:
This series was applied to netdev/net-next.git (main)
by Marc Kleine-Budde <mkl@pengutronix.de>:
On Tue, 18 Aug 2026 01:24:28 +0200 you wrote:
> From: Sean Nyekjaer <sean@geanix.com>
>
> Put the tcan4x5x transceiver into sleep mode when the driver is
> removed, instead of leaving it in its current operating mode.
> This reduces power consumption(3mA@12V) once the driver is
> no longer bound to the device.
>
> [...]
Here is the summary with links:
- [net-next,01/11] can: tcan4x5x: put tcan into sleep when removing driver
(no matching commit)
- [net-next,02/11] dt-bindings: can: rockchip: add rk3588 CAN-FD compatible
(no matching commit)
- [net-next,03/11] can: rockchip: add RK3588 CAN support
https://git.kernel.org/netdev/net-next/c/b7d51d9b14ee
- [net-next,04/11] docs: ctucanfd: fix swapped colors in legend for TX buffer FSM of CTU CAN FD
(no matching commit)
- [net-next,05/11] can: vxcan: support per-netns device unregistration.
(no matching commit)
- [net-next,06/11] MAINTAINERS: Replace maintainer for Xilinx CAN driver
(no matching commit)
- [net-next,07/11] dt-bindings: net: can: Convert TI HECC to DT schema
(no matching commit)
- [net-next,08/11] dt-bindings: can: xilinx_can: Document phys property
(no matching commit)
- [net-next,09/11] can: m_can: Use of_property_present() for wakeup-source
(no matching commit)
- [net-next,10/11] drivers: gs_usb: gs_usb_probe(): fix typo in error message
https://git.kernel.org/netdev/net-next/c/3392698d3c1d
- [net-next,11/11] can: m_can: pci: Remove driver_data
(no matching commit)
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2026-08-18 18:42 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-17 23:24 [PATCH net-next 0/11] pull-request: can-next 2026-08-18 Marc Kleine-Budde
2026-08-17 23:24 ` [PATCH net-next 01/11] can: tcan4x5x: put tcan into sleep when removing driver Marc Kleine-Budde
2026-08-18 18:37 ` patchwork-bot+netdevbpf
2026-08-18 18:41 ` patchwork-bot+netdevbpf
2026-08-17 23:24 ` [PATCH net-next 02/11] dt-bindings: can: rockchip: add rk3588 CAN-FD compatible Marc Kleine-Budde
2026-08-17 23:24 ` [PATCH net-next 03/11] can: rockchip: add RK3588 CAN support Marc Kleine-Budde
2026-08-17 23:24 ` [PATCH net-next 04/11] docs: ctucanfd: fix swapped colors in legend for TX buffer FSM of CTU CAN FD Marc Kleine-Budde
2026-08-17 23:24 ` [PATCH net-next 05/11] can: vxcan: support per-netns device unregistration Marc Kleine-Budde
2026-08-17 23:24 ` [PATCH net-next 06/11] MAINTAINERS: Replace maintainer for Xilinx CAN driver Marc Kleine-Budde
2026-08-17 23:24 ` [PATCH net-next 07/11] dt-bindings: net: can: Convert TI HECC to DT schema Marc Kleine-Budde
2026-08-17 23:24 ` [PATCH net-next 08/11] dt-bindings: can: xilinx_can: Document phys property Marc Kleine-Budde
2026-08-17 23:24 ` [PATCH net-next 09/11] can: m_can: Use of_property_present() for wakeup-source Marc Kleine-Budde
2026-08-17 23:24 ` [PATCH net-next 10/11] drivers: gs_usb: gs_usb_probe(): fix typo in error message Marc Kleine-Budde
2026-08-17 23:24 ` [PATCH net-next 11/11] can: m_can: pci: Remove driver_data Marc Kleine-Budde
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox