Re: [PATCH v2 4/4] can: sun4i_can: Add support for the Allwinner D1

Geert Uytterhoeven
2023-08-22T12:30:36Z

Hi John,

On Sat, Jul 22, 2023 at 12:18 AM John Watts <contact@jookia.org> wrote:
> The controllers present in the D1 are extremely similar to the R40
> and require the same reset quirks, but An extra quirk is needed to support
> receiving packets.
>
> Signed-off-by: John Watts <contact@jookia.org>

Thanks for your patch, which is now commit 8abb95250ae6af2d ("can:
sun4i_can: Add support for the Allwinner D1") in linux-can-next/master.

> --- a/drivers/net/can/Kconfig
> +++ b/drivers/net/can/Kconfig
> @@ -185,10 +185,10 @@ config CAN_SLCAN
>
> config CAN_SUN4I
> tristate "Allwinner A10 CAN controller"
> - depends on MACH_SUN4I || MACH_SUN7I || COMPILE_TEST
> + depends on MACH_SUN4I || MACH_SUN7I || RISCV || COMPILE_TEST

This makes this question pop up when configuring a kernel for any RISC-V
platform, not just for Allwinner RISC-V platforms.

In comparison, drivers/clk/sunxi-ng/Kconfig does have some

depends on MACH_SUN<foo>I || RISCV || COMPILE_TEST

but these are gated by ARCH_SUNXI at the top of the file.

I'm not sure what's the best way to fix this:
- Replace RISCV by ARCH_SUNXI?
This would expose it on more ARM sun<foo>i platforms, making the
MACH_SUN4I || MACH_SUN7I superfluous?
- Replace RISCV by RISCV && ARCH_SUNXI?

Thanks for your comments!

> help
> Say Y here if you want to use CAN controller found on Allwinner
> - A10/A20 SoCs.
> + A10/A20/D1 SoCs.
>
> To compile this driver as a module, choose M here: the module will
> be called sun4i_can.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds