Re: [PATCH] dt-bindings: net: can: bosch,cc770: Convert to DT schema
From: Quchaosheng
Date: Tue Sep 22 2026 - 22:34:27 EST
Marc, Vincent,
These four cc770 patches are still sitting unread. Three went out on 09-14 and
the fourth on 09-17. Sending one summary rather than four pings.
1. dt-bindings: net: can: bosch,cc770: Convert to DT schema
<20260914030215.437602-1-quchaosheng000406@xxxxxxx>
2. net: can: cc770: update the binding file reference in the driver comment
<20260914030215.437602-2-quchaosheng000406@xxxxxxx>
3. net: can: cc770: propagate the error from platform_get_irq()
<20260914055611.495105-1-quchaosheng000406@xxxxxxx>
4. can: cc770: fix the clock divider check on the platform bus
<20260917114311.534863-1-quchaosheng000406@xxxxxxx>
1 is the conversion; the schema is in net/can and references
can-controller.yaml. 2 is the one-line path in the driver's header comment,
and it only makes sense once 1 is in.
3 and 4 came out of sashiko's review of 1, which flagged two things in the
platform driver. Both are still there in current mainline:
cc770_platform_probe() collapses every platform_get_irq() failure into
-ENODEV, so an -EPROBE_DEFER is thrown away and the probe is not retried.
cc770_get_platform_data() tests priv->cpu_interface for CPUIF_DSC before
assigning it from pdata->cir. priv comes from alloc_cc770dev() ->
alloc_candev() -> alloc_netdev_mqs(), which uses kvzalloc_flex(), so the
field is still zero at that point and the test never matches. A board whose
pdata->cir has CPUIF_DSC set gets its clock halved in hardware but not in
can.clock.freq, so the bit timing is computed from twice the real rate. The
platform data example in the header of that file sets exactly that bit
(.cir = 0x41), and cc770_isa.c already assigns before testing.
Neither 3 nor 4 is a dt-binding change, so they can go in on their own. If
you would rather have them as one series under net/, say so and I will repost
them that way. And if any of this is out of scope for you, tell me and I will
drop it.
Thanks,
Quchaosheng