[R/Unstable][PULL] Integrate IgH EtherCAT master

Wen-chien Jesse Sung jesse.sung at canonical.com
Mon Jan 19 11:53:54 UTC 2026


BugLink: https://launchpad.net/bugs/2138621

Repository of IgH EtherCAT master can be found at
https://gitlab.com/etherlab.org/ethercat

The current target is to integrate tag 1.6.8. Besides of EtherCAT
master, the generic device driver will also be included. Integration of
other device specific drivers is still TBD.

The following changes since commit f124d3f575294316f17661870695cbe94e968152:

  UBUNTU: Ubuntu-unstable-6.19.0-1.1 (2026-01-13 15:36:30 +0200)

are available in the Git repository at:

  https://git.launchpad.net/~wenchien/ubuntu/+source/linux/+git/unstable igh-ecat

for you to fetch changes up to a201b067af5ba23dc1122e5aeea27cfba2522e9f:

  UBUNTU: [Config] Enable IgH EtherCAT master (2026-01-19 19:34:10 +0800)

----------------------------------------------------------------
Wen-chien Jesse Sung (4):
      UBUNTU: SAUCE: ubuntu/igh-ecat: Import IgH EtherCAT master
      UBUNTU: SAUCE: igh-ecat: Plug IgH EtherCAT master into Kbuild
      UBUNTU: SAUCE: igh-ecat: Fix build failure with kernel 6.19
      UBUNTU: [Config] Enable IgH EtherCAT master

 debian.master/config/annotations          |    5 +
 ubuntu/Kconfig                            |    4 +
 ubuntu/Makefile                           |    4 +
 ubuntu/igh-ecat/Kconfig                   |   21 +
 ubuntu/igh-ecat/Makefile                  |    7 +
 ubuntu/igh-ecat/config.h                  |  100 +
 ubuntu/igh-ecat/devices/Makefile          |    5 +
 ubuntu/igh-ecat/devices/ecdev.h           |   71 +
 ubuntu/igh-ecat/devices/generic.c         |  483 +++
 ubuntu/igh-ecat/globals.h                 |   55 +
 ubuntu/igh-ecat/include/Makefile.am       |   26 +
 ubuntu/igh-ecat/include/ecrt.h            | 3153 ++++++++++++++++
 ubuntu/igh-ecat/include/ectty.h           |  106 +
 ubuntu/igh-ecat/master/Kbuild.in          |  112 +
 ubuntu/igh-ecat/master/Makefile           |   47 +
 ubuntu/igh-ecat/master/Makefile.am        |   76 +
 ubuntu/igh-ecat/master/api_usage_notes.md |   51 +
 ubuntu/igh-ecat/master/cdev.c             |  281 ++
 ubuntu/igh-ecat/master/cdev.h             |   53 +
 ubuntu/igh-ecat/master/coe_emerg_ring.c   |  169 +
 ubuntu/igh-ecat/master/coe_emerg_ring.h   |   70 +
 ubuntu/igh-ecat/master/datagram.c         |  644 ++++
 ubuntu/igh-ecat/master/datagram.h         |  142 +
 ubuntu/igh-ecat/master/datagram_pair.c    |  193 +
 ubuntu/igh-ecat/master/datagram_pair.h    |   61 +
 ubuntu/igh-ecat/master/debug.c            |  258 ++
 ubuntu/igh-ecat/master/debug.h            |   58 +
 ubuntu/igh-ecat/master/device.c           |  716 ++++
 ubuntu/igh-ecat/master/device.h           |  150 +
 ubuntu/igh-ecat/master/domain.c           |  719 ++++
 ubuntu/igh-ecat/master/domain.h           |   82 +
 ubuntu/igh-ecat/master/doxygen.c          |   82 +
 ubuntu/igh-ecat/master/eoe_request.c      |   80 +
 ubuntu/igh-ecat/master/eoe_request.h      |   70 +
 ubuntu/igh-ecat/master/ethernet.c         |  886 +++++
 ubuntu/igh-ecat/master/ethernet.h         |  122 +
 ubuntu/igh-ecat/master/flag.c             |   69 +
 ubuntu/igh-ecat/master/flag.h             |   51 +
 ubuntu/igh-ecat/master/fmmu_config.c      |   91 +
 ubuntu/igh-ecat/master/fmmu_config.h      |   58 +
 ubuntu/igh-ecat/master/foe.h              |   54 +
 ubuntu/igh-ecat/master/foe_request.c      |  195 +
 ubuntu/igh-ecat/master/foe_request.h      |   78 +
 ubuntu/igh-ecat/master/fsm_change.c       |  615 ++++
 ubuntu/igh-ecat/master/fsm_change.h       |   84 +
 ubuntu/igh-ecat/master/fsm_coe.c          | 2537 +++++++++++++
 ubuntu/igh-ecat/master/fsm_coe.h          |   74 +
 ubuntu/igh-ecat/master/fsm_eoe.c          |  509 +++
 ubuntu/igh-ecat/master/fsm_eoe.h          |   67 +
 ubuntu/igh-ecat/master/fsm_foe.c          |  915 +++++
 ubuntu/igh-ecat/master/fsm_foe.h          |   87 +
 ubuntu/igh-ecat/master/fsm_master.c       | 1472 ++++++++
 ubuntu/igh-ecat/master/fsm_master.h       |  107 +
 ubuntu/igh-ecat/master/fsm_pdo.c          |  806 +++++
 ubuntu/igh-ecat/master/fsm_pdo.h          |   76 +
 ubuntu/igh-ecat/master/fsm_pdo_entry.c    |  541 +++
 ubuntu/igh-ecat/master/fsm_pdo_entry.h    |   75 +
 ubuntu/igh-ecat/master/fsm_sii.c          |  482 +++
 ubuntu/igh-ecat/master/fsm_sii.h          |   82 +
 ubuntu/igh-ecat/master/fsm_slave.c        |  685 ++++
 ubuntu/igh-ecat/master/fsm_slave.h        |   87 +
 ubuntu/igh-ecat/master/fsm_slave_config.c | 1864 ++++++++++
 ubuntu/igh-ecat/master/fsm_slave_config.h |   81 +
 ubuntu/igh-ecat/master/fsm_slave_scan.c   | 1121 ++++++
 ubuntu/igh-ecat/master/fsm_slave_scan.h   |   75 +
 ubuntu/igh-ecat/master/fsm_soe.c          |  844 +++++
 ubuntu/igh-ecat/master/fsm_soe.h          |   67 +
 ubuntu/igh-ecat/master/globals.h          |  314 ++
 ubuntu/igh-ecat/master/ioctl.c            | 5591 +++++++++++++++++++++++++++++
 ubuntu/igh-ecat/master/ioctl.h            |  879 +++++
 ubuntu/igh-ecat/master/mailbox.c          |  203 ++
 ubuntu/igh-ecat/master/mailbox.h          |   64 +
 ubuntu/igh-ecat/master/master.c           | 3350 +++++++++++++++++
 ubuntu/igh-ecat/master/master.h           |  386 ++
 ubuntu/igh-ecat/master/module.c           |  681 ++++
 ubuntu/igh-ecat/master/pdo.c              |  309 ++
 ubuntu/igh-ecat/master/pdo.h              |   67 +
 ubuntu/igh-ecat/master/pdo_entry.c        |  124 +
 ubuntu/igh-ecat/master/pdo_entry.h        |   58 +
 ubuntu/igh-ecat/master/pdo_list.c         |  338 ++
 ubuntu/igh-ecat/master/pdo_list.h         |   71 +
 ubuntu/igh-ecat/master/reg_request.c      |  125 +
 ubuntu/igh-ecat/master/reg_request.h      |   59 +
 ubuntu/igh-ecat/master/rt_locks.h         |   75 +
 ubuntu/igh-ecat/master/rtdm-ioctl.c       |    1 +
 ubuntu/igh-ecat/master/rtdm.c             |  259 ++
 ubuntu/igh-ecat/master/rtdm.h             |   50 +
 ubuntu/igh-ecat/master/rtdm_details.h     |   60 +
 ubuntu/igh-ecat/master/rtdm_xenomai_v3.c  |  193 +
 ubuntu/igh-ecat/master/sdo.c              |  124 +
 ubuntu/igh-ecat/master/sdo.h              |   61 +
 ubuntu/igh-ecat/master/sdo_entry.c        |   69 +
 ubuntu/igh-ecat/master/sdo_entry.h        |   64 +
 ubuntu/igh-ecat/master/sdo_request.c      |  256 ++
 ubuntu/igh-ecat/master/sdo_request.h      |   75 +
 ubuntu/igh-ecat/master/slave.c            | 1010 ++++++
 ubuntu/igh-ecat/master/slave.h            |  266 ++
 ubuntu/igh-ecat/master/slave_config.c     | 1652 +++++++++
 ubuntu/igh-ecat/master/slave_config.h     |  196 +
 ubuntu/igh-ecat/master/soe_errors.c       |   88 +
 ubuntu/igh-ecat/master/soe_request.c      |  333 ++
 ubuntu/igh-ecat/master/soe_request.h      |   76 +
 ubuntu/igh-ecat/master/sync.c             |  170 +
 ubuntu/igh-ecat/master/sync.h             |   60 +
 ubuntu/igh-ecat/master/sync_config.c      |   55 +
 ubuntu/igh-ecat/master/sync_config.h      |   51 +
 ubuntu/igh-ecat/master/voe_handler.c      |  553 +++
 ubuntu/igh-ecat/master/voe_handler.h      |   65 +
 108 files changed, 41592 insertions(+)
 create mode 100644 ubuntu/igh-ecat/Kconfig
 create mode 100644 ubuntu/igh-ecat/Makefile
 create mode 100644 ubuntu/igh-ecat/config.h
 create mode 100644 ubuntu/igh-ecat/devices/Makefile
 create mode 100644 ubuntu/igh-ecat/devices/ecdev.h
 create mode 100644 ubuntu/igh-ecat/devices/generic.c
 create mode 100644 ubuntu/igh-ecat/globals.h
 create mode 100644 ubuntu/igh-ecat/include/Makefile.am
 create mode 100644 ubuntu/igh-ecat/include/ecrt.h
 create mode 100644 ubuntu/igh-ecat/include/ectty.h
 create mode 100644 ubuntu/igh-ecat/master/Kbuild.in
 create mode 100644 ubuntu/igh-ecat/master/Makefile
 create mode 100644 ubuntu/igh-ecat/master/Makefile.am
 create mode 100644 ubuntu/igh-ecat/master/api_usage_notes.md
 create mode 100644 ubuntu/igh-ecat/master/cdev.c
 create mode 100644 ubuntu/igh-ecat/master/cdev.h
 create mode 100644 ubuntu/igh-ecat/master/coe_emerg_ring.c
 create mode 100644 ubuntu/igh-ecat/master/coe_emerg_ring.h
 create mode 100644 ubuntu/igh-ecat/master/datagram.c
 create mode 100644 ubuntu/igh-ecat/master/datagram.h
 create mode 100644 ubuntu/igh-ecat/master/datagram_pair.c
 create mode 100644 ubuntu/igh-ecat/master/datagram_pair.h
 create mode 100644 ubuntu/igh-ecat/master/debug.c
 create mode 100644 ubuntu/igh-ecat/master/debug.h
 create mode 100644 ubuntu/igh-ecat/master/device.c
 create mode 100644 ubuntu/igh-ecat/master/device.h
 create mode 100644 ubuntu/igh-ecat/master/domain.c
 create mode 100644 ubuntu/igh-ecat/master/domain.h
 create mode 100644 ubuntu/igh-ecat/master/doxygen.c
 create mode 100644 ubuntu/igh-ecat/master/eoe_request.c
 create mode 100644 ubuntu/igh-ecat/master/eoe_request.h
 create mode 100644 ubuntu/igh-ecat/master/ethernet.c
 create mode 100644 ubuntu/igh-ecat/master/ethernet.h
 create mode 100644 ubuntu/igh-ecat/master/flag.c
 create mode 100644 ubuntu/igh-ecat/master/flag.h
 create mode 100644 ubuntu/igh-ecat/master/fmmu_config.c
 create mode 100644 ubuntu/igh-ecat/master/fmmu_config.h
 create mode 100644 ubuntu/igh-ecat/master/foe.h
 create mode 100644 ubuntu/igh-ecat/master/foe_request.c
 create mode 100644 ubuntu/igh-ecat/master/foe_request.h
 create mode 100644 ubuntu/igh-ecat/master/fsm_change.c
 create mode 100644 ubuntu/igh-ecat/master/fsm_change.h
 create mode 100644 ubuntu/igh-ecat/master/fsm_coe.c
 create mode 100644 ubuntu/igh-ecat/master/fsm_coe.h
 create mode 100644 ubuntu/igh-ecat/master/fsm_eoe.c
 create mode 100644 ubuntu/igh-ecat/master/fsm_eoe.h
 create mode 100644 ubuntu/igh-ecat/master/fsm_foe.c
 create mode 100644 ubuntu/igh-ecat/master/fsm_foe.h
 create mode 100644 ubuntu/igh-ecat/master/fsm_master.c
 create mode 100644 ubuntu/igh-ecat/master/fsm_master.h
 create mode 100644 ubuntu/igh-ecat/master/fsm_pdo.c
 create mode 100644 ubuntu/igh-ecat/master/fsm_pdo.h
 create mode 100644 ubuntu/igh-ecat/master/fsm_pdo_entry.c
 create mode 100644 ubuntu/igh-ecat/master/fsm_pdo_entry.h
 create mode 100644 ubuntu/igh-ecat/master/fsm_sii.c
 create mode 100644 ubuntu/igh-ecat/master/fsm_sii.h
 create mode 100644 ubuntu/igh-ecat/master/fsm_slave.c
 create mode 100644 ubuntu/igh-ecat/master/fsm_slave.h
 create mode 100644 ubuntu/igh-ecat/master/fsm_slave_config.c
 create mode 100644 ubuntu/igh-ecat/master/fsm_slave_config.h
 create mode 100644 ubuntu/igh-ecat/master/fsm_slave_scan.c
 create mode 100644 ubuntu/igh-ecat/master/fsm_slave_scan.h
 create mode 100644 ubuntu/igh-ecat/master/fsm_soe.c
 create mode 100644 ubuntu/igh-ecat/master/fsm_soe.h
 create mode 100644 ubuntu/igh-ecat/master/globals.h
 create mode 100644 ubuntu/igh-ecat/master/ioctl.c
 create mode 100644 ubuntu/igh-ecat/master/ioctl.h
 create mode 100644 ubuntu/igh-ecat/master/mailbox.c
 create mode 100644 ubuntu/igh-ecat/master/mailbox.h
 create mode 100644 ubuntu/igh-ecat/master/master.c
 create mode 100644 ubuntu/igh-ecat/master/master.h
 create mode 100644 ubuntu/igh-ecat/master/module.c
 create mode 100644 ubuntu/igh-ecat/master/pdo.c
 create mode 100644 ubuntu/igh-ecat/master/pdo.h
 create mode 100644 ubuntu/igh-ecat/master/pdo_entry.c
 create mode 100644 ubuntu/igh-ecat/master/pdo_entry.h
 create mode 100644 ubuntu/igh-ecat/master/pdo_list.c
 create mode 100644 ubuntu/igh-ecat/master/pdo_list.h
 create mode 100644 ubuntu/igh-ecat/master/reg_request.c
 create mode 100644 ubuntu/igh-ecat/master/reg_request.h
 create mode 100644 ubuntu/igh-ecat/master/rt_locks.h
 create mode 120000 ubuntu/igh-ecat/master/rtdm-ioctl.c
 create mode 100644 ubuntu/igh-ecat/master/rtdm.c
 create mode 100644 ubuntu/igh-ecat/master/rtdm.h
 create mode 100644 ubuntu/igh-ecat/master/rtdm_details.h
 create mode 100644 ubuntu/igh-ecat/master/rtdm_xenomai_v3.c
 create mode 100644 ubuntu/igh-ecat/master/sdo.c
 create mode 100644 ubuntu/igh-ecat/master/sdo.h
 create mode 100644 ubuntu/igh-ecat/master/sdo_entry.c
 create mode 100644 ubuntu/igh-ecat/master/sdo_entry.h
 create mode 100644 ubuntu/igh-ecat/master/sdo_request.c
 create mode 100644 ubuntu/igh-ecat/master/sdo_request.h
 create mode 100644 ubuntu/igh-ecat/master/slave.c
 create mode 100644 ubuntu/igh-ecat/master/slave.h
 create mode 100644 ubuntu/igh-ecat/master/slave_config.c
 create mode 100644 ubuntu/igh-ecat/master/slave_config.h
 create mode 100644 ubuntu/igh-ecat/master/soe_errors.c
 create mode 100644 ubuntu/igh-ecat/master/soe_request.c
 create mode 100644 ubuntu/igh-ecat/master/soe_request.h
 create mode 100644 ubuntu/igh-ecat/master/sync.c
 create mode 100644 ubuntu/igh-ecat/master/sync.h
 create mode 100644 ubuntu/igh-ecat/master/sync_config.c
 create mode 100644 ubuntu/igh-ecat/master/sync_config.h
 create mode 100644 ubuntu/igh-ecat/master/voe_handler.c
 create mode 100644 ubuntu/igh-ecat/master/voe_handler.h



More information about the kernel-team mailing list