This patch series adds support for a range of new Kvaser PCI Express devices based on the SmartFusion2 SoC, to the kvaser_pciefd driver. In the first patch, the hardware specific constants and functions are moved into a driver_data struct. In the second patch, we add the new devices and their hardware specific constants and functions. Jimmy Assarsson (2): can: kvaser_pciefd: Move hardware specific constants and functions into a driver_data struct can: kvaser_pciefd: Add support for new Kvaser pciefd devices drivers/net/can/Kconfig | 5 + drivers/net/can/kvaser_pciefd.c | 307 ++++++++++++++++++++++++-------- 2 files changed, 235 insertions(+), 77 deletions(-) -- Changes in v2: - Rebased on can: kvaser_pciefd: Fixes and improvements [1] - Dropped can: kvaser_pciefd: Wrap register read and writes with macros [2] since the driver became a lot cleaner when using FIELD_{GET,PREP} and GENMASK. Moved some parts of the patch into can: kvaser_pciefd: Move hardware specific constants and functions into a driver_data struct Removed macros reading/writing registers. [1] https://lore.kernel.org/all/20230529134248.752036-1-extja@xxxxxxxxxx [2] https://lore.kernel.org/linux-can/20230523094354.83792-17-extja@xxxxxxxxxx 2.40.0