sysfs file is not useful for anything.

Signed-off-by: Salah Triki <salah.tr...@acm.org>
---
 drivers/staging/dgnc/Makefile      |   3 +-
 drivers/staging/dgnc/dgnc_driver.c |  10 +-
 drivers/staging/dgnc/dgnc_driver.h |   2 -
 drivers/staging/dgnc/dgnc_sysfs.c  | 713 -------------------------------------
 drivers/staging/dgnc/dgnc_sysfs.h  |  49 ---
 drivers/staging/dgnc/dgnc_tty.c    |  14 +-
 6 files changed, 4 insertions(+), 787 deletions(-)
 delete mode 100644 drivers/staging/dgnc/dgnc_sysfs.c
 delete mode 100644 drivers/staging/dgnc/dgnc_sysfs.h

diff --git a/drivers/staging/dgnc/Makefile b/drivers/staging/dgnc/Makefile
index b69f7b6..99d31cf 100644
--- a/drivers/staging/dgnc/Makefile
+++ b/drivers/staging/dgnc/Makefile
@@ -4,5 +4,4 @@ obj-$(CONFIG_DGNC) += dgnc.o

 dgnc-objs :=   dgnc_cls.o dgnc_driver.o\
                dgnc_mgmt.o dgnc_neo.o\
-               dgnc_tty.o dgnc_sysfs.o\
-              dgnc_utils.o
+               dgnc_tty.o dgnc_utils.o
diff --git a/drivers/staging/dgnc/dgnc_driver.c 
b/drivers/staging/dgnc/dgnc_driver.c
index f177d3a..bf7be3b 100644
--- a/drivers/staging/dgnc/dgnc_driver.c
+++ b/drivers/staging/dgnc/dgnc_driver.c
@@ -42,7 +42,6 @@
 #include "dgnc_tty.h"
 #include "dgnc_cls.h"
 #include "dgnc_neo.h"
-#include "dgnc_sysfs.h"

 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Digi International, http://www.digi.com";);
@@ -170,14 +169,11 @@ static void dgnc_cleanup_module(void)
        /* Turn off poller right away. */
        del_timer_sync(&dgnc_poll_timer);

-       dgnc_remove_driver_sysfiles(&dgnc_driver);
-
        device_destroy(dgnc_class, MKDEV(dgnc_Major, 0));
        class_destroy(dgnc_class);
        unregister_chrdev(dgnc_Major, "dgnc");

        for (i = 0; i < dgnc_NumBoards; ++i) {
-               dgnc_remove_ports_sysfiles(dgnc_Board[i]);
                dgnc_tty_uninit(dgnc_Board[i]);
                dgnc_cleanup_board(dgnc_Board[i]);
        }
@@ -221,9 +217,7 @@ static int __init dgnc_init_module(void)
                        pr_warn("WARNING: dgnc driver load failed.  No Digi Neo 
or Classic boards found.\n");

                dgnc_cleanup_module();
-       } else {
-               dgnc_create_driver_sysfiles(&dgnc_driver);
-       }
+       }

        return rc;
 }
@@ -603,8 +597,6 @@ static int dgnc_found_board(struct pci_dev *pdev, int id)
        brd->state = BOARD_READY;
        brd->dpastatus = BD_RUNNING;

-       dgnc_create_ports_sysfiles(brd);
-
        /* init our poll helper tasklet */
        tasklet_init(&brd->helper_tasklet, brd->bd_ops->tasklet, (unsigned 
long) brd);

diff --git a/drivers/staging/dgnc/dgnc_driver.h 
b/drivers/staging/dgnc/dgnc_driver.h
index a8157eb..0b2eefb 100644
--- a/drivers/staging/dgnc/dgnc_driver.h
+++ b/drivers/staging/dgnc/dgnc_driver.h
@@ -34,7 +34,6 @@
 #include "dgnc_types.h"                /* Additional types needed by the Digi 
header files */
 #include "digi.h"              /* Digi specific ioctl header */
 #include "dgnc_kcompat.h"      /* Kernel 2.4/2.6 compat includes */
-#include "dgnc_sysfs.h"                /* Support for SYSFS */

 /*************************************************************************
  *
@@ -273,7 +272,6 @@ struct un_t {
        uint    un_flags;       /* Unit flags                           */
        wait_queue_head_t un_flags_wait; /* Place to sleep to wait on unit */
        uint    un_dev;         /* Minor device number                  */
-       struct device *un_sysfs;
 };


diff --git a/drivers/staging/dgnc/dgnc_sysfs.c 
b/drivers/staging/dgnc/dgnc_sysfs.c
deleted file mode 100644
index 2fd34ca..0000000
--- a/drivers/staging/dgnc/dgnc_sysfs.c
+++ /dev/null
@@ -1,713 +0,0 @@
-/*
- * Copyright 2004 Digi International (www.digi.com)
- *      Scott H Kilau <Scott_Kilau at digi dot com>
- *
- * This program 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, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY, EXPRESS OR IMPLIED; 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 this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- *
- *      NOTE TO LINUX KERNEL HACKERS:  DO NOT REFORMAT THIS CODE!
- *
- *      This is shared code between Digi's CVS archive and the
- *      Linux Kernel sources.
- *      Changing the source just for reformatting needlessly breaks
- *      our CVS diff history.
- *
- *      Send any bug fixes/changes to:  Eng.Linux at digi dot com.
- *      Thank you.
- *
- */
-
-
-#include <linux/kernel.h>
-#include <linux/module.h>
-#include <linux/ctype.h>
-#include <linux/string.h>
-#include <linux/serial_reg.h>
-#include <linux/device.h>
-#include <linux/pci.h>
-#include <linux/kdev_t.h>
-
-#include "dgnc_driver.h"
-#include "dgnc_mgmt.h"
-
-
-static ssize_t dgnc_driver_version_show(struct device_driver *ddp, char *buf)
-{
-       return snprintf(buf, PAGE_SIZE, "%s\n", DG_PART);
-}
-static DRIVER_ATTR(version, S_IRUSR, dgnc_driver_version_show, NULL);
-
-
-static ssize_t dgnc_driver_boards_show(struct device_driver *ddp, char *buf)
-{
-       return snprintf(buf, PAGE_SIZE, "%d\n", dgnc_NumBoards);
-}
-static DRIVER_ATTR(boards, S_IRUSR, dgnc_driver_boards_show, NULL);
-
-
-static ssize_t dgnc_driver_maxboards_show(struct device_driver *ddp, char *buf)
-{
-       return snprintf(buf, PAGE_SIZE, "%d\n", MAXBOARDS);
-}
-static DRIVER_ATTR(maxboards, S_IRUSR, dgnc_driver_maxboards_show, NULL);
-
-
-static ssize_t dgnc_driver_pollrate_show(struct device_driver *ddp, char *buf)
-{
-       return snprintf(buf, PAGE_SIZE, "%dms\n", dgnc_poll_tick);
-}
-
-static ssize_t dgnc_driver_pollrate_store(struct device_driver *ddp, const 
char *buf, size_t count)
-{
-       int ret;
-
-       ret = sscanf(buf, "%d\n", &dgnc_poll_tick);
-       if (ret != 1)
-               return -EINVAL;
-       return count;
-}
-static DRIVER_ATTR(pollrate, (S_IRUSR | S_IWUSR), dgnc_driver_pollrate_show, 
dgnc_driver_pollrate_store);
-
-
-void dgnc_create_driver_sysfiles(struct pci_driver *dgnc_driver)
-{
-       int rc = 0;
-       struct device_driver *driverfs = &dgnc_driver->driver;
-
-       rc |= driver_create_file(driverfs, &driver_attr_version);
-       rc |= driver_create_file(driverfs, &driver_attr_boards);
-       rc |= driver_create_file(driverfs, &driver_attr_maxboards);
-       rc |= driver_create_file(driverfs, &driver_attr_pollrate);
-       if (rc)
-               printk(KERN_ERR "DGNC: sysfs driver_create_file failed!\n");
-}
-
-
-void dgnc_remove_driver_sysfiles(struct pci_driver *dgnc_driver)
-{
-       struct device_driver *driverfs = &dgnc_driver->driver;
-
-       driver_remove_file(driverfs, &driver_attr_version);
-       driver_remove_file(driverfs, &driver_attr_boards);
-       driver_remove_file(driverfs, &driver_attr_maxboards);
-       driver_remove_file(driverfs, &driver_attr_pollrate);
-}
-
-
-#define DGNC_VERIFY_BOARD(p, bd)                               \
-       do {                                                    \
-               if (!p)                                         \
-                       return 0;                               \
-                                                               \
-               bd = dev_get_drvdata(p);                        \
-               if (!bd || bd->magic != DGNC_BOARD_MAGIC)       \
-                       return 0;                               \
-               if (bd->state != BOARD_READY)                   \
-                       return 0;                               \
-       } while (0)
-
-
-
-static ssize_t dgnc_vpd_show(struct device *p, struct device_attribute *attr, 
char *buf)
-{
-       struct dgnc_board *bd;
-       int count = 0;
-       int i = 0;
-
-       DGNC_VERIFY_BOARD(p, bd);
-
-       count += sprintf(buf + count, "\n      0  1  2  3  4  5  6  7  8  9  A  
B  C  D  E  F");
-       for (i = 0; i < 0x40 * 2; i++) {
-               if (!(i % 16))
-                       count += sprintf(buf + count, "\n%04X ", i * 2);
-               count += sprintf(buf + count, "%02X ", bd->vpd[i]);
-       }
-       count += sprintf(buf + count, "\n");
-
-       return count;
-}
-static DEVICE_ATTR(vpd, S_IRUSR, dgnc_vpd_show, NULL);
-
-static ssize_t dgnc_serial_number_show(struct device *p, struct 
device_attribute *attr, char *buf)
-{
-       struct dgnc_board *bd;
-       int count = 0;
-
-       DGNC_VERIFY_BOARD(p, bd);
-
-       if (bd->serial_num[0] == '\0')
-               count += sprintf(buf + count, "<UNKNOWN>\n");
-       else
-               count += sprintf(buf + count, "%s\n", bd->serial_num);
-
-       return count;
-}
-static DEVICE_ATTR(serial_number, S_IRUSR, dgnc_serial_number_show, NULL);
-
-
-static ssize_t dgnc_ports_state_show(struct device *p, struct device_attribute 
*attr, char *buf)
-{
-       struct dgnc_board *bd;
-       int count = 0;
-       int i = 0;
-
-       DGNC_VERIFY_BOARD(p, bd);
-
-       for (i = 0; i < bd->nasync; i++) {
-               count += snprintf(buf + count, PAGE_SIZE - count,
-                       "%d %s\n", bd->channels[i]->ch_portnum,
-                       bd->channels[i]->ch_open_count ? "Open" : "Closed");
-       }
-       return count;
-}
-static DEVICE_ATTR(ports_state, S_IRUSR, dgnc_ports_state_show, NULL);
-
-
-static ssize_t dgnc_ports_baud_show(struct device *p, struct device_attribute 
*attr, char *buf)
-{
-       struct dgnc_board *bd;
-       int count = 0;
-       int i = 0;
-
-       DGNC_VERIFY_BOARD(p, bd);
-
-       for (i = 0; i < bd->nasync; i++) {
-               count +=  snprintf(buf + count, PAGE_SIZE - count,
-                       "%d %d\n", bd->channels[i]->ch_portnum, 
bd->channels[i]->ch_old_baud);
-       }
-       return count;
-}
-static DEVICE_ATTR(ports_baud, S_IRUSR, dgnc_ports_baud_show, NULL);
-
-
-static ssize_t dgnc_ports_msignals_show(struct device *p, struct 
device_attribute *attr, char *buf)
-{
-       struct dgnc_board *bd;
-       int count = 0;
-       int i = 0;
-
-       DGNC_VERIFY_BOARD(p, bd);
-
-       for (i = 0; i < bd->nasync; i++) {
-               if (bd->channels[i]->ch_open_count) {
-                       count += snprintf(buf + count, PAGE_SIZE - count,
-                               "%d %s %s %s %s %s %s\n", 
bd->channels[i]->ch_portnum,
-                               (bd->channels[i]->ch_mostat & UART_MCR_RTS) ? 
"RTS" : "",
-                               (bd->channels[i]->ch_mistat & UART_MSR_CTS) ? 
"CTS" : "",
-                               (bd->channels[i]->ch_mostat & UART_MCR_DTR) ? 
"DTR" : "",
-                               (bd->channels[i]->ch_mistat & UART_MSR_DSR) ? 
"DSR" : "",
-                               (bd->channels[i]->ch_mistat & UART_MSR_DCD) ? 
"DCD" : "",
-                               (bd->channels[i]->ch_mistat & UART_MSR_RI)  ? 
"RI"  : "");
-               } else {
-                       count += snprintf(buf + count, PAGE_SIZE - count,
-                               "%d\n", bd->channels[i]->ch_portnum);
-               }
-       }
-       return count;
-}
-static DEVICE_ATTR(ports_msignals, S_IRUSR, dgnc_ports_msignals_show, NULL);
-
-
-static ssize_t dgnc_ports_iflag_show(struct device *p, struct device_attribute 
*attr, char *buf)
-{
-       struct dgnc_board *bd;
-       int count = 0;
-       int i = 0;
-
-       DGNC_VERIFY_BOARD(p, bd);
-
-       for (i = 0; i < bd->nasync; i++) {
-               count += snprintf(buf + count, PAGE_SIZE - count, "%d %x\n",
-                       bd->channels[i]->ch_portnum, 
bd->channels[i]->ch_c_iflag);
-       }
-       return count;
-}
-static DEVICE_ATTR(ports_iflag, S_IRUSR, dgnc_ports_iflag_show, NULL);
-
-
-static ssize_t dgnc_ports_cflag_show(struct device *p, struct device_attribute 
*attr, char *buf)
-{
-       struct dgnc_board *bd;
-       int count = 0;
-       int i = 0;
-
-       DGNC_VERIFY_BOARD(p, bd);
-
-       for (i = 0; i < bd->nasync; i++) {
-               count += snprintf(buf + count, PAGE_SIZE - count, "%d %x\n",
-                       bd->channels[i]->ch_portnum, 
bd->channels[i]->ch_c_cflag);
-       }
-       return count;
-}
-static DEVICE_ATTR(ports_cflag, S_IRUSR, dgnc_ports_cflag_show, NULL);
-
-
-static ssize_t dgnc_ports_oflag_show(struct device *p, struct device_attribute 
*attr, char *buf)
-{
-       struct dgnc_board *bd;
-       int count = 0;
-       int i = 0;
-
-       DGNC_VERIFY_BOARD(p, bd);
-
-       for (i = 0; i < bd->nasync; i++) {
-               count += snprintf(buf + count, PAGE_SIZE - count, "%d %x\n",
-                       bd->channels[i]->ch_portnum, 
bd->channels[i]->ch_c_oflag);
-       }
-       return count;
-}
-static DEVICE_ATTR(ports_oflag, S_IRUSR, dgnc_ports_oflag_show, NULL);
-
-
-static ssize_t dgnc_ports_lflag_show(struct device *p, struct device_attribute 
*attr, char *buf)
-{
-       struct dgnc_board *bd;
-       int count = 0;
-       int i = 0;
-
-       DGNC_VERIFY_BOARD(p, bd);
-
-       for (i = 0; i < bd->nasync; i++) {
-               count += snprintf(buf + count, PAGE_SIZE - count, "%d %x\n",
-                       bd->channels[i]->ch_portnum, 
bd->channels[i]->ch_c_lflag);
-       }
-       return count;
-}
-static DEVICE_ATTR(ports_lflag, S_IRUSR, dgnc_ports_lflag_show, NULL);
-
-
-static ssize_t dgnc_ports_digi_flag_show(struct device *p, struct 
device_attribute *attr, char *buf)
-{
-       struct dgnc_board *bd;
-       int count = 0;
-       int i = 0;
-
-       DGNC_VERIFY_BOARD(p, bd);
-
-       for (i = 0; i < bd->nasync; i++) {
-               count += snprintf(buf + count, PAGE_SIZE - count, "%d %x\n",
-                       bd->channels[i]->ch_portnum, 
bd->channels[i]->ch_digi.digi_flags);
-       }
-       return count;
-}
-static DEVICE_ATTR(ports_digi_flag, S_IRUSR, dgnc_ports_digi_flag_show, NULL);
-
-
-static ssize_t dgnc_ports_rxcount_show(struct device *p, struct 
device_attribute *attr, char *buf)
-{
-       struct dgnc_board *bd;
-       int count = 0;
-       int i = 0;
-
-       DGNC_VERIFY_BOARD(p, bd);
-
-       for (i = 0; i < bd->nasync; i++) {
-               count += snprintf(buf + count, PAGE_SIZE - count, "%d %ld\n",
-                       bd->channels[i]->ch_portnum, 
bd->channels[i]->ch_rxcount);
-       }
-       return count;
-}
-static DEVICE_ATTR(ports_rxcount, S_IRUSR, dgnc_ports_rxcount_show, NULL);
-
-
-static ssize_t dgnc_ports_txcount_show(struct device *p, struct 
device_attribute *attr, char *buf)
-{
-       struct dgnc_board *bd;
-       int count = 0;
-       int i = 0;
-
-       DGNC_VERIFY_BOARD(p, bd);
-
-       for (i = 0; i < bd->nasync; i++) {
-               count += snprintf(buf + count, PAGE_SIZE - count, "%d %ld\n",
-                       bd->channels[i]->ch_portnum, 
bd->channels[i]->ch_txcount);
-       }
-       return count;
-}
-static DEVICE_ATTR(ports_txcount, S_IRUSR, dgnc_ports_txcount_show, NULL);
-
-
-/* this function creates the sys files that will export each signal status
- * to sysfs each value will be put in a separate filename
- */
-void dgnc_create_ports_sysfiles(struct dgnc_board *bd)
-{
-       int rc = 0;
-
-       dev_set_drvdata(&bd->pdev->dev, bd);
-       rc |= device_create_file(&(bd->pdev->dev), &dev_attr_ports_state);
-       rc |= device_create_file(&(bd->pdev->dev), &dev_attr_ports_baud);
-       rc |= device_create_file(&(bd->pdev->dev), &dev_attr_ports_msignals);
-       rc |= device_create_file(&(bd->pdev->dev), &dev_attr_ports_iflag);
-       rc |= device_create_file(&(bd->pdev->dev), &dev_attr_ports_cflag);
-       rc |= device_create_file(&(bd->pdev->dev), &dev_attr_ports_oflag);
-       rc |= device_create_file(&(bd->pdev->dev), &dev_attr_ports_lflag);
-       rc |= device_create_file(&(bd->pdev->dev), &dev_attr_ports_digi_flag);
-       rc |= device_create_file(&(bd->pdev->dev), &dev_attr_ports_rxcount);
-       rc |= device_create_file(&(bd->pdev->dev), &dev_attr_ports_txcount);
-       rc |= device_create_file(&(bd->pdev->dev), &dev_attr_vpd);
-       rc |= device_create_file(&(bd->pdev->dev), &dev_attr_serial_number);
-       if (rc)
-               printk(KERN_ERR "DGNC: sysfs device_create_file failed!\n");
-}
-
-
-/* removes all the sys files created for that port */
-void dgnc_remove_ports_sysfiles(struct dgnc_board *bd)
-{
-       device_remove_file(&(bd->pdev->dev), &dev_attr_ports_state);
-       device_remove_file(&(bd->pdev->dev), &dev_attr_ports_baud);
-       device_remove_file(&(bd->pdev->dev), &dev_attr_ports_msignals);
-       device_remove_file(&(bd->pdev->dev), &dev_attr_ports_iflag);
-       device_remove_file(&(bd->pdev->dev), &dev_attr_ports_cflag);
-       device_remove_file(&(bd->pdev->dev), &dev_attr_ports_oflag);
-       device_remove_file(&(bd->pdev->dev), &dev_attr_ports_lflag);
-       device_remove_file(&(bd->pdev->dev), &dev_attr_ports_digi_flag);
-       device_remove_file(&(bd->pdev->dev), &dev_attr_ports_rxcount);
-       device_remove_file(&(bd->pdev->dev), &dev_attr_ports_txcount);
-       device_remove_file(&(bd->pdev->dev), &dev_attr_vpd);
-       device_remove_file(&(bd->pdev->dev), &dev_attr_serial_number);
-}
-
-
-static ssize_t dgnc_tty_state_show(struct device *d, struct device_attribute 
*attr, char *buf)
-{
-       struct dgnc_board *bd;
-       struct channel_t *ch;
-       struct un_t *un;
-
-       if (!d)
-               return 0;
-       un = dev_get_drvdata(d);
-       if (!un || un->magic != DGNC_UNIT_MAGIC)
-               return 0;
-       ch = un->un_ch;
-       if (!ch || ch->magic != DGNC_CHANNEL_MAGIC)
-               return 0;
-       bd = ch->ch_bd;
-       if (!bd || bd->magic != DGNC_BOARD_MAGIC)
-               return 0;
-       if (bd->state != BOARD_READY)
-               return 0;
-
-       return snprintf(buf, PAGE_SIZE, "%s", un->un_open_count ? "Open" : 
"Closed");
-}
-static DEVICE_ATTR(state, S_IRUSR, dgnc_tty_state_show, NULL);
-
-
-static ssize_t dgnc_tty_baud_show(struct device *d, struct device_attribute 
*attr, char *buf)
-{
-       struct dgnc_board *bd;
-       struct channel_t *ch;
-       struct un_t *un;
-
-       if (!d)
-               return 0;
-       un = dev_get_drvdata(d);
-       if (!un || un->magic != DGNC_UNIT_MAGIC)
-               return 0;
-       ch = un->un_ch;
-       if (!ch || ch->magic != DGNC_CHANNEL_MAGIC)
-               return 0;
-       bd = ch->ch_bd;
-       if (!bd || bd->magic != DGNC_BOARD_MAGIC)
-               return 0;
-       if (bd->state != BOARD_READY)
-               return 0;
-
-       return snprintf(buf, PAGE_SIZE, "%d\n", ch->ch_old_baud);
-}
-static DEVICE_ATTR(baud, S_IRUSR, dgnc_tty_baud_show, NULL);
-
-
-static ssize_t dgnc_tty_msignals_show(struct device *d, struct 
device_attribute *attr, char *buf)
-{
-       struct dgnc_board *bd;
-       struct channel_t *ch;
-       struct un_t *un;
-
-       if (!d)
-               return 0;
-       un = dev_get_drvdata(d);
-       if (!un || un->magic != DGNC_UNIT_MAGIC)
-               return 0;
-       ch = un->un_ch;
-       if (!ch || ch->magic != DGNC_CHANNEL_MAGIC)
-               return 0;
-       bd = ch->ch_bd;
-       if (!bd || bd->magic != DGNC_BOARD_MAGIC)
-               return 0;
-       if (bd->state != BOARD_READY)
-               return 0;
-
-       if (ch->ch_open_count) {
-               return snprintf(buf, PAGE_SIZE, "%s %s %s %s %s %s\n",
-                       (ch->ch_mostat & UART_MCR_RTS) ? "RTS" : "",
-                       (ch->ch_mistat & UART_MSR_CTS) ? "CTS" : "",
-                       (ch->ch_mostat & UART_MCR_DTR) ? "DTR" : "",
-                       (ch->ch_mistat & UART_MSR_DSR) ? "DSR" : "",
-                       (ch->ch_mistat & UART_MSR_DCD) ? "DCD" : "",
-                       (ch->ch_mistat & UART_MSR_RI)  ? "RI"  : "");
-       }
-       return 0;
-}
-static DEVICE_ATTR(msignals, S_IRUSR, dgnc_tty_msignals_show, NULL);
-
-
-static ssize_t dgnc_tty_iflag_show(struct device *d, struct device_attribute 
*attr, char *buf)
-{
-       struct dgnc_board *bd;
-       struct channel_t *ch;
-       struct un_t *un;
-
-       if (!d)
-               return 0;
-       un = dev_get_drvdata(d);
-       if (!un || un->magic != DGNC_UNIT_MAGIC)
-               return 0;
-       ch = un->un_ch;
-       if (!ch || ch->magic != DGNC_CHANNEL_MAGIC)
-               return 0;
-       bd = ch->ch_bd;
-       if (!bd || bd->magic != DGNC_BOARD_MAGIC)
-               return 0;
-       if (bd->state != BOARD_READY)
-               return 0;
-
-       return snprintf(buf, PAGE_SIZE, "%x\n", ch->ch_c_iflag);
-}
-static DEVICE_ATTR(iflag, S_IRUSR, dgnc_tty_iflag_show, NULL);
-
-
-static ssize_t dgnc_tty_cflag_show(struct device *d, struct device_attribute 
*attr, char *buf)
-{
-       struct dgnc_board *bd;
-       struct channel_t *ch;
-       struct un_t *un;
-
-       if (!d)
-               return 0;
-       un = dev_get_drvdata(d);
-       if (!un || un->magic != DGNC_UNIT_MAGIC)
-               return 0;
-       ch = un->un_ch;
-       if (!ch || ch->magic != DGNC_CHANNEL_MAGIC)
-               return 0;
-       bd = ch->ch_bd;
-       if (!bd || bd->magic != DGNC_BOARD_MAGIC)
-               return 0;
-       if (bd->state != BOARD_READY)
-               return 0;
-
-       return snprintf(buf, PAGE_SIZE, "%x\n", ch->ch_c_cflag);
-}
-static DEVICE_ATTR(cflag, S_IRUSR, dgnc_tty_cflag_show, NULL);
-
-
-static ssize_t dgnc_tty_oflag_show(struct device *d, struct device_attribute 
*attr, char *buf)
-{
-       struct dgnc_board *bd;
-       struct channel_t *ch;
-       struct un_t *un;
-
-       if (!d)
-               return 0;
-       un = dev_get_drvdata(d);
-       if (!un || un->magic != DGNC_UNIT_MAGIC)
-               return 0;
-       ch = un->un_ch;
-       if (!ch || ch->magic != DGNC_CHANNEL_MAGIC)
-               return 0;
-       bd = ch->ch_bd;
-       if (!bd || bd->magic != DGNC_BOARD_MAGIC)
-               return 0;
-       if (bd->state != BOARD_READY)
-               return 0;
-
-       return snprintf(buf, PAGE_SIZE, "%x\n", ch->ch_c_oflag);
-}
-static DEVICE_ATTR(oflag, S_IRUSR, dgnc_tty_oflag_show, NULL);
-
-
-static ssize_t dgnc_tty_lflag_show(struct device *d, struct device_attribute 
*attr, char *buf)
-{
-       struct dgnc_board *bd;
-       struct channel_t *ch;
-       struct un_t *un;
-
-       if (!d)
-               return 0;
-       un = dev_get_drvdata(d);
-       if (!un || un->magic != DGNC_UNIT_MAGIC)
-               return 0;
-       ch = un->un_ch;
-       if (!ch || ch->magic != DGNC_CHANNEL_MAGIC)
-               return 0;
-       bd = ch->ch_bd;
-       if (!bd || bd->magic != DGNC_BOARD_MAGIC)
-               return 0;
-       if (bd->state != BOARD_READY)
-               return 0;
-
-       return snprintf(buf, PAGE_SIZE, "%x\n", ch->ch_c_lflag);
-}
-static DEVICE_ATTR(lflag, S_IRUSR, dgnc_tty_lflag_show, NULL);
-
-
-static ssize_t dgnc_tty_digi_flag_show(struct device *d, struct 
device_attribute *attr, char *buf)
-{
-       struct dgnc_board *bd;
-       struct channel_t *ch;
-       struct un_t *un;
-
-       if (!d)
-               return 0;
-       un = dev_get_drvdata(d);
-       if (!un || un->magic != DGNC_UNIT_MAGIC)
-               return 0;
-       ch = un->un_ch;
-       if (!ch || ch->magic != DGNC_CHANNEL_MAGIC)
-               return 0;
-       bd = ch->ch_bd;
-       if (!bd || bd->magic != DGNC_BOARD_MAGIC)
-               return 0;
-       if (bd->state != BOARD_READY)
-               return 0;
-
-       return snprintf(buf, PAGE_SIZE, "%x\n", ch->ch_digi.digi_flags);
-}
-static DEVICE_ATTR(digi_flag, S_IRUSR, dgnc_tty_digi_flag_show, NULL);
-
-
-static ssize_t dgnc_tty_rxcount_show(struct device *d, struct device_attribute 
*attr, char *buf)
-{
-       struct dgnc_board *bd;
-       struct channel_t *ch;
-       struct un_t *un;
-
-       if (!d)
-               return 0;
-       un = dev_get_drvdata(d);
-       if (!un || un->magic != DGNC_UNIT_MAGIC)
-               return 0;
-       ch = un->un_ch;
-       if (!ch || ch->magic != DGNC_CHANNEL_MAGIC)
-               return 0;
-       bd = ch->ch_bd;
-       if (!bd || bd->magic != DGNC_BOARD_MAGIC)
-               return 0;
-       if (bd->state != BOARD_READY)
-               return 0;
-
-       return snprintf(buf, PAGE_SIZE, "%ld\n", ch->ch_rxcount);
-}
-static DEVICE_ATTR(rxcount, S_IRUSR, dgnc_tty_rxcount_show, NULL);
-
-
-static ssize_t dgnc_tty_txcount_show(struct device *d, struct device_attribute 
*attr, char *buf)
-{
-       struct dgnc_board *bd;
-       struct channel_t *ch;
-       struct un_t *un;
-
-       if (!d)
-               return 0;
-       un = dev_get_drvdata(d);
-       if (!un || un->magic != DGNC_UNIT_MAGIC)
-               return 0;
-       ch = un->un_ch;
-       if (!ch || ch->magic != DGNC_CHANNEL_MAGIC)
-               return 0;
-       bd = ch->ch_bd;
-       if (!bd || bd->magic != DGNC_BOARD_MAGIC)
-               return 0;
-       if (bd->state != BOARD_READY)
-               return 0;
-
-       return snprintf(buf, PAGE_SIZE, "%ld\n", ch->ch_txcount);
-}
-static DEVICE_ATTR(txcount, S_IRUSR, dgnc_tty_txcount_show, NULL);
-
-
-static ssize_t dgnc_tty_name_show(struct device *d, struct device_attribute 
*attr, char *buf)
-{
-       struct dgnc_board *bd;
-       struct channel_t *ch;
-       struct un_t *un;
-
-       if (!d)
-               return 0;
-       un = dev_get_drvdata(d);
-       if (!un || un->magic != DGNC_UNIT_MAGIC)
-               return 0;
-       ch = un->un_ch;
-       if (!ch || ch->magic != DGNC_CHANNEL_MAGIC)
-               return 0;
-       bd = ch->ch_bd;
-       if (!bd || bd->magic != DGNC_BOARD_MAGIC)
-               return 0;
-       if (bd->state != BOARD_READY)
-               return 0;
-
-       return snprintf(buf, PAGE_SIZE, "%sn%d%c\n",
-               (un->un_type == DGNC_PRINT) ? "pr" : "tty",
-               bd->boardnum + 1, 'a' + ch->ch_portnum);
-}
-static DEVICE_ATTR(custom_name, S_IRUSR, dgnc_tty_name_show, NULL);
-
-
-static struct attribute *dgnc_sysfs_tty_entries[] = {
-       &dev_attr_state.attr,
-       &dev_attr_baud.attr,
-       &dev_attr_msignals.attr,
-       &dev_attr_iflag.attr,
-       &dev_attr_cflag.attr,
-       &dev_attr_oflag.attr,
-       &dev_attr_lflag.attr,
-       &dev_attr_digi_flag.attr,
-       &dev_attr_rxcount.attr,
-       &dev_attr_txcount.attr,
-       &dev_attr_custom_name.attr,
-       NULL
-};
-
-
-static struct attribute_group dgnc_tty_attribute_group = {
-       .name = NULL,
-       .attrs = dgnc_sysfs_tty_entries,
-};
-
-
-void dgnc_create_tty_sysfs(struct un_t *un, struct device *c)
-{
-       int ret;
-
-       ret = sysfs_create_group(&c->kobj, &dgnc_tty_attribute_group);
-       if (ret) {
-               dev_err(c, "dgnc: failed to create sysfs tty device 
attributes.\n");
-               sysfs_remove_group(&c->kobj, &dgnc_tty_attribute_group);
-               return;
-       }
-
-       dev_set_drvdata(c, un);
-
-}
-
-
-void dgnc_remove_tty_sysfs(struct device *c)
-{
-       sysfs_remove_group(&c->kobj, &dgnc_tty_attribute_group);
-}
-
diff --git a/drivers/staging/dgnc/dgnc_sysfs.h 
b/drivers/staging/dgnc/dgnc_sysfs.h
deleted file mode 100644
index 68c0de5..0000000
--- a/drivers/staging/dgnc/dgnc_sysfs.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright 2003 Digi International (www.digi.com)
- *     Scott H Kilau <Scott_Kilau at digi dot com>
- *
- * This program 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, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY, EXPRESS OR IMPLIED; 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 this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- *     NOTE: THIS IS A SHARED HEADER. DO NOT CHANGE CODING STYLE!!!
- */
-
-#ifndef __DGNC_SYSFS_H
-#define __DGNC_SYSFS_H
-
-#include "dgnc_driver.h"
-
-#include <linux/device.h>
-
-struct dgnc_board;
-struct channel_t;
-struct un_t;
-struct pci_driver;
-struct class_device;
-
-extern void dgnc_create_ports_sysfiles(struct dgnc_board *bd);
-extern void dgnc_remove_ports_sysfiles(struct dgnc_board *bd);
-
-extern void dgnc_create_driver_sysfiles(struct pci_driver *);
-extern void dgnc_remove_driver_sysfiles(struct pci_driver *);
-
-extern int dgnc_tty_class_init(void);
-extern int dgnc_tty_class_destroy(void);
-
-extern void dgnc_create_tty_sysfs(struct un_t *un, struct device *c);
-extern void dgnc_remove_tty_sysfs(struct device *c);
-
-
-
-#endif
diff --git a/drivers/staging/dgnc/dgnc_tty.c b/drivers/staging/dgnc/dgnc_tty.c
index f81a375..e8f55f2 100644
--- a/drivers/staging/dgnc/dgnc_tty.c
+++ b/drivers/staging/dgnc/dgnc_tty.c
@@ -55,7 +55,6 @@
 #include "dgnc_neo.h"
 #include "dgnc_cls.h"
 #include "dpacompat.h"
-#include "dgnc_sysfs.h"
 #include "dgnc_utils.h"

 #define init_MUTEX(sem)         sema_init(sem, 1)
@@ -374,18 +373,11 @@ int dgnc_tty_init(struct dgnc_board *brd)
                init_waitqueue_head(&ch->ch_tun.un_flags_wait);
                init_waitqueue_head(&ch->ch_pun.un_flags_wait);

-               {
-                       struct device *classp;
-
-                       classp = tty_register_device(&brd->SerialDriver, i,
+               tty_register_device(&brd->SerialDriver, i,
                                &(ch->ch_bd->pdev->dev));
-                       ch->ch_tun.un_sysfs = classp;
-                       dgnc_create_tty_sysfs(&ch->ch_tun, classp);

-                       classp = tty_register_device(&brd->PrintDriver, i,
+               tty_register_device(&brd->PrintDriver, i,
                                &(ch->ch_bd->pdev->dev));
-                       ch->ch_pun.un_sysfs = classp;
-                       dgnc_create_tty_sysfs(&ch->ch_pun, classp);
                }

        }
@@ -420,7 +412,6 @@ void dgnc_tty_uninit(struct dgnc_board *brd)
                dgnc_BoardsByMajor[brd->SerialDriver.major] = NULL;
                brd->dgnc_Serial_Major = 0;
                for (i = 0; i < brd->nasync; i++) {
-                       
dgnc_remove_tty_sysfs(brd->channels[i]->ch_tun.un_sysfs);
                        tty_unregister_device(&brd->SerialDriver, i);
                }
                tty_unregister_driver(&brd->SerialDriver);
@@ -431,7 +422,6 @@ void dgnc_tty_uninit(struct dgnc_board *brd)
                dgnc_BoardsByMajor[brd->PrintDriver.major] = NULL;
                brd->dgnc_TransparentPrint_Major = 0;
                for (i = 0; i < brd->nasync; i++) {
-                       
dgnc_remove_tty_sysfs(brd->channels[i]->ch_pun.un_sysfs);
                        tty_unregister_device(&brd->PrintDriver, i);
                }
                tty_unregister_driver(&brd->PrintDriver);
--
1.9.1

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to