From 0161b93d50d6915116c4ca9d1cad42ef89a4ad9e Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Tue, 3 Mar 2020 19:23:53 +0100 Subject: imfs: Replace devfs with an IMFS specialization Add a simplified path evaluation function IMFS_eval_path_devfs() for a device only IMFS configuration. The code size can be further reduced by the application if it disables the support for legacy IO drivers via: #define CONFIGURE_IMFS_DISABLE_MKNOD #define CONFIGURE_IMFS_DISABLE_MKNOD_DEVICE Obsolete CONFIGURE_MAXIMUM_DEVICES. Remove BSP_MAXIMUM_DEVICES. Update #3894. Update #3898. --- cpukit/libfs/src/devfs/devfs_mknod.c | 63 ------------------------------------ 1 file changed, 63 deletions(-) delete mode 100644 cpukit/libfs/src/devfs/devfs_mknod.c (limited to 'cpukit/libfs/src/devfs/devfs_mknod.c') diff --git a/cpukit/libfs/src/devfs/devfs_mknod.c b/cpukit/libfs/src/devfs/devfs_mknod.c deleted file mode 100644 index 3b86d8c192..0000000000 --- a/cpukit/libfs/src/devfs/devfs_mknod.c +++ /dev/null @@ -1,63 +0,0 @@ -/** - * @file - * - * @brief Creates an item in the main device table. - * @ingroup DevFsDeviceTable Define Device Table Type - */ - -/* - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -#if HAVE_CONFIG_H - #include "config.h" -#endif - -#include -#include -#include - -#include - -int devFS_mknod( - const rtems_filesystem_location_info_t *parentloc, - const char *name, - size_t namelen, - mode_t mode, - dev_t dev -) -{ - int rv = 0; - - if (namelen != 3 || name [0] != 'd' || name [1] != 'e' || name [2] != 'v') { - if (S_ISBLK(mode) || S_ISCHR(mode)) { - char *dupname = malloc(namelen); - - if (dupname != NULL) { - devFS_node *node = parentloc->node_access; - - node->name = dupname; - node->namelen = namelen; - node->major = rtems_filesystem_dev_major_t(dev); - node->minor = rtems_filesystem_dev_minor_t(dev); - node->mode = mode; - memcpy(dupname, name, namelen); - } else { - errno = ENOMEM; - rv = -1; - } - } else { - errno = ENOTSUP; - rv = -1; - } - } else { - if (!S_ISDIR(mode)) { - errno = ENOTSUP; - rv = -1; - } - } - - return rv; -} -- cgit v1.2.3