ia64/linux-2.6.18-xen.hg

diff drivers/char/rio/func.h @ 0:831230e53067

Import 2.6.18 from kernel.org tarball.
author Ian Campbell <ian.campbell@xensource.com>
date Wed Apr 11 14:15:44 2007 +0100 (2007-04-11)
parents
children
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/drivers/char/rio/func.h	Wed Apr 11 14:15:44 2007 +0100
     1.3 @@ -0,0 +1,149 @@
     1.4 +/*
     1.5 +** -----------------------------------------------------------------------------
     1.6 +**
     1.7 +**  Perle Specialix driver for Linux
     1.8 +**  Ported from existing RIO Driver for SCO sources.
     1.9 + *
    1.10 + *  (C) 1990 - 2000 Specialix International Ltd., Byfleet, Surrey, UK.
    1.11 + *
    1.12 + *      This program is free software; you can redistribute it and/or modify
    1.13 + *      it under the terms of the GNU General Public License as published by
    1.14 + *      the Free Software Foundation; either version 2 of the License, or
    1.15 + *      (at your option) any later version.
    1.16 + *
    1.17 + *      This program is distributed in the hope that it will be useful,
    1.18 + *      but WITHOUT ANY WARRANTY; without even the implied warranty of
    1.19 + *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    1.20 + *      GNU General Public License for more details.
    1.21 + *
    1.22 + *      You should have received a copy of the GNU General Public License
    1.23 + *      along with this program; if not, write to the Free Software
    1.24 + *      Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
    1.25 +**
    1.26 +**	Module		: func.h
    1.27 +**	SID		: 1.3
    1.28 +**	Last Modified	: 11/6/98 11:34:10
    1.29 +**	Retrieved	: 11/6/98 11:34:21
    1.30 +**
    1.31 +**  ident @(#)func.h	1.3
    1.32 +**
    1.33 +** -----------------------------------------------------------------------------
    1.34 +*/
    1.35 +
    1.36 +#ifndef __func_h_def
    1.37 +#define __func_h_def
    1.38 +
    1.39 +#include <linux/kdev_t.h>
    1.40 +
    1.41 +#ifdef SCCS_LABELS
    1.42 +#ifndef lint
    1.43 +static char *_func_h_sccs_ = "@(#)func.h	1.3";
    1.44 +#endif
    1.45 +#endif
    1.46 +
    1.47 +/* rioboot.c */
    1.48 +int RIOBootCodeRTA(struct rio_info *, struct DownLoad *);
    1.49 +int RIOBootCodeHOST(struct rio_info *, struct DownLoad *);
    1.50 +int RIOBootCodeUNKNOWN(struct rio_info *, struct DownLoad *);
    1.51 +void msec_timeout(struct Host *);
    1.52 +int RIOBootRup(struct rio_info *, unsigned int, struct Host *, struct PKT __iomem *);
    1.53 +int RIOBootOk(struct rio_info *, struct Host *, unsigned long);
    1.54 +int RIORtaBound(struct rio_info *, unsigned int);
    1.55 +void rio_fill_host_slot(int, int, unsigned int, struct Host *);
    1.56 +
    1.57 +/* riocmd.c */
    1.58 +int RIOFoadRta(struct Host *, struct Map *);
    1.59 +int RIOZombieRta(struct Host *, struct Map *);
    1.60 +int RIOCommandRta(struct rio_info *, unsigned long, int (*func) (struct Host *, struct Map *));
    1.61 +int RIOIdentifyRta(struct rio_info *, void __user *);
    1.62 +int RIOKillNeighbour(struct rio_info *, void __user *);
    1.63 +int RIOSuspendBootRta(struct Host *, int, int);
    1.64 +int RIOFoadWakeup(struct rio_info *);
    1.65 +struct CmdBlk *RIOGetCmdBlk(void);
    1.66 +void RIOFreeCmdBlk(struct CmdBlk *);
    1.67 +int RIOQueueCmdBlk(struct Host *, unsigned int, struct CmdBlk *);
    1.68 +void RIOPollHostCommands(struct rio_info *, struct Host *);
    1.69 +int RIOWFlushMark(unsigned long, struct CmdBlk *);
    1.70 +int RIORFlushEnable(unsigned long, struct CmdBlk *);
    1.71 +int RIOUnUse(unsigned long, struct CmdBlk *);
    1.72 +
    1.73 +/* rioctrl.c */
    1.74 +int riocontrol(struct rio_info *, dev_t, int, unsigned long, int);
    1.75 +
    1.76 +int RIOPreemptiveCmd(struct rio_info *, struct Port *, unsigned char);
    1.77 +
    1.78 +/* rioinit.c */
    1.79 +void rioinit(struct rio_info *, struct RioHostInfo *);
    1.80 +void RIOInitHosts(struct rio_info *, struct RioHostInfo *);
    1.81 +void RIOISAinit(struct rio_info *, int);
    1.82 +int RIODoAT(struct rio_info *, int, int);
    1.83 +caddr_t RIOCheckForATCard(int);
    1.84 +int RIOAssignAT(struct rio_info *, int, void __iomem *, int);
    1.85 +int RIOBoardTest(unsigned long, void __iomem *, unsigned char, int);
    1.86 +void RIOAllocDataStructs(struct rio_info *);
    1.87 +void RIOSetupDataStructs(struct rio_info *);
    1.88 +int RIODefaultName(struct rio_info *, struct Host *, unsigned int);
    1.89 +struct rioVersion *RIOVersid(void);
    1.90 +void RIOHostReset(unsigned int, struct DpRam __iomem *, unsigned int);
    1.91 +
    1.92 +/* riointr.c */
    1.93 +void RIOTxEnable(char *);
    1.94 +void RIOServiceHost(struct rio_info *, struct Host *, int);
    1.95 +int riotproc(struct rio_info *, struct ttystatics *, int, int);
    1.96 +
    1.97 +/* rioparam.c */
    1.98 +int RIOParam(struct Port *, int, int, int);
    1.99 +int RIODelay(struct Port *PortP, int);
   1.100 +int RIODelay_ni(struct Port *PortP, int);
   1.101 +void ms_timeout(struct Port *);
   1.102 +int can_add_transmit(struct PKT __iomem **, struct Port *);
   1.103 +void add_transmit(struct Port *);
   1.104 +void put_free_end(struct Host *, struct PKT __iomem *);
   1.105 +int can_remove_receive(struct PKT __iomem **, struct Port *);
   1.106 +void remove_receive(struct Port *);
   1.107 +
   1.108 +/* rioroute.c */
   1.109 +int RIORouteRup(struct rio_info *, unsigned int, struct Host *, struct PKT __iomem *);
   1.110 +void RIOFixPhbs(struct rio_info *, struct Host *, unsigned int);
   1.111 +unsigned int GetUnitType(unsigned int);
   1.112 +int RIOSetChange(struct rio_info *);
   1.113 +int RIOFindFreeID(struct rio_info *, struct Host *, unsigned int *, unsigned int *);
   1.114 +
   1.115 +
   1.116 +/* riotty.c */
   1.117 +
   1.118 +int riotopen(struct tty_struct *tty, struct file *filp);
   1.119 +int riotclose(void *ptr);
   1.120 +int riotioctl(struct rio_info *, struct tty_struct *, int, caddr_t);
   1.121 +void ttyseth(struct Port *, struct ttystatics *, struct old_sgttyb *sg);
   1.122 +
   1.123 +/* riotable.c */
   1.124 +int RIONewTable(struct rio_info *);
   1.125 +int RIOApel(struct rio_info *);
   1.126 +int RIODeleteRta(struct rio_info *, struct Map *);
   1.127 +int RIOAssignRta(struct rio_info *, struct Map *);
   1.128 +int RIOReMapPorts(struct rio_info *, struct Host *, struct Map *);
   1.129 +int RIOChangeName(struct rio_info *, struct Map *);
   1.130 +
   1.131 +#if 0
   1.132 +/* riodrvr.c */
   1.133 +struct rio_info *rio_install(struct RioHostInfo *);
   1.134 +int rio_uninstall(struct rio_info *);
   1.135 +int rio_open(struct rio_info *, int, struct file *);
   1.136 +int rio_close(struct rio_info *, struct file *);
   1.137 +int rio_read(struct rio_info *, struct file *, char *, int);
   1.138 +int rio_write(struct rio_info *, struct file *f, char *, int);
   1.139 +int rio_ioctl(struct rio_info *, struct file *, int, char *);
   1.140 +int rio_select(struct rio_info *, struct file *f, int, struct sel *);
   1.141 +int rio_intr(char *);
   1.142 +int rio_isr_thread(char *);
   1.143 +struct rio_info *rio_info_store(int cmd, struct rio_info *p);
   1.144 +#endif
   1.145 +
   1.146 +extern void rio_copy_to_card(void *from, void __iomem *to, int len);
   1.147 +extern int rio_minor(struct tty_struct *tty);
   1.148 +extern int rio_ismodem(struct tty_struct *tty);
   1.149 +
   1.150 +extern void rio_start_card_running(struct Host *HostP);
   1.151 +
   1.152 +#endif				/* __func_h_def */