This patch makes all merged and original functions static to dgap.c. Doing so has revealed more dead code via gcc warnings. Signed-off-by: Mark Hounschell <markh@xxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/staging/dgap/dgap_driver.c | 159 +++++++++++++++++++++---------------- drivers/staging/dgap/dgap_driver.h | 50 +----------- 2 files changed, 90 insertions(+), 119 deletions(-) diff --git a/drivers/staging/dgap/dgap_driver.c b/drivers/staging/dgap/dgap_driver.c index 3bf09ee..21b0f90 100644 --- a/drivers/staging/dgap/dgap_driver.c +++ b/drivers/staging/dgap/dgap_driver.c @@ -122,13 +122,13 @@ static void dgap_tty_set_termios(struct tty_struct *tty, struct ktermios *old_te static int dgap_tty_put_char(struct tty_struct *tty, unsigned char c); static void dgap_tty_send_xchar(struct tty_struct *tty, char ch); -int dgap_tty_register(struct board_t *brd); -int dgap_tty_preinit(void); -int dgap_tty_init(struct board_t *); -void dgap_tty_post_uninit(void); -void dgap_tty_uninit(struct board_t *); -void dgap_carrier(struct channel_t *ch); -void dgap_input(struct channel_t *ch); +static int dgap_tty_register(struct board_t *brd); +static int dgap_tty_preinit(void); +static int dgap_tty_init(struct board_t *); +static void dgap_tty_post_uninit(void); +static void dgap_tty_uninit(struct board_t *); +static void dgap_carrier(struct channel_t *ch); +static void dgap_input(struct channel_t *ch); /* * Our function prototypes from dgap_fep5 @@ -136,6 +136,15 @@ void dgap_input(struct channel_t *ch); static void dgap_cmdw_ext(struct channel_t *ch, u16 cmd, u16 word, uint ncmds); static int dgap_event(struct board_t *bd); +static void dgap_poll_tasklet(unsigned long data); +static void dgap_cmdb(struct channel_t *ch, uchar cmd, uchar byte1, uchar byte2, uint ncmds); +static void dgap_cmdw(struct channel_t *ch, uchar cmd, u16 word, uint ncmds); +static void dgap_wmove(struct channel_t *ch, char *buf, uint cnt); +static int dgap_param(struct tty_struct *tty); +static void dgap_parity_scan(struct channel_t *ch, unsigned char *cbuf, unsigned char *fbuf, int *len); +static uint dgap_get_custom_baud(struct channel_t *ch); +static void dgap_firmware_reset_port(struct channel_t *ch); + /* * Function prototypes from dgap_parse.c. */ @@ -155,28 +164,38 @@ struct un_t; struct pci_driver; struct class_device; -void dgap_create_ports_sysfiles(struct board_t *bd); -void dgap_remove_ports_sysfiles(struct board_t *bd); +static void dgap_create_ports_sysfiles(struct board_t *bd); +static void dgap_remove_ports_sysfiles(struct board_t *bd); -void dgap_create_driver_sysfiles(struct pci_driver *); -void dgap_remove_driver_sysfiles(struct pci_driver *); +static void dgap_create_driver_sysfiles(struct pci_driver *); +static void dgap_remove_driver_sysfiles(struct pci_driver *); -int dgap_tty_class_init(void); -int dgap_tty_class_destroy(void); +static int dgap_tty_class_init(void); +static int dgap_tty_class_destroy(void); -void dgap_create_tty_sysfs(struct un_t *un, struct device *c); -void dgap_remove_tty_sysfs(struct device *c); +static void dgap_create_tty_sysfs(struct un_t *un, struct device *c); +static void dgap_remove_tty_sysfs(struct device *c); /* * Function prototypes from dgap_parse.h */ -int dgap_parsefile(char **in, int Remove); -struct cnode *dgap_find_config(int type, int bus, int slot); -uint dgap_config_get_number_of_ports(struct board_t *bd); -char *dgap_create_config_string(struct board_t *bd, char *string); -char *dgap_get_config_letters(struct board_t *bd, char *string); -uint dgap_config_get_useintr(struct board_t *bd); -uint dgap_config_get_altpin(struct board_t *bd); +static int dgap_parsefile(char **in, int Remove); +static struct cnode *dgap_find_config(int type, int bus, int slot); +static uint dgap_config_get_number_of_ports(struct board_t *bd); +static char *dgap_create_config_string(struct board_t *bd, char *string); +static char *dgap_get_config_letters(struct board_t *bd, char *string); +static uint dgap_config_get_useintr(struct board_t *bd); +static uint dgap_config_get_altpin(struct board_t *bd); + +static int dgap_ms_sleep(ulong ms); +static char *dgap_ioctl_name(int cmd); +static void dgap_do_bios_load(struct board_t *brd, uchar __user *ubios, int len); +static void dgap_do_fep_load(struct board_t *brd, uchar __user *ufep, int len); +static void dgap_do_conc_load(struct board_t *brd, uchar *uaddr, int len); +static void dgap_do_config_load(uchar __user *uaddr, int len); +static int dgap_after_config_loaded(void); +static int dgap_finalize_board_init(struct board_t *brd); + /* Driver load/unload functions */ int dgap_init_module(void); @@ -198,16 +217,16 @@ static struct file_operations DgapBoardFops = /* * Globals */ -uint dgap_NumBoards; -struct board_t *dgap_Board[MAXBOARDS]; +static uint dgap_NumBoards; +static struct board_t *dgap_Board[MAXBOARDS]; DEFINE_SPINLOCK(dgap_global_lock); -ulong dgap_poll_counter; -char *dgap_config_buf; -int dgap_driver_state = DRIVER_INITIALIZED; +static ulong dgap_poll_counter; +static char *dgap_config_buf; +static int dgap_driver_state = DRIVER_INITIALIZED; DEFINE_SPINLOCK(dgap_dl_lock); -wait_queue_head_t dgap_dl_wait; -int dgap_dl_action; -int dgap_poll_tick = 20; /* Poll interval - 20 ms */ +static wait_queue_head_t dgap_dl_wait; +static int dgap_dl_action; +static int dgap_poll_tick = 20; /* Poll interval - 20 ms */ /* * Static vars. @@ -219,13 +238,13 @@ static struct class * dgap_class; static struct board_t *dgap_BoardsByMajor[256]; static uchar *dgap_TmpWriteBuf = NULL; -static DECLARE_MUTEX(dgap_TmpWriteSem); +DECLARE_MUTEX(dgap_TmpWriteSem); static uint dgap_count = 500; /* * Poller stuff */ -static DEFINE_SPINLOCK(dgap_poll_lock); /* Poll scheduling lock */ +DEFINE_SPINLOCK(dgap_poll_lock); /* Poll scheduling lock */ static ulong dgap_poll_time; /* Time of next poll */ static uint dgap_poll_stop; /* Used to tell poller to stop */ static struct timer_list dgap_poll_timer; @@ -290,7 +309,7 @@ static struct pci_driver dgap_driver = { }; -char *dgap_state_text[] = { +static char *dgap_state_text[] = { "Board Failed", "Configuration for board not found.\n\t\t\tRun mpi to configure board.", "Board Found", @@ -314,7 +333,7 @@ char *dgap_state_text[] = { "Board READY", }; -char *dgap_driver_state_text[] = { +static char *dgap_driver_state_text[] = { "Driver Initialized", "Driver needs configuration load.", "Driver requested configuration from download daemon.", @@ -854,7 +873,7 @@ static int dgap_found_board(struct pci_dev *pdev, int id) } -int dgap_finalize_board_init(struct board_t *brd) { +static int dgap_finalize_board_init(struct board_t *brd) { int rc; @@ -1186,7 +1205,7 @@ static void dgap_mbuf(struct board_t *brd, const char *fmt, ...) { * * Returns 0 if timed out, !0 (showing signal) if interrupted by a signal. */ -int dgap_ms_sleep(ulong ms) +static int dgap_ms_sleep(ulong ms) { current->state = TASK_INTERRUPTIBLE; schedule_timeout((ms * HZ) / 1000); @@ -1198,7 +1217,7 @@ int dgap_ms_sleep(ulong ms) /* * dgap_ioctl_name() : Returns a text version of each ioctl value. */ -char *dgap_ioctl_name(int cmd) +static char *dgap_ioctl_name(int cmd) { switch(cmd) { @@ -1258,7 +1277,7 @@ char *dgap_ioctl_name(int cmd) * * Initialize any global tty related data before we download any boards. */ -int dgap_tty_preinit(void) +static int dgap_tty_preinit(void) { unsigned long flags; @@ -1288,7 +1307,7 @@ int dgap_tty_preinit(void) * * Init the tty subsystem for this board. */ -int dgap_tty_register(struct board_t *brd) +static int dgap_tty_register(struct board_t *brd) { int rc = 0; @@ -1384,7 +1403,7 @@ int dgap_tty_register(struct board_t *brd) * Init the tty subsystem. Called once per board after board has been * downloaded and init'ed. */ -int dgap_tty_init(struct board_t *brd) +static int dgap_tty_init(struct board_t *brd) { int i; int tlw; @@ -1562,7 +1581,7 @@ int dgap_tty_init(struct board_t *brd) * * UnInitialize any global tty related data. */ -void dgap_tty_post_uninit(void) +static void dgap_tty_post_uninit(void) { kfree(dgap_TmpWriteBuf); dgap_TmpWriteBuf = NULL; @@ -1575,7 +1594,7 @@ void dgap_tty_post_uninit(void) * Uninitialize the TTY portion of this driver. Free all memory and * resources. */ -void dgap_tty_uninit(struct board_t *brd) +static void dgap_tty_uninit(struct board_t *brd) { int i = 0; @@ -1733,7 +1752,7 @@ static void dgap_sniff_nowait_nolock(struct channel_t *ch, uchar *text, uchar *b * *=======================================================================*/ -void dgap_input(struct channel_t *ch) +static void dgap_input(struct channel_t *ch) { struct board_t *bd; struct bs_t *bs; @@ -1950,7 +1969,7 @@ void dgap_input(struct channel_t *ch) * Determines when CARRIER changes state and takes appropriate * action. ************************************************************************/ -void dgap_carrier(struct channel_t *ch) +static void dgap_carrier(struct channel_t *ch) { struct board_t *bd; @@ -4640,7 +4659,7 @@ static int dgap_tty_ioctl(struct tty_struct *tty, unsigned int cmd, /* * Loads the dgap.conf config file from the user. */ -void dgap_do_config_load(uchar __user *uaddr, int len) +static void dgap_do_config_load(uchar __user *uaddr, int len) { int orig_len = len; char *to_addr; @@ -4685,7 +4704,7 @@ void dgap_do_config_load(uchar __user *uaddr, int len) } -int dgap_after_config_loaded(void) +static int dgap_after_config_loaded(void) { int i = 0; int rc = 0; @@ -4750,7 +4769,7 @@ static int dgap_usertoboard(struct board_t *brd, char *to_addr, char __user *fro * Copies the BIOS code from the user to the board, * and starts the BIOS running. */ -void dgap_do_bios_load(struct board_t *brd, uchar __user *ubios, int len) +static void dgap_do_bios_load(struct board_t *brd, uchar __user *ubios, int len) { uchar *addr; uint offset; @@ -4825,7 +4844,7 @@ static void dgap_do_wait_for_bios(struct board_t *brd) * Copies the FEP code from the user to the board, * and starts the FEP running. */ -void dgap_do_fep_load(struct board_t *brd, uchar __user *ufep, int len) +static void dgap_do_fep_load(struct board_t *brd, uchar __user *ufep, int len) { uchar *addr; uint offset; @@ -4987,7 +5006,7 @@ failed: /* * Sends a concentrator image into the FEP5 board. */ -void dgap_do_conc_load(struct board_t *brd, uchar *uaddr, int len) +static void dgap_do_conc_load(struct board_t *brd, uchar *uaddr, int len) { char *vaddr; u16 offset = 0; @@ -5122,7 +5141,7 @@ static void dgap_get_vpd(struct board_t *brd) /* * Our board poller function. */ -void dgap_poll_tasklet(unsigned long data) +static void dgap_poll_tasklet(unsigned long data) { struct board_t *bd = (struct board_t *) data; ulong lock_flags; @@ -5388,7 +5407,7 @@ out: * in the cmd buffer before returning. * *=======================================================================*/ -void dgap_cmdb(struct channel_t *ch, uchar cmd, uchar byte1, uchar byte2, uint ncmds) +static void dgap_cmdb(struct channel_t *ch, uchar cmd, uchar byte1, uchar byte2, uint ncmds) { char *vaddr = NULL; struct cm_t *cm_addr = NULL; @@ -5478,7 +5497,7 @@ void dgap_cmdb(struct channel_t *ch, uchar cmd, uchar byte1, uchar byte2, uint n * in the cmd buffer before returning. * *=======================================================================*/ -void dgap_cmdw(struct channel_t *ch, uchar cmd, u16 word, uint ncmds) +static void dgap_cmdw(struct channel_t *ch, uchar cmd, u16 word, uint ncmds) { char *vaddr = NULL; struct cm_t *cm_addr = NULL; @@ -5666,7 +5685,7 @@ static void dgap_cmdw_ext(struct channel_t *ch, u16 cmd, u16 word, uint ncmds) * cnt - Number of characters to move. * *=======================================================================*/ -void dgap_wmove(struct channel_t *ch, char *buf, uint cnt) +static void dgap_wmove(struct channel_t *ch, char *buf, uint cnt) { int n; char *taddr; @@ -5721,7 +5740,7 @@ void dgap_wmove(struct channel_t *ch, char *buf, uint cnt) * and returns it back to the user. * Returns 0 on error. */ -uint dgap_get_custom_baud(struct channel_t *ch) +static uint dgap_get_custom_baud(struct channel_t *ch) { uchar *vaddr; ulong offset = 0; @@ -5758,7 +5777,7 @@ uint dgap_get_custom_baud(struct channel_t *ch) /* * Calls the firmware to reset this channel. */ -void dgap_firmware_reset_port(struct channel_t *ch) +static void dgap_firmware_reset_port(struct channel_t *ch) { dgap_cmdb(ch, CHRESET, 0, 0, 0); @@ -5789,7 +5808,7 @@ void dgap_firmware_reset_port(struct channel_t *ch) * struct tty_struct * - TTY for port. * *=======================================================================*/ -int dgap_param(struct tty_struct *tty) +static int dgap_param(struct tty_struct *tty) { struct ktermios *ts; struct board_t *bd; @@ -6136,7 +6155,7 @@ int dgap_param(struct tty_struct *tty) * Convert the FEP5 way of reporting parity errors and breaks into * the Linux line discipline way. */ -void dgap_parity_scan(struct channel_t *ch, unsigned char *cbuf, unsigned char *fbuf, int *len) +static void dgap_parity_scan(struct channel_t *ch, unsigned char *cbuf, unsigned char *fbuf, int *len) { int l = *len; int count = 0; @@ -6562,7 +6581,7 @@ static ssize_t dgap_driver_pollrate_store(struct device_driver *ddp, const char static DRIVER_ATTR(pollrate, (S_IRUSR | S_IWUSR), dgap_driver_pollrate_show, dgap_driver_pollrate_store); -void dgap_create_driver_sysfiles(struct pci_driver *dgap_driver) +static void dgap_create_driver_sysfiles(struct pci_driver *dgap_driver) { int rc = 0; struct device_driver *driverfs = &dgap_driver->driver; @@ -6581,7 +6600,7 @@ void dgap_create_driver_sysfiles(struct pci_driver *dgap_driver) } -void dgap_remove_driver_sysfiles(struct pci_driver *dgap_driver) +static void dgap_remove_driver_sysfiles(struct pci_driver *dgap_driver) { struct device_driver *driverfs = &dgap_driver->driver; driver_remove_file(driverfs, &driver_attr_version); @@ -6791,7 +6810,7 @@ static DEVICE_ATTR(ports_txcount, S_IRUSR, dgap_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 dgap_create_ports_sysfiles(struct board_t *bd) +static void dgap_create_ports_sysfiles(struct board_t *bd) { int rc = 0; @@ -6813,7 +6832,7 @@ void dgap_create_ports_sysfiles(struct board_t *bd) /* removes all the sys files created for that port */ -void dgap_remove_ports_sysfiles(struct board_t *bd) +static void dgap_remove_ports_sysfiles(struct board_t *bd) { device_remove_file(&(bd->pdev->dev), &dev_attr_ports_state); device_remove_file(&(bd->pdev->dev), &dev_attr_ports_baud); @@ -7212,7 +7231,7 @@ static struct attribute_group dgap_tty_attribute_group = { -void dgap_create_tty_sysfs(struct un_t *un, struct device *c) +static void dgap_create_tty_sysfs(struct un_t *un, struct device *c) { int ret; @@ -7228,7 +7247,7 @@ void dgap_create_tty_sysfs(struct un_t *un, struct device *c) } -void dgap_remove_tty_sysfs(struct device *c) +static void dgap_remove_tty_sysfs(struct device *c) { sysfs_remove_group(&c->kobj, &dgap_tty_attribute_group); } @@ -7236,7 +7255,7 @@ void dgap_remove_tty_sysfs(struct device *c) /* * Parse a configuration file read into memory as a string. */ -int dgap_parsefile(char **in, int Remove) +static int dgap_parsefile(char **in, int Remove) { struct cnode *p, *brd, *line, *conc; int rc; @@ -8212,7 +8231,7 @@ static char *dgap_savestring(char *s) /* * Given a board pointer, returns whether we should use interrupts or not. */ -uint dgap_config_get_useintr(struct board_t *bd) +static uint dgap_config_get_useintr(struct board_t *bd) { struct cnode *p = NULL; @@ -8239,7 +8258,7 @@ uint dgap_config_get_useintr(struct board_t *bd) /* * Given a board pointer, returns whether we turn on altpin or not. */ -uint dgap_config_get_altpin(struct board_t *bd) +static uint dgap_config_get_altpin(struct board_t *bd) { struct cnode *p = NULL; @@ -8268,7 +8287,7 @@ uint dgap_config_get_altpin(struct board_t *bd) * Given a specific type of board, if found, detached link and * returns the first occurrence in the list. */ -struct cnode *dgap_find_config(int type, int bus, int slot) +static struct cnode *dgap_find_config(int type, int bus, int slot) { struct cnode *p, *prev = NULL, *prev2 = NULL, *found = NULL; @@ -8334,7 +8353,7 @@ struct cnode *dgap_find_config(int type, int bus, int slot) * all ports user specified should be on the board. * (This does NOT mean they are all actually present right now tho) */ -uint dgap_config_get_number_of_ports(struct board_t *bd) +static uint dgap_config_get_number_of_ports(struct board_t *bd) { int count = 0; struct cnode *p = NULL; @@ -8363,7 +8382,7 @@ uint dgap_config_get_number_of_ports(struct board_t *bd) return (count); } -char *dgap_create_config_string(struct board_t *bd, char *string) +static char *dgap_create_config_string(struct board_t *bd, char *string) { char *ptr = string; struct cnode *p = NULL; @@ -8422,7 +8441,7 @@ char *dgap_create_config_string(struct board_t *bd, char *string) -char *dgap_get_config_letters(struct board_t *bd, char *string) +static char *dgap_get_config_letters(struct board_t *bd, char *string) { int found = FALSE; char *ptr = string; diff --git a/drivers/staging/dgap/dgap_driver.h b/drivers/staging/dgap/dgap_driver.h index ce6a9e8..573aa18 100644 --- a/drivers/staging/dgap/dgap_driver.h +++ b/drivers/staging/dgap/dgap_driver.h @@ -663,8 +663,6 @@ enum { REQUESTED_CONCENTRATOR }; -extern char *dgap_state_text[]; -extern char *dgap_driver_state_text[]; /* @@ -1503,50 +1501,4 @@ struct cnode { } u; }; -/************************************************************************* - * - * Prototypes for non-static functions used in more than one module - * - *************************************************************************/ - -extern int dgap_ms_sleep(ulong ms); -extern char *dgap_ioctl_name(int cmd); -extern void dgap_do_bios_load(struct board_t *brd, uchar __user *ubios, int len); -extern void dgap_do_fep_load(struct board_t *brd, uchar __user *ufep, int len); -extern void dgap_do_conc_load(struct board_t *brd, uchar *uaddr, int len); -extern void dgap_do_config_load(uchar __user *uaddr, int len); -extern int dgap_after_config_loaded(void); -extern int dgap_finalize_board_init(struct board_t *brd); - -/* - * Our Global Variables. - */ -extern int dgap_driver_state; /* The state of the driver */ -extern int dgap_debug; /* Debug variable */ -extern int dgap_rawreadok; /* Set if user wants rawreads */ -extern int dgap_poll_tick; /* Poll interval - 20 ms */ -extern spinlock_t dgap_global_lock; /* Driver global spinlock */ -extern uint dgap_NumBoards; /* Total number of boards */ -extern struct board_t *dgap_Board[MAXBOARDS]; /* Array of board structs */ -extern ulong dgap_poll_counter; /* Times the poller has run */ -extern char *dgap_config_buf; /* The config file buffer */ -extern spinlock_t dgap_dl_lock; /* Downloader spinlock */ -extern wait_queue_head_t dgap_dl_wait; /* Wait queue for downloader */ -extern int dgap_dl_action; /* Action flag for downloader */ -extern int dgap_registerttyswithsysfs; /* Should we register the */ - /* ttys with sysfs or not */ - -/* - * Global functions declared in dgap_fep5.c, but must be hidden from - * user space programs. - */ -extern void dgap_poll_tasklet(unsigned long data); -extern void dgap_cmdb(struct channel_t *ch, uchar cmd, uchar byte1, uchar byte2, uint ncmds); -extern void dgap_cmdw(struct channel_t *ch, uchar cmd, u16 word, uint ncmds); -extern void dgap_wmove(struct channel_t *ch, char *buf, uint cnt); -extern int dgap_param(struct tty_struct *tty); -extern void dgap_parity_scan(struct channel_t *ch, unsigned char *cbuf, unsigned char *fbuf, int *len); -extern uint dgap_get_custom_baud(struct channel_t *ch); -extern void dgap_firmware_reset_port(struct channel_t *ch); - -#endif \ No newline at end of file +#endif -- 1.8.1.4 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel