Removed dummy master.
--- a/Kbuild.in Thu Apr 03 15:30:27 2008 +0000
+++ b/Kbuild.in Thu Apr 03 15:31:34 2008 +0000
@@ -31,6 +31,6 @@
#
#------------------------------------------------------------------------------
-obj-m := master/ devices/ dummy/
+obj-m := master/ devices/
#------------------------------------------------------------------------------
--- a/Makefile.am Thu Apr 03 15:30:27 2008 +0000
+++ b/Makefile.am Thu Apr 03 15:31:34 2008 +0000
@@ -31,9 +31,9 @@
#
#------------------------------------------------------------------------------
-SUBDIRS = master devices script include dummy
+SUBDIRS = master devices script include
-DIST_SUBDIRS = master devices script include examples dummy
+DIST_SUBDIRS = master devices script include examples
EXTRA_DIST = \
Doxyfile \
@@ -48,7 +48,6 @@
modules_install:
$(MAKE) -C master modules_install
$(MAKE) -C devices modules_install
- $(MAKE) -C dummy modules_install
clean-local:
$(MAKE) -C "$(LINUX_SOURCE_DIR)" M="@abs_srcdir@" clean
--- a/configure.ac Thu Apr 03 15:30:27 2008 +0000
+++ b/configure.ac Thu Apr 03 15:31:34 2008 +0000
@@ -407,29 +407,6 @@
fi
#------------------------------------------------------------------------------
-# Dummy master module
-#------------------------------------------------------------------------------
-
-AC_ARG_ENABLE([dummy],
- AS_HELP_STRING([--enable-dummy],
- [Build the dummy master module @<:@NO@:>@]),
- [
- case "${enableval}" in
- yes) dummy=1
- ;;
- no) dummy=0
- ;;
- *) AC_MSG_ERROR([Invalid value for --enable-dummy])
- ;;
- esac
- ],
- [dummy=0]
-)
-
-AM_CONDITIONAL(ENABLE_DUMMY, test "x$dummy" = "x1")
-AC_SUBST(ENABLE_DUMMY,[$dummy])
-
-#------------------------------------------------------------------------------
# Ethernet-over-EtherCAT support
#------------------------------------------------------------------------------
@@ -461,25 +438,23 @@
Doxyfile
Kbuild
Makefile
+ devices/Kbuild
+ devices/Makefile
+ devices/e1000/Kbuild
+ devices/e1000/Makefile
+ examples/Makefile
+ examples/mini/Kbuild
+ examples/mini/Makefile
+ examples/msr/Kbuild
+ examples/msr/Makefile
+ examples/rtai/Kbuild
+ examples/rtai/Makefile
+ include/Makefile
master/Kbuild
master/Makefile
- devices/Kbuild
- devices/Makefile
- devices/e1000/Makefile
- devices/e1000/Kbuild
script/Makefile
script/init.d/Makefile
script/sysconfig/Makefile
- include/Makefile
- examples/Makefile
- examples/mini/Kbuild
- examples/mini/Makefile
- examples/rtai/Kbuild
- examples/rtai/Makefile
- examples/msr/Kbuild
- examples/msr/Makefile
- dummy/Kbuild
- dummy/Makefile
])
AC_OUTPUT
--- a/dummy/Kbuild.in Thu Apr 03 15:30:27 2008 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-#------------------------------------------------------------------------------
-#
-# $Id$
-#
-# Copyright (C) 2006 Florian Pose, Ingenieurgemeinschaft IgH
-#
-# This file is part of the IgH EtherCAT Master.
-#
-# The IgH EtherCAT Master is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2 of the
-# License, or (at your option) any later version.
-#
-# The IgH EtherCAT Master is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with the IgH EtherCAT Master; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-# The right to use EtherCAT Technology is granted and comes free of
-# charge under condition of compatibility of product made by
-# Licensee. People intending to distribute/sell products based on the
-# code, have to sign an agreement to guarantee that products using
-# software based on IgH EtherCAT master stay compatible with the actual
-# EtherCAT specification (which are released themselves as an open
-# standard) as the (only) precondition to have the right to use EtherCAT
-# Technology, IP and trade marks.
-#
-#------------------------------------------------------------------------------
-
-REV := $(shell if test -s $(src)/../svnrevision; then \
- cat $(src)/../svnrevision; \
- else \
- svnversion $(src) 2>/dev/null || echo "unknown"; \
- fi)
-
-ifeq (@ENABLE_DUMMY@,1)
- obj-m := ec_dummy.o
- ec_dummy-objs := module.o master.o slave.o domain.o
- CFLAGS_dummy.o := -DSVNREV=$(REV)
-endif
-
-#------------------------------------------------------------------------------
--- a/dummy/Makefile.am Thu Apr 03 15:30:27 2008 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-#------------------------------------------------------------------------------
-#
-# $Id$
-#
-# Copyright (C) 2006 Florian Pose, Ingenieurgemeinschaft IgH
-#
-# This file is part of the IgH EtherCAT Master.
-#
-# The IgH EtherCAT Master is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2 of the
-# License, or (at your option) any later version.
-#
-# The IgH EtherCAT Master is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with the IgH EtherCAT Master; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-# The right to use EtherCAT Technology is granted and comes free of
-# charge under condition of compatibility of product made by
-# Licensee. People intending to distribute/sell products based on the
-# code, have to sign an agreement to guarantee that products using
-# software based on IgH EtherCAT master stay compatible with the actual
-# EtherCAT specification (which are released themselves as an open
-# standard) as the (only) precondition to have the right to use EtherCAT
-# Technology, IP and trade marks.
-#
-#------------------------------------------------------------------------------
-
-EXTRA_DIST = \
- Kbuild.in \
- module.c \
- master.c \
- slave.c \
- domain.c
-
-modules:
- $(MAKE) -C "@abs_top_srcdir@" modules
-
-modules_install:
- mkdir -p $(DESTDIR)$(LINUX_MOD_PATH)
-if ENABLE_DUMMY
- cp $(srcdir)/ec_dummy.ko $(DESTDIR)$(LINUX_MOD_PATH)
-endif
-
-clean-local:
- $(MAKE) -C "$(LINUX_SOURCE_DIR)" M="@abs_srcdir@" clean
-
-#------------------------------------------------------------------------------
--- a/dummy/domain.c Thu Apr 03 15:30:27 2008 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,155 +0,0 @@
-/******************************************************************************
- *
- * $Id$
- *
- * Copyright (C) 2006 Florian Pose, Ingenieurgemeinschaft IgH
- *
- * This file is part of the IgH EtherCAT Master.
- *
- * The IgH EtherCAT Master is free software; you can redistribute it
- * and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * The IgH EtherCAT Master is distributed in the hope that it will be
- * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the IgH EtherCAT Master; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * The right to use EtherCAT Technology is granted and comes free of
- * charge under condition of compatibility of product made by
- * Licensee. People intending to distribute/sell products based on the
- * code, have to sign an agreement to guarantee that products using
- * software based on IgH EtherCAT master stay compatible with the actual
- * EtherCAT specification (which are released themselves as an open
- * standard) as the (only) precondition to have the right to use EtherCAT
- * Technology, IP and trade marks.
- *
- *****************************************************************************/
-
-/**
- \file
- EtherCAT DUMMY domain methods.
-*/
-
-/*****************************************************************************/
-
-#include "../master/globals.h"
-#include "../master/domain.h"
-#include "../master/master.h"
-
-uint8_t *get_dummy_data(void);
-
-/*****************************************************************************/
-
-/** \cond */
-
-int ecrt_domain_register_pdo(
- ec_domain_t *domain, /**< EtherCAT domain */
- ec_slave_t *slave, /**< EtherCAT slave */
- uint16_t pdo_entry_index, /**< PDO entry index */
- uint8_t pdo_entry_subindex, /**< PDO entry subindex */
- void **data_ptr /**< address of the process data pointer */
- )
-{
- *data_ptr = get_dummy_data();
- return 0;
-}
-
-/*****************************************************************************/
-
-/**
- * Registers a bunch of data fields.
- * \attention The list has to be terminated with a NULL structure ({})!
- * \return 0 in case of success, else < 0
- * \ingroup RealtimeInterface
- */
-
-int ecrt_domain_register_pdo_list(
- ec_domain_t *domain, /**< EtherCAT domain */
- const ec_pdo_reg_t *pdo_regs /**< array of PDO registrations */
- )
-{
- const ec_pdo_reg_t *reg;
-
- for (reg = pdo_regs; reg->slave_address; reg++) {
- *(reg->data_ptr) = get_dummy_data();
- }
-
- return 0;
-}
-
-/*****************************************************************************/
-
-/**
- * Registers a PDO range in a domain.
- * \return 0 on success, else non-zero
- * \ingroup RealtimeInterface
- */
-
-int ecrt_domain_register_pdo_range(
- ec_domain_t *domain, /**< EtherCAT domain */
- ec_slave_t *slave, /**< EtherCAT slave */
- ec_direction_t dir, /**< data direction */
- uint16_t offset, /**< offset in slave's PDO range */
- uint16_t length, /**< length of this range */
- void **data_ptr /**< address of the process data pointer */
- )
-{
- *data_ptr = get_dummy_data();
- return 0;
-}
-
-/*****************************************************************************/
-
-/**
- Processes received process data and requeues the domain datagram(s).
- \ingroup RealtimeInterface
-*/
-
-void ecrt_domain_process(ec_domain_t *domain /**< EtherCAT domain */)
-{
-}
-
-/*****************************************************************************/
-
-/**
- Places all process data datagrams in the masters datagram queue.
- \ingroup RealtimeInterface
-*/
-
-void ecrt_domain_queue(ec_domain_t *domain /**< EtherCAT domain */)
-{
-}
-
-/*****************************************************************************/
-
-/**
- Returns the state of a domain.
- \return 0 if all datagrams were received, else -1.
- \ingroup RealtimeInterface
-*/
-
-int ecrt_domain_state(const ec_domain_t *domain /**< EtherCAT domain */)
-{
- return 0;
-}
-
-/*****************************************************************************/
-
-/** \cond */
-
-EXPORT_SYMBOL(ecrt_domain_register_pdo);
-EXPORT_SYMBOL(ecrt_domain_register_pdo_list);
-EXPORT_SYMBOL(ecrt_domain_register_pdo_range);
-EXPORT_SYMBOL(ecrt_domain_process);
-EXPORT_SYMBOL(ecrt_domain_queue);
-EXPORT_SYMBOL(ecrt_domain_state);
-
-/** \endcond */
-
-/*****************************************************************************/
--- a/dummy/master.c Thu Apr 03 15:30:27 2008 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,121 +0,0 @@
-/******************************************************************************
- *
- * $Id$
- *
- * Copyright (C) 2006 Florian Pose, Ingenieurgemeinschaft IgH
- *
- * This file is part of the IgH EtherCAT Master.
- *
- * The IgH EtherCAT Master is free software; you can redistribute it
- * and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * The IgH EtherCAT Master is distributed in the hope that it will be
- * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the IgH EtherCAT Master; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * The right to use EtherCAT Technology is granted and comes free of
- * charge under condition of compatibility of product made by
- * Licensee. People intending to distribute/sell products based on the
- * code, have to sign an agreement to guarantee that products using
- * software based on IgH EtherCAT master stay compatible with the actual
- * EtherCAT specification (which are released themselves as an open
- * standard) as the (only) precondition to have the right to use EtherCAT
- * Technology, IP and trade marks.
- *
- *****************************************************************************/
-
-/**
- \file
- EtherCAT DUMMY master methods.
-*/
-
-/*****************************************************************************/
-
-#include "../include/ecrt.h"
-#include "../master/master.h"
-
-/******************************************************************************
- * Realtime interface
- *****************************************************************************/
-
-/** \cond */
-
-ec_domain_t *ecrt_master_create_domain(ec_master_t *master)
-{
- static unsigned int domain = 1;
- return (ec_domain_t *) domain++;
-}
-
-/*****************************************************************************/
-
-int ecrt_master_activate(ec_master_t *master)
-{
- return 0;
-}
-
-/*****************************************************************************/
-
-void ecrt_master_send(ec_master_t *master)
-{
-}
-
-/*****************************************************************************/
-
-void ecrt_master_receive(ec_master_t *master)
-{
-}
-
-/*****************************************************************************/
-
-ec_slave_t *ecrt_master_get_slave(
- const ec_master_t *master,
- const char *address,
- uint32_t v,
- uint32_t p
- )
-{
- static unsigned int slave = 1;
- return (ec_slave_t *) slave++;
-}
-
-/*****************************************************************************/
-
-void ecrt_master_callbacks(ec_master_t *m,
- int (*q)(void *),
- void (*l)(void *),
- void *u
- )
-{
-}
-
-/*****************************************************************************/
-
-void ecrt_master_get_status(const ec_master_t *master, /**< EtherCAT master */
- ec_master_status_t *status /**< target status object */
- )
-{
- status->bus_status = EC_BUS_OK;
- status->bus_tainted = 0;
- status->slaves_responding = 999;
-}
-
-/*****************************************************************************/
-
-EXPORT_SYMBOL(ecrt_master_create_domain);
-EXPORT_SYMBOL(ecrt_master_activate);
-EXPORT_SYMBOL(ecrt_master_send);
-EXPORT_SYMBOL(ecrt_master_receive);
-EXPORT_SYMBOL(ecrt_master_callbacks);
-EXPORT_SYMBOL(ecrt_master_get_slave);
-EXPORT_SYMBOL(ecrt_master_get_status);
-
-/** \endcond */
-
-/*****************************************************************************/
--- a/dummy/module.c Thu Apr 03 15:30:27 2008 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,156 +0,0 @@
-/******************************************************************************
- *
- * $Id$
- *
- * Copyright (C) 2006 Florian Pose, Ingenieurgemeinschaft IgH
- *
- * This file is part of the IgH EtherCAT Master.
- *
- * The IgH EtherCAT Master is free software; you can redistribute it
- * and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * The IgH EtherCAT Master is distributed in the hope that it will be
- * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the IgH EtherCAT Master; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * The right to use EtherCAT Technology is granted and comes free of
- * charge under condition of compatibility of product made by
- * Licensee. People intending to distribute/sell products based on the
- * code, have to sign an agreement to guarantee that products using
- * software based on IgH EtherCAT master stay compatible with the actual
- * EtherCAT specification (which are released themselves as an open
- * standard) as the (only) precondition to have the right to use EtherCAT
- * Technology, IP and trade marks.
- *
- *****************************************************************************/
-
-/**
- \file
- Dummy EtherCAT master driver module.
-*/
-
-/*****************************************************************************/
-
-#include <linux/module.h>
-//#include <linux/kernel.h>
-//#include <linux/init.h>
-
-#include "../master/globals.h"
-#include "../include/ecrt.h"
-
-/*****************************************************************************/
-
-int __init ec_init_module(void);
-void __exit ec_cleanup_module(void);
-
-char *ec_master_version_str = EC_MASTER_VERSION;
-
-/*****************************************************************************/
-
-/** \cond */
-
-MODULE_AUTHOR("Florian Pose <fp@igh-essen.com>");
-MODULE_DESCRIPTION("DUMMY EtherCAT master driver module");
-MODULE_LICENSE("GPL");
-MODULE_VERSION(EC_MASTER_VERSION);
-
-/** \endcond */
-
-/*****************************************************************************/
-
-#define DUMMY_SIZE (PAGE_SIZE * 8)
-
-uint8_t dummy_data[DUMMY_SIZE];
-off_t dummy_off = 0;
-
-uint8_t *get_dummy_data(void)
-{
- off_t cur = dummy_off;
-
- dummy_off += 64;
- dummy_off %= DUMMY_SIZE;
-
- return dummy_data + cur;
-}
-
-/*****************************************************************************/
-
-/**
- * Module initialization.
- * Initializes \a ec_master_count masters.
- * \return 0 on success, else < 0
- */
-
-int __init ec_init_module(void)
-{
- EC_INFO("Master DUMMY driver %s\n", EC_MASTER_VERSION);
-
- memset(dummy_data, 0x00, DUMMY_SIZE);
-
- return 0;
-}
-
-/*****************************************************************************/
-
-/**
- Module cleanup.
- Clears all master instances.
-*/
-
-void __exit ec_cleanup_module(void)
-{
- EC_INFO("Master DUMMY module cleaned up.\n");
-}
-
-/******************************************************************************
- * Realtime interface
- *****************************************************************************/
-
-unsigned int ecrt_version_magic(void)
-{
- return ECRT_VERSION_MAGIC;
-}
-
-/*****************************************************************************/
-
-ec_master_t *ecrt_request_master(unsigned int master_index
- /**< master index */
- )
-{
- EC_INFO("Requesting DUMMY master %u...\n", master_index);
- return (void *) master_index + 1;
-}
-
-/*****************************************************************************/
-
-/**
- Releases a reserved EtherCAT master.
- \ingroup RealtimeInterface
-*/
-
-void ecrt_release_master(ec_master_t *master /**< EtherCAT master */)
-{
- EC_INFO("Released DUMMY master %u.\n", (unsigned int) master - 1);
-}
-
-/*****************************************************************************/
-
-/** \cond */
-
-module_init(ec_init_module);
-module_exit(ec_cleanup_module);
-
-EXPORT_SYMBOL(ecrt_request_master);
-EXPORT_SYMBOL(ecrt_release_master);
-EXPORT_SYMBOL(ecrt_version_magic);
-
-/** \endcond */
-
-/*****************************************************************************/
--- a/dummy/slave.c Thu Apr 03 15:30:27 2008 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,134 +0,0 @@
-/******************************************************************************
- *
- * $Id$
- *
- * Copyright (C) 2006 Florian Pose, Ingenieurgemeinschaft IgH
- *
- * This file is part of the IgH EtherCAT Master.
- *
- * The IgH EtherCAT Master is free software; you can redistribute it
- * and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * The IgH EtherCAT Master is distributed in the hope that it will be
- * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the IgH EtherCAT Master; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * The right to use EtherCAT Technology is granted and comes free of
- * charge under condition of compatibility of product made by
- * Licensee. People intending to distribute/sell products based on the
- * code, have to sign an agreement to guarantee that products using
- * software based on IgH EtherCAT master stay compatible with the actual
- * EtherCAT specification (which are released themselves as an open
- * standard) as the (only) precondition to have the right to use EtherCAT
- * Technology, IP and trade marks.
- *
- *****************************************************************************/
-
-/**
- \file
- EtherCAT DUMMY slave methods.
-*/
-
-/*****************************************************************************/
-
-#include "../include/ecrt.h"
-#include "../master/master.h"
-#include "../master/slave.h"
-
-/*****************************************************************************/
-
-/** \cond */
-
-int ecrt_slave_conf_sdo8(ec_slave_t *slave, /**< EtherCAT slave */
- uint16_t sdo_index, /**< SDO index */
- uint8_t sdo_subindex, /**< SDO subindex */
- uint8_t value /**< new SDO value */
- )
-{
- return 0;
-}
-
-/*****************************************************************************/
-
-/**
- \return 0 in case of success, else < 0
- \ingroup RealtimeInterface
-*/
-
-int ecrt_slave_conf_sdo16(ec_slave_t *slave, /**< EtherCAT slave */
- uint16_t sdo_index, /**< SDO index */
- uint8_t sdo_subindex, /**< SDO subindex */
- uint16_t value /**< new SDO value */
- )
-{
- return 0;
-}
-
-/*****************************************************************************/
-
-/**
- \return 0 in case of success, else < 0
- \ingroup RealtimeInterface
-*/
-
-int ecrt_slave_conf_sdo32(ec_slave_t *slave, /**< EtherCAT slave */
- uint16_t sdo_index, /**< SDO index */
- uint8_t sdo_subindex, /**< SDO subindex */
- uint32_t value /**< new SDO value */
- )
-{
- return 0;
-}
-
-/*****************************************************************************/
-
-void ecrt_slave_pdo_mapping_clear(
- ec_slave_t *slave, /**< EtherCAT slave */
- ec_direction_t dir /**< output/input */
- )
-{
-}
-
-/*****************************************************************************/
-
-int ecrt_slave_pdo_mapping_add(
- ec_slave_t *slave, /**< EtherCAT slave */
- ec_direction_t dir, /**< input/output */
- uint16_t pdo_index /**< Index of PDO mapping list */)
-{
- return 0;
-}
-
-/*****************************************************************************/
-
-int ecrt_slave_pdo_mapping(ec_slave_t *slave, /**< EtherCAT slave */
- ec_direction_t dir, /**< input/output */
- unsigned int num_args, /**< Number of following arguments */
- ... /**< PDO indices to map */
- )
-{
- return 0;
-}
-
-
-/*****************************************************************************/
-
-/** \cond */
-
-EXPORT_SYMBOL(ecrt_slave_conf_sdo8);
-EXPORT_SYMBOL(ecrt_slave_conf_sdo16);
-EXPORT_SYMBOL(ecrt_slave_conf_sdo32);
-EXPORT_SYMBOL(ecrt_slave_pdo_mapping_clear);
-EXPORT_SYMBOL(ecrt_slave_pdo_mapping_add);
-EXPORT_SYMBOL(ecrt_slave_pdo_mapping);
-
-/** \endcond */
-
-/*****************************************************************************/