Dario, thank you so much for working on slcan! To speed up the slcan cleanup, may I suggest looking at can327? It started as a modification of slcan, and over the past few months, it has gone through several review rounds in upstreaming. In fact, a *ton* of things pointed out during reviews would apply 1:1 to slcan. What's more, there's legacy stuff that's no longer needed. No SLCAN_MAGIC, no slcan_devs, ... it's all gone in can327. May I suggest you have a look at it and bring slcan's boilerplate in line with it? It's certainly not perfect (7 patch series and counting, and that's just the public ones), but I'm sure that looking at the two drivers side-by-side could serve as a good starting point, to avoid re-reviewing the same things all over again. The current out-of-tree version can be found here (the repo name is still the old one, elmcan), where I occasionally push changes before bundling them up into an upstreaming patch. If a specific line seems strange to you, "git blame" on this repo is likely to dig up a helpful commit message, explaining the choice: https://github.com/norly/elmcan https://git.enpas.org/?p=elmcan.git Max