mirror of
https://gitlab.com/etherlab.org/ethercat.git
synced 2026-09-27 20:44:00 +08:00
Base files for new TTY driver.
This commit is contained in:
@@ -25,8 +25,14 @@
|
|||||||
# EtherCAT technology and brand is only permitted in compliance with the
|
# EtherCAT technology and brand is only permitted in compliance with the
|
||||||
# industrial property and similar rights of Beckhoff Automation GmbH.
|
# industrial property and similar rights of Beckhoff Automation GmbH.
|
||||||
#
|
#
|
||||||
|
# vi: syntax=make
|
||||||
|
#
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
obj-m := examples/ master/ devices/
|
obj-m := examples/ master/ devices/
|
||||||
|
|
||||||
|
ifeq (@ENABLE_TTY@,1)
|
||||||
|
obj-m += tty/
|
||||||
|
endif
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
|
|||||||
+6
-1
@@ -43,6 +43,10 @@ if ENABLE_USERLIB
|
|||||||
SUBDIRS += lib
|
SUBDIRS += lib
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
if ENABLE_TTY
|
||||||
|
SUBDIRS += tty
|
||||||
|
endif
|
||||||
|
|
||||||
# userspace example depends on lib/
|
# userspace example depends on lib/
|
||||||
SUBDIRS += examples
|
SUBDIRS += examples
|
||||||
|
|
||||||
@@ -54,7 +58,8 @@ DIST_SUBDIRS = \
|
|||||||
m4 \
|
m4 \
|
||||||
master \
|
master \
|
||||||
script \
|
script \
|
||||||
tool
|
tool \
|
||||||
|
tty
|
||||||
|
|
||||||
noinst_HEADERS = \
|
noinst_HEADERS = \
|
||||||
globals.h
|
globals.h
|
||||||
|
|||||||
@@ -518,6 +518,29 @@ AC_ARG_ENABLE([userlib],
|
|||||||
|
|
||||||
AM_CONDITIONAL(ENABLE_USERLIB, test "x$userlib" = "x1")
|
AM_CONDITIONAL(ENABLE_USERLIB, test "x$userlib" = "x1")
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# TTY driver
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
AC_ARG_ENABLE([tty],
|
||||||
|
AS_HELP_STRING([--enable-tty],
|
||||||
|
[Generation of the ec_tty module (default: no)]),
|
||||||
|
[
|
||||||
|
case "${enableval}" in
|
||||||
|
yes) tty=1
|
||||||
|
;;
|
||||||
|
no) tty=0
|
||||||
|
;;
|
||||||
|
*) AC_MSG_ERROR([Invalid value for --enable-tty])
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
],
|
||||||
|
[tty=0]
|
||||||
|
)
|
||||||
|
|
||||||
|
AM_CONDITIONAL(ENABLE_TTY, test "x$tty" = "x1")
|
||||||
|
AC_SUBST(ENABLE_TTY,[$tty])
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
AC_CONFIG_FILES([
|
AC_CONFIG_FILES([
|
||||||
@@ -548,6 +571,8 @@ AC_CONFIG_FILES([
|
|||||||
script/init.d/ethercat
|
script/init.d/ethercat
|
||||||
script/sysconfig/Makefile
|
script/sysconfig/Makefile
|
||||||
tool/Makefile
|
tool/Makefile
|
||||||
|
tty/Makefile
|
||||||
|
tty/Kbuild
|
||||||
])
|
])
|
||||||
AC_OUTPUT
|
AC_OUTPUT
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,47 @@
|
|||||||
|
#------------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# $Id$
|
||||||
|
#
|
||||||
|
# Copyright (C) 2006-2008 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 version 2, as
|
||||||
|
# published by the Free Software Foundation.
|
||||||
|
#
|
||||||
|
# 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 license mentioned above concerns the source code only. Using the EtherCAT
|
||||||
|
# technology and brand is only permitted in compliance with the industrial
|
||||||
|
# property and similar rights of Beckhoff Automation GmbH.
|
||||||
|
#
|
||||||
|
# ---
|
||||||
|
#
|
||||||
|
# vi: syntax=make
|
||||||
|
#
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
obj-m := ec_tty.o
|
||||||
|
|
||||||
|
ec_tty-objs := \
|
||||||
|
module.o
|
||||||
|
|
||||||
|
REV := $(shell if test -s $(src)/../revision; then \
|
||||||
|
cat $(src)/../revision; \
|
||||||
|
else \
|
||||||
|
hg id -i $(src)/.. 2>/dev/null || echo "unknown"; \
|
||||||
|
fi)
|
||||||
|
|
||||||
|
CFLAGS_module.o := -DREV=$(REV)
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
@@ -0,0 +1,59 @@
|
|||||||
|
#------------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# $Id$
|
||||||
|
#
|
||||||
|
# Copyright (C) 2006-2008 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 version 2, as
|
||||||
|
# published by the Free Software Foundation.
|
||||||
|
#
|
||||||
|
# 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 license mentioned above concerns the source code only. Using the
|
||||||
|
# EtherCAT technology and brand is only permitted in compliance with the
|
||||||
|
# industrial property and similar rights of Beckhoff Automation GmbH.
|
||||||
|
#
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# using HEADERS to enable tags target
|
||||||
|
noinst_HEADERS = \
|
||||||
|
module.c
|
||||||
|
|
||||||
|
EXTRA_DIST = \
|
||||||
|
Kbuild.in
|
||||||
|
|
||||||
|
BUILT_SOURCES = \
|
||||||
|
Kbuild
|
||||||
|
|
||||||
|
modules:
|
||||||
|
$(MAKE) -C "$(LINUX_SOURCE_DIR)" M="@abs_srcdir@" modules
|
||||||
|
|
||||||
|
modules_install:
|
||||||
|
mkdir -p $(DESTDIR)$(LINUX_MOD_PATH)
|
||||||
|
cp $(srcdir)/ec_tty.ko $(DESTDIR)$(LINUX_MOD_PATH)
|
||||||
|
|
||||||
|
clean-local:
|
||||||
|
$(MAKE) -C "$(LINUX_SOURCE_DIR)" M="@abs_srcdir@" clean
|
||||||
|
|
||||||
|
modulesdir=@prefix@/modules
|
||||||
|
SYMVERS=`echo $(top_builddir)/Module*.symvers`
|
||||||
|
|
||||||
|
install-data-local:
|
||||||
|
@test -n "$(SYMVERS)" && \
|
||||||
|
mkdir -p $(DESTDIR)$(modulesdir) && \
|
||||||
|
cp -vf $(SYMVERS) \
|
||||||
|
$(DESTDIR)$(modulesdir)/ec_tty.symvers
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
@@ -0,0 +1,98 @@
|
|||||||
|
/******************************************************************************
|
||||||
|
*
|
||||||
|
* $Id$
|
||||||
|
*
|
||||||
|
* Copyright (C) 2006-2008 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 version 2, as
|
||||||
|
* published by the Free Software Foundation.
|
||||||
|
*
|
||||||
|
* 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 license mentioned above concerns the source code only. Using the
|
||||||
|
* EtherCAT technology and brand is only permitted in compliance with the
|
||||||
|
* industrial property and similar rights of Beckhoff Automation GmbH.
|
||||||
|
*
|
||||||
|
*****************************************************************************/
|
||||||
|
|
||||||
|
/** \file
|
||||||
|
* EtherCAT tty driver module.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
#include <linux/module.h>
|
||||||
|
#include <linux/err.h>
|
||||||
|
|
||||||
|
#include "../master/globals.h"
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
int __init ec_tty_init_module(void);
|
||||||
|
void __exit ec_tty_cleanup_module(void);
|
||||||
|
|
||||||
|
unsigned int debug_level = 0;
|
||||||
|
char *ec_master_version_str = EC_MASTER_VERSION; /**< Version string. */
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
/** \cond */
|
||||||
|
|
||||||
|
MODULE_AUTHOR("Florian Pose <fp@igh-essen.com>");
|
||||||
|
MODULE_DESCRIPTION("EtherCAT TTY driver module");
|
||||||
|
MODULE_LICENSE("GPL");
|
||||||
|
MODULE_VERSION(EC_MASTER_VERSION);
|
||||||
|
|
||||||
|
module_param_named(debug_level, debug_level, uint, S_IRUGO);
|
||||||
|
MODULE_PARM_DESC(debug_level, "Debug level");
|
||||||
|
|
||||||
|
/** \endcond */
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
/** Module initialization.
|
||||||
|
*
|
||||||
|
* \return 0 on success, else < 0
|
||||||
|
*/
|
||||||
|
int __init ec_tty_init_module(void)
|
||||||
|
{
|
||||||
|
int ret = 0;
|
||||||
|
|
||||||
|
EC_INFO("TTY driver %s\n", EC_MASTER_VERSION);
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
/** Module cleanup.
|
||||||
|
*
|
||||||
|
* Clears all master instances.
|
||||||
|
*/
|
||||||
|
void __exit ec_tty_cleanup_module(void)
|
||||||
|
{
|
||||||
|
EC_INFO("TTY module cleaned up.\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
/** \cond */
|
||||||
|
|
||||||
|
module_init(ec_tty_init_module);
|
||||||
|
module_exit(ec_tty_cleanup_module);
|
||||||
|
|
||||||
|
/** \endcond */
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
Reference in New Issue
Block a user