mbox series

[v11,0/2] can: esd: add support for esd GmbH PCIe/402 CAN interface

Message ID 20231122160211.2110448-1-stefan.maetje@esd.eu (mailing list archive)
Headers show
Series can: esd: add support for esd GmbH PCIe/402 CAN interface | expand

Message

Stefan Mätje Nov. 22, 2023, 4:02 p.m. UTC
The purpose of this patch is to introduce a new CAN driver to support
the esd GmbH 402 family of CAN interface boards. The hardware design
is based on a CAN controller implemented in a FPGA attached to a
PCIe link.

More information on these boards can be found following the links
included in the commit message.

This patch supports all boards but will operate the CAN-FD capable
boards only in Classic-CAN mode. The CAN-FD support will be added
when the initial patch has stabilized.

The patch is reuses the previous work of my former colleague:
Link: https://lore.kernel.org/linux-can/1426592308-23817-1-git-send-email-thomas.koerper@esd.eu/


The patch is based on the linux-can-next main branch.

Changed in v11:
  No functional, only editorial changes due to feedback on v10.
  - Make lifetime of macros used for hardware timestamp calculation
    very short by #undef-ing them after use.
  - Fixed insertion order of new entry in MAINTAINERS file.

Changed in v10:
  Most changes due to feedback by Vincent Mailhol
  https://lore.kernel.org/linux-can/CAMZ6RqLOAC930GNOU+pWuoi6FgYwFOuFrSyAzVjvE2fuVgy8oA@mail.gmail.com/
  - Add support for ethtool operations by using default operations 
    provided by the can_dev module for drivers with hardware time
    stamp support.
  - Factor out core unregistration into pci402_unregister_core().
  - Factor out getting next TX fifo index into acc_tx_fifo_next().
  - Stop counting alloc_can_err_skb() failures in rx_dropped statistic.
  - Add CAN_ERR_CNT flag in CAN error frames as needed.
  - Rework function acc_reset_fpga(). To clear I^2C bus enable bit
    is not necessary after FPGA reset.
  - Simplify struct acc_bmmsg_rxtxdone layout.
  - Additional non functional changes due to feedback by Vincent
  - Some spelling corrections: ESDACC -> esdACC

Changes in v9:
  - Fix returning success error code in case of allocation failure in
    pci402_probe().

Changes in v8:
  - Rebased to 6.6-rc2 on linux-can-next branch main

Changes in v7:
  - Numerous changes. Find the quoted with inline comments about changes
    below after the changes list. Stuff that I don't understand and
    where I have questions is marked with ????.
    Unfortunately I will be AFK till 28th of November.

Changes in v6:
  - Fixed the statistic handling of RX overrun errors and increase 
    net_device_stats::rx_errors instead of net_device_stats::rx_dropped.
  - Added a patch to not increase rx statistics when generating a CAN
    rx error message frame as suggested on the linux-can list.
  - Added a patch to not not increase rx_bytes statistics for RTR frames
    as suggested on the linux-can list.

    The last two patches change the statistics handling from the previous
    style used in other drivers to the newly suggested one.

Changes in v5:
  - Added the initialization for netdev::dev_port as it is implemented
    for another CAN driver. See
    https://lore.kernel.org/linux-can/20211026180553.1953189-1-mailhol.vincent@wanadoo.fr/

Changes in v4:
  - Fixed the build failure on ARCH=arm64 that was found by the Intel
    kernel test robot. See
    https://lore.kernel.org/linux-can/202109120608.7ZbQXkRh-lkp@intel.com/

    Removed error monitoring code that used GCC's built-in compiler
    functions for atomic access (__sync_* functions). GCC versions
    after 9 (tested with "gcc-10 (Ubuntu 10.3.0-1ubuntu1~20.04)")
    don't implement the intrinsic atomic as in-line code but call
    "__aarch64_ldadd4_acq_rel" on arm64. This GCC support function
    is not exported by the kernel and therefore the module build
    post-processing fails.

    Removed that code because the error monitoring never showed a
    problem during the development this year.


Changes in v3:
  - Rework the bus-off restart logic in acc_set_mode() and
    handle_core_msg_errstatechange() to call netif_wake_queue() from the
    error active event.
  - Changed pci402_init_card() to allocate a variable sized array of
    struct acc_core using devm_kcalloc() instead of using a fixed size
    array in struct pci402_card.
  - Changed handle_core_msg_txabort() to release aborted TX frames in
    TX FIFO order.
  - Fixed the acc_close() function to abort all pending TX request in
    esdACC controller.
  - Fixed counting of transmit aborts in handle_core_msg_txabort().
    It is now done like in can_flush_echo_skb().
  - Fixed handle_core_msg_buserr() to create error frames including the
    CAN RX and TX error counters that were missing.
  - Fixed acc_set_bittiming() neither to touch LOM mode setting of
    esdACC controller nor to enter or leave RESET mode.
    The esdACC controller is going active on the CAN bus in acc_open()
    and is going inactive (RESET mode) again in acc_close().
  - Rely on the automatic release of memory fetched by devm_kzalloc().
    But still use devm_irq_free() explicitely to make sure that the
    interrupt handler is disconnected at that point.
    This avoids a possible crash in non-MSI mode due to the IRQ
    triggered by another device on the same PCI IRQ line.
  - Changed to use DMA map API instead of pci_*_consistent compatibility
    wrappers.
  - Fixed stale email references and updated copyright information.
  - Removed any traces of future CAN-FD support.


Changes in v2:
  - Avoid warning triggered by -Wshift-count-overflow on architectures
    with 32-bit dma_addr_t.
  - Fixed Makefile not to build the kernel module always. Doing this
    renamed esd402_pci.c to esd_402_pci-core.c as recommended by Marc.

previous versions:
v1 - https://lore.kernel.org/linux-can/20210728203647.15240-1-Stefan.Maetje@esd.eu/
v2 - https://lore.kernel.org/linux-can/20210730173805.3926-1-Stefan.Maetje@esd.eu/
v3 - https://lore.kernel.org/linux-can/20210908164640.23243-1-stefan.maetje@esd.eu/
v4 - https://lore.kernel.org/linux-can/20210916172152.5127-1-stefan.maetje@esd.eu/
v5 - https://lore.kernel.org/linux-can/20211109155326.2608822-1-stefan.maetje@esd.eu/
v6 - https://lore.kernel.org/linux-can/20211201220328.3079270-1-stefan.maetje@esd.eu/
v7 - https://lore.kernel.org/linux-can/20221106224156.3619334-1-stefan.maetje@esd.eu/
v8 - https://lore.kernel.org/linux-can/20231025141635.1459606-1-stefan.maetje@esd.eu/
v9 - https://lore.kernel.org/linux-can/20231107184103.2802678-1-stefan.maetje@esd.eu/
v10 - https://lore.kernel.org/linux-can/20231120175657.4070921-1-stefan.maetje@esd.eu/


Stefan Mätje (2):
  MAINTAINERS: add Stefan Mätje as maintainer for the esd electronics
    GmbH PCIe/402 CAN drivers
  can: esd: add support for esd GmbH PCIe/402 CAN interface family

 MAINTAINERS                            |   7 +
 drivers/net/can/Kconfig                |   1 +
 drivers/net/can/Makefile               |   1 +
 drivers/net/can/esd/Kconfig            |  12 +
 drivers/net/can/esd/Makefile           |   7 +
 drivers/net/can/esd/esd_402_pci-core.c | 514 +++++++++++++++++
 drivers/net/can/esd/esdacc.c           | 764 +++++++++++++++++++++++++
 drivers/net/can/esd/esdacc.h           | 356 ++++++++++++
 8 files changed, 1662 insertions(+)
 create mode 100644 drivers/net/can/esd/Kconfig
 create mode 100644 drivers/net/can/esd/Makefile
 create mode 100644 drivers/net/can/esd/esd_402_pci-core.c
 create mode 100644 drivers/net/can/esd/esdacc.c
 create mode 100644 drivers/net/can/esd/esdacc.h


base-commit: 93e7eca853ca0087b129433630ddd89288d2b8b4

Comments

Stefan Mätje Dec. 20, 2023, 3:25 p.m. UTC | #1
Hi,

are there any comments on this patch besides the ones from Vincent?
Is there anything I can do to pave the path for this patch?

Best regards,
    Stefan

Am Mittwoch, dem 22.11.2023 um 17:02 +0100 schrieb Stefan Mätje:
> The purpose of this patch is to introduce a new CAN driver to support
> the esd GmbH 402 family of CAN interface boards. The hardware design
> is based on a CAN controller implemented in a FPGA attached to a
> PCIe link.
> 
> More information on these boards can be found following the links
> included in the commit message.
> 
> This patch supports all boards but will operate the CAN-FD capable
> boards only in Classic-CAN mode. The CAN-FD support will be added
> when the initial patch has stabilized.
> 
> The patch is reuses the previous work of my former colleague:
> Link: https://lore.kernel.org/linux-can/1426592308-23817-1-git-send-email-thomas.koerper@esd.eu/
> 
> 
> The patch is based on the linux-can-next main branch.
> 
> Changed in v11:
>   No functional, only editorial changes due to feedback on v10.
>   - Make lifetime of macros used for hardware timestamp calculation
>     very short by #undef-ing them after use.
>   - Fixed insertion order of new entry in MAINTAINERS file.
> 
> Changed in v10:
>   Most changes due to feedback by Vincent Mailhol
>   https://lore.kernel.org/linux-can/CAMZ6RqLOAC930GNOU+pWuoi6FgYwFOuFrSyAzVjvE2fuVgy8oA@mail.gmail.com/
>   - Add support for ethtool operations by using default operations 
>     provided by the can_dev module for drivers with hardware time
>     stamp support.
>   - Factor out core unregistration into pci402_unregister_core().
>   - Factor out getting next TX fifo index into acc_tx_fifo_next().
>   - Stop counting alloc_can_err_skb() failures in rx_dropped statistic.
>   - Add CAN_ERR_CNT flag in CAN error frames as needed.
>   - Rework function acc_reset_fpga(). To clear I^2C bus enable bit
>     is not necessary after FPGA reset.
>   - Simplify struct acc_bmmsg_rxtxdone layout.
>   - Additional non functional changes due to feedback by Vincent
>   - Some spelling corrections: ESDACC -> esdACC
> 
> Changes in v9:
>   - Fix returning success error code in case of allocation failure in
>     pci402_probe().
> 
> Changes in v8:
>   - Rebased to 6.6-rc2 on linux-can-next branch main
> 
> Changes in v7:
>   - Numerous changes. Find the quoted with inline comments about changes
>     below after the changes list. Stuff that I don't understand and
>     where I have questions is marked with ????.
>     Unfortunately I will be AFK till 28th of November.
> 
> Changes in v6:
>   - Fixed the statistic handling of RX overrun errors and increase 
>     net_device_stats::rx_errors instead of net_device_stats::rx_dropped.
>   - Added a patch to not increase rx statistics when generating a CAN
>     rx error message frame as suggested on the linux-can list.
>   - Added a patch to not not increase rx_bytes statistics for RTR frames
>     as suggested on the linux-can list.
> 
>     The last two patches change the statistics handling from the previous
>     style used in other drivers to the newly suggested one.
> 
> Changes in v5:
>   - Added the initialization for netdev::dev_port as it is implemented
>     for another CAN driver. See
>     https://lore.kernel.org/linux-can/20211026180553.1953189-1-mailhol.vincent@wanadoo.fr/
> 
> Changes in v4:
>   - Fixed the build failure on ARCH=arm64 that was found by the Intel
>     kernel test robot. See
>     https://lore.kernel.org/linux-can/202109120608.7ZbQXkRh-lkp@intel.com/
> 
>     Removed error monitoring code that used GCC's built-in compiler
>     functions for atomic access (__sync_* functions). GCC versions
>     after 9 (tested with "gcc-10 (Ubuntu 10.3.0-1ubuntu1~20.04)")
>     don't implement the intrinsic atomic as in-line code but call
>     "__aarch64_ldadd4_acq_rel" on arm64. This GCC support function
>     is not exported by the kernel and therefore the module build
>     post-processing fails.
> 
>     Removed that code because the error monitoring never showed a
>     problem during the development this year.
> 
> 
> Changes in v3:
>   - Rework the bus-off restart logic in acc_set_mode() and
>     handle_core_msg_errstatechange() to call netif_wake_queue() from the
>     error active event.
>   - Changed pci402_init_card() to allocate a variable sized array of
>     struct acc_core using devm_kcalloc() instead of using a fixed size
>     array in struct pci402_card.
>   - Changed handle_core_msg_txabort() to release aborted TX frames in
>     TX FIFO order.
>   - Fixed the acc_close() function to abort all pending TX request in
>     esdACC controller.
>   - Fixed counting of transmit aborts in handle_core_msg_txabort().
>     It is now done like in can_flush_echo_skb().
>   - Fixed handle_core_msg_buserr() to create error frames including the
>     CAN RX and TX error counters that were missing.
>   - Fixed acc_set_bittiming() neither to touch LOM mode setting of
>     esdACC controller nor to enter or leave RESET mode.
>     The esdACC controller is going active on the CAN bus in acc_open()
>     and is going inactive (RESET mode) again in acc_close().
>   - Rely on the automatic release of memory fetched by devm_kzalloc().
>     But still use devm_irq_free() explicitely to make sure that the
>     interrupt handler is disconnected at that point.
>     This avoids a possible crash in non-MSI mode due to the IRQ
>     triggered by another device on the same PCI IRQ line.
>   - Changed to use DMA map API instead of pci_*_consistent compatibility
>     wrappers.
>   - Fixed stale email references and updated copyright information.
>   - Removed any traces of future CAN-FD support.
> 
> 
> Changes in v2:
>   - Avoid warning triggered by -Wshift-count-overflow on architectures
>     with 32-bit dma_addr_t.
>   - Fixed Makefile not to build the kernel module always. Doing this
>     renamed esd402_pci.c to esd_402_pci-core.c as recommended by Marc.
> 
> previous versions:
> v1 - https://lore.kernel.org/linux-can/20210728203647.15240-1-Stefan.Maetje@esd.eu/
> v2 - https://lore.kernel.org/linux-can/20210730173805.3926-1-Stefan.Maetje@esd.eu/
> v3 - https://lore.kernel.org/linux-can/20210908164640.23243-1-stefan.maetje@esd.eu/
> v4 - https://lore.kernel.org/linux-can/20210916172152.5127-1-stefan.maetje@esd.eu/
> v5 - https://lore.kernel.org/linux-can/20211109155326.2608822-1-stefan.maetje@esd.eu/
> v6 - https://lore.kernel.org/linux-can/20211201220328.3079270-1-stefan.maetje@esd.eu/
> v7 - https://lore.kernel.org/linux-can/20221106224156.3619334-1-stefan.maetje@esd.eu/
> v8 - https://lore.kernel.org/linux-can/20231025141635.1459606-1-stefan.maetje@esd.eu/
> v9 - https://lore.kernel.org/linux-can/20231107184103.2802678-1-stefan.maetje@esd.eu/
> v10 - https://lore.kernel.org/linux-can/20231120175657.4070921-1-stefan.maetje@esd.eu/
> 
> 
> Stefan Mätje (2):
>   MAINTAINERS: add Stefan Mätje as maintainer for the esd electronics
>     GmbH PCIe/402 CAN drivers
>   can: esd: add support for esd GmbH PCIe/402 CAN interface family
> 
>  MAINTAINERS                            |   7 +
>  drivers/net/can/Kconfig                |   1 +
>  drivers/net/can/Makefile               |   1 +
>  drivers/net/can/esd/Kconfig            |  12 +
>  drivers/net/can/esd/Makefile           |   7 +
>  drivers/net/can/esd/esd_402_pci-core.c | 514 +++++++++++++++++
>  drivers/net/can/esd/esdacc.c           | 764 +++++++++++++++++++++++++
>  drivers/net/can/esd/esdacc.h           | 356 ++++++++++++
>  8 files changed, 1662 insertions(+)
>  create mode 100644 drivers/net/can/esd/Kconfig
>  create mode 100644 drivers/net/can/esd/Makefile
>  create mode 100644 drivers/net/can/esd/esd_402_pci-core.c
>  create mode 100644 drivers/net/can/esd/esdacc.c
>  create mode 100644 drivers/net/can/esd/esdacc.h
> 
> 
> base-commit: 93e7eca853ca0087b129433630ddd89288d2b8b4
Stefan Mätje Jan. 29, 2024, 12:46 p.m. UTC | #2
Hi,

there has some time passed since my last ping on the mailing list. Is there
anything I can do to pave the path for this patch? Please let me know.

Best regards,
    Stefan Mätje



Am Mittwoch, dem 20.12.2023 um 15:25 +0000 schrieb Stefan Mätje:
> Hi,
> 
> are there any comments on this patch besides the ones from Vincent?
> Is there anything I can do to pave the path for this patch?
> 
> Best regards,
>     Stefan
> 
> Am Mittwoch, dem 22.11.2023 um 17:02 +0100 schrieb Stefan Mätje:
> > The purpose of this patch is to introduce a new CAN driver to support
> > the esd GmbH 402 family of CAN interface boards. The hardware design
> > is based on a CAN controller implemented in a FPGA attached to a
> > PCIe link.
> > 
> > More information on these boards can be found following the links
> > included in the commit message.
> > 
> > This patch supports all boards but will operate the CAN-FD capable
> > boards only in Classic-CAN mode. The CAN-FD support will be added
> > when the initial patch has stabilized.
> > 
> > The patch is reuses the previous work of my former colleague:
> > Link: https://lore.kernel.org/linux-can/1426592308-23817-1-git-send-email-thomas.koerper@esd.eu/
> > 
> > 
> > The patch is based on the linux-can-next main branch.
> > 
> > Changed in v11:
> >   No functional, only editorial changes due to feedback on v10.
> >   - Make lifetime of macros used for hardware timestamp calculation
> >     very short by #undef-ing them after use.
> >   - Fixed insertion order of new entry in MAINTAINERS file.
> > 
> > Changed in v10:
> >   Most changes due to feedback by Vincent Mailhol
> >   https://lore.kernel.org/linux-can/CAMZ6RqLOAC930GNOU+pWuoi6FgYwFOuFrSyAzVjvE2fuVgy8oA@mail.gmail.com/
> >   - Add support for ethtool operations by using default operations 
> >     provided by the can_dev module for drivers with hardware time
> >     stamp support.
> >   - Factor out core unregistration into pci402_unregister_core().
> >   - Factor out getting next TX fifo index into acc_tx_fifo_next().
> >   - Stop counting alloc_can_err_skb() failures in rx_dropped statistic.
> >   - Add CAN_ERR_CNT flag in CAN error frames as needed.
> >   - Rework function acc_reset_fpga(). To clear I^2C bus enable bit
> >     is not necessary after FPGA reset.
> >   - Simplify struct acc_bmmsg_rxtxdone layout.
> >   - Additional non functional changes due to feedback by Vincent
> >   - Some spelling corrections: ESDACC -> esdACC
> > 
> > Changes in v9:
> >   - Fix returning success error code in case of allocation failure in
> >     pci402_probe().
> > 
> > Changes in v8:
> >   - Rebased to 6.6-rc2 on linux-can-next branch main
> > 
> > Changes in v7:
> >   - Numerous changes. Find the quoted with inline comments about changes
> >     below after the changes list. Stuff that I don't understand and
> >     where I have questions is marked with ????.
> >     Unfortunately I will be AFK till 28th of November.
> > 
> > Changes in v6:
> >   - Fixed the statistic handling of RX overrun errors and increase 
> >     net_device_stats::rx_errors instead of net_device_stats::rx_dropped.
> >   - Added a patch to not increase rx statistics when generating a CAN
> >     rx error message frame as suggested on the linux-can list.
> >   - Added a patch to not not increase rx_bytes statistics for RTR frames
> >     as suggested on the linux-can list.
> > 
> >     The last two patches change the statistics handling from the previous
> >     style used in other drivers to the newly suggested one.
> > 
> > Changes in v5:
> >   - Added the initialization for netdev::dev_port as it is implemented
> >     for another CAN driver. See
> >     https://lore.kernel.org/linux-can/20211026180553.1953189-1-mailhol.vincent@wanadoo.fr/
> > 
> > Changes in v4:
> >   - Fixed the build failure on ARCH=arm64 that was found by the Intel
> >     kernel test robot. See
> >     https://lore.kernel.org/linux-can/202109120608.7ZbQXkRh-lkp@intel.com/
> > 
> >     Removed error monitoring code that used GCC's built-in compiler
> >     functions for atomic access (__sync_* functions). GCC versions
> >     after 9 (tested with "gcc-10 (Ubuntu 10.3.0-1ubuntu1~20.04)")
> >     don't implement the intrinsic atomic as in-line code but call
> >     "__aarch64_ldadd4_acq_rel" on arm64. This GCC support function
> >     is not exported by the kernel and therefore the module build
> >     post-processing fails.
> > 
> >     Removed that code because the error monitoring never showed a
> >     problem during the development this year.
> > 
> > 
> > Changes in v3:
> >   - Rework the bus-off restart logic in acc_set_mode() and
> >     handle_core_msg_errstatechange() to call netif_wake_queue() from the
> >     error active event.
> >   - Changed pci402_init_card() to allocate a variable sized array of
> >     struct acc_core using devm_kcalloc() instead of using a fixed size
> >     array in struct pci402_card.
> >   - Changed handle_core_msg_txabort() to release aborted TX frames in
> >     TX FIFO order.
> >   - Fixed the acc_close() function to abort all pending TX request in
> >     esdACC controller.
> >   - Fixed counting of transmit aborts in handle_core_msg_txabort().
> >     It is now done like in can_flush_echo_skb().
> >   - Fixed handle_core_msg_buserr() to create error frames including the
> >     CAN RX and TX error counters that were missing.
> >   - Fixed acc_set_bittiming() neither to touch LOM mode setting of
> >     esdACC controller nor to enter or leave RESET mode.
> >     The esdACC controller is going active on the CAN bus in acc_open()
> >     and is going inactive (RESET mode) again in acc_close().
> >   - Rely on the automatic release of memory fetched by devm_kzalloc().
> >     But still use devm_irq_free() explicitely to make sure that the
> >     interrupt handler is disconnected at that point.
> >     This avoids a possible crash in non-MSI mode due to the IRQ
> >     triggered by another device on the same PCI IRQ line.
> >   - Changed to use DMA map API instead of pci_*_consistent compatibility
> >     wrappers.
> >   - Fixed stale email references and updated copyright information.
> >   - Removed any traces of future CAN-FD support.
> > 
> > 
> > Changes in v2:
> >   - Avoid warning triggered by -Wshift-count-overflow on architectures
> >     with 32-bit dma_addr_t.
> >   - Fixed Makefile not to build the kernel module always. Doing this
> >     renamed esd402_pci.c to esd_402_pci-core.c as recommended by Marc.
> > 
> > previous versions:
> > v1 - https://lore.kernel.org/linux-can/20210728203647.15240-1-Stefan.Maetje@esd.eu/
> > v2 - https://lore.kernel.org/linux-can/20210730173805.3926-1-Stefan.Maetje@esd.eu/
> > v3 - https://lore.kernel.org/linux-can/20210908164640.23243-1-stefan.maetje@esd.eu/
> > v4 - https://lore.kernel.org/linux-can/20210916172152.5127-1-stefan.maetje@esd.eu/
> > v5 - https://lore.kernel.org/linux-can/20211109155326.2608822-1-stefan.maetje@esd.eu/
> > v6 - https://lore.kernel.org/linux-can/20211201220328.3079270-1-stefan.maetje@esd.eu/
> > v7 - https://lore.kernel.org/linux-can/20221106224156.3619334-1-stefan.maetje@esd.eu/
> > v8 - https://lore.kernel.org/linux-can/20231025141635.1459606-1-stefan.maetje@esd.eu/
> > v9 - https://lore.kernel.org/linux-can/20231107184103.2802678-1-stefan.maetje@esd.eu/
> > v10 - https://lore.kernel.org/linux-can/20231120175657.4070921-1-stefan.maetje@esd.eu/
> > 
> > 
> > Stefan Mätje (2):
> >   MAINTAINERS: add Stefan Mätje as maintainer for the esd electronics
> >     GmbH PCIe/402 CAN drivers
> >   can: esd: add support for esd GmbH PCIe/402 CAN interface family
> > 
> >  MAINTAINERS                            |   7 +
> >  drivers/net/can/Kconfig                |   1 +
> >  drivers/net/can/Makefile               |   1 +
> >  drivers/net/can/esd/Kconfig            |  12 +
> >  drivers/net/can/esd/Makefile           |   7 +
> >  drivers/net/can/esd/esd_402_pci-core.c | 514 +++++++++++++++++
> >  drivers/net/can/esd/esdacc.c           | 764 +++++++++++++++++++++++++
> >  drivers/net/can/esd/esdacc.h           | 356 ++++++++++++
> >  8 files changed, 1662 insertions(+)
> >  create mode 100644 drivers/net/can/esd/Kconfig
> >  create mode 100644 drivers/net/can/esd/Makefile
> >  create mode 100644 drivers/net/can/esd/esd_402_pci-core.c
> >  create mode 100644 drivers/net/can/esd/esdacc.c
> >  create mode 100644 drivers/net/can/esd/esdacc.h
> > 
> > 
> > base-commit: 93e7eca853ca0087b129433630ddd89288d2b8b4