Annotation of Gnu-Mach/linux/pcmcia-cs/include/pcmcia/bus_ops.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * bus_ops.h 1.12 2001/08/24 12:16:12
                      3:  *
                      4:  * The contents of this file are subject to the Mozilla Public License
                      5:  * Version 1.1 (the "License"); you may not use this file except in
                      6:  * compliance with the License. You may obtain a copy of the License
                      7:  * at http://www.mozilla.org/MPL/
                      8:  *
                      9:  * Software distributed under the License is distributed on an "AS IS"
                     10:  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
                     11:  * the License for the specific language governing rights and
                     12:  * limitations under the License. 
                     13:  *
                     14:  * The initial developer of the original code is David A. Hinds
                     15:  * <[email protected]>.  Portions created by David A. Hinds
                     16:  * are Copyright (C) 1999 David A. Hinds.  All Rights Reserved.
                     17:  *
                     18:  * Alternatively, the contents of this file may be used under the
                     19:  * terms of the GNU General Public License version 2 (the "GPL"), in
                     20:  * which case the provisions of the GPL are applicable instead of the
                     21:  * above.  If you wish to allow the use of your version of this file
                     22:  * only under the terms of the GPL and not to allow others to use
                     23:  * your version of this file under the MPL, indicate your decision by
                     24:  * deleting the provisions above and replace them with the notice and
                     25:  * other provisions required by the GPL.  If you do not delete the
                     26:  * provisions above, a recipient may use your version of this file
                     27:  * under either the MPL or the GPL.
                     28:  */
                     29: 
                     30: #ifndef _LINUX_BUS_OPS_H
                     31: #define _LINUX_BUS_OPS_H
                     32: 
                     33: #include <linux/config.h>
                     34: 
                     35: #ifdef CONFIG_VIRTUAL_BUS
                     36: 
                     37: typedef struct bus_operations {
                     38:     void       *priv;
                     39:     u32                (*b_in)(void *bus, u32 port, s32 sz);
                     40:     void       (*b_ins)(void *bus, u32 port, void *buf,
                     41:                         u32 count, s32 sz);
                     42:     void       (*b_out)(void *bus, u32 val, u32 port, s32 sz);
                     43:     void       (*b_outs)(void *bus, u32 port, void *buf,
                     44:                          u32 count, s32 sz);
                     45:     void       *(*b_ioremap)(void *bus, u_long ofs, u_long sz);
                     46:     void       (*b_iounmap)(void *bus, void *addr);
                     47:     u32                (*b_read)(void *bus, void *addr, s32 sz);
                     48:     void       (*b_write)(void *bus, u32 val, void *addr, s32 sz);
                     49:     void       (*b_copy_from)(void *bus, void *d, void *s, u32 count);
                     50:     void       (*b_copy_to)(void *bus, void *d, void *s, u32 count);
                     51:     int                (*b_request_irq)(void *bus, u_int irq,
                     52:                                 void (*handler)(int, void *,
                     53:                                                 struct pt_regs *),
                     54:                                 u_long flags, const char *device,
                     55:                                 void *dev_id);
                     56:     void       (*b_free_irq)(void *bus, u_int irq, void *dev_id);
                     57: } bus_operations;
                     58: 
                     59: #define bus_inb(b,p)           (b)->b_in((b),(p),0)
                     60: #define bus_inw(b,p)           (b)->b_in((b),(p),1)
                     61: #define bus_inl(b,p)           (b)->b_in((b),(p),2)
                     62: #define bus_inw_ns(b,p)                (b)->b_in((b),(p),-1)
                     63: #define bus_inl_ns(b,p)                (b)->b_in((b),(p),-2)
                     64: 
                     65: #define bus_insb(b,p,a,c)      (b)->b_ins((b),(p),(a),(c),0)
                     66: #define bus_insw(b,p,a,c)      (b)->b_ins((b),(p),(a),(c),1)
                     67: #define bus_insl(b,p,a,c)      (b)->b_ins((b),(p),(a),(c),2)
                     68: #define bus_insw_ns(b,p,a,c)   (b)->b_ins((b),(p),(a),(c),-1)
                     69: #define bus_insl_ns(b,p,a,c)   (b)->b_ins((b),(p),(a),(c),-2)
                     70: 
                     71: #define bus_outb(b,v,p)                (b)->b_out((b),(v),(p),0)
                     72: #define bus_outw(b,v,p)                (b)->b_out((b),(v),(p),1)
                     73: #define bus_outl(b,v,p)                (b)->b_out((b),(v),(p),2)
                     74: #define bus_outw_ns(b,v,p)     (b)->b_out((b),(v),(p),-1)
                     75: #define bus_outl_ns(b,v,p)     (b)->b_out((b),(v),(p),-2)
                     76: 
                     77: #define bus_outsb(b,p,a,c)     (b)->b_outs((b),(p),(a),(c),0)
                     78: #define bus_outsw(b,p,a,c)     (b)->b_outs((b),(p),(a),(c),1)
                     79: #define bus_outsl(b,p,a,c)     (b)->b_outs((b),(p),(a),(c),2)
                     80: #define bus_outsw_ns(b,p,a,c)  (b)->b_outs((b),(p),(a),(c),-1)
                     81: #define bus_outsl_ns(b,p,a,c)  (b)->b_outs((b),(p),(a),(c),-2)
                     82: 
                     83: #define bus_readb(b,a)         (b)->b_read((b),(a),0)
                     84: #define bus_readw(b,a)         (b)->b_read((b),(a),1)
                     85: #define bus_readl(b,a)         (b)->b_read((b),(a),2)
                     86: #define bus_readw_ns(b,a)      (b)->b_read((b),(a),-1)
                     87: #define bus_readl_ns(b,a)      (b)->b_read((b),(a),-2)
                     88: 
                     89: #define bus_writeb(b,v,a)      (b)->b_write((b),(v),(a),0)
                     90: #define bus_writew(b,v,a)      (b)->b_write((b),(v),(a),1)
                     91: #define bus_writel(b,v,a)      (b)->b_write((b),(v),(a),2)
                     92: #define bus_writew_ns(b,v,a)   (b)->b_write((b),(v),(a),-1)
                     93: #define bus_writel_ns(b,v,a)   (b)->b_write((b),(v),(a),-2)
                     94: 
                     95: #define bus_ioremap(b,s,n)     (b)->b_ioremap((b),(s),(n))
                     96: #define bus_iounmap(b,a)       (b)->b_iounmap((b),(a))
                     97: #define bus_memcpy_fromio(b,d,s,n) (b)->b_copy_from((b),(d),(s),(n))
                     98: #define bus_memcpy_toio(b,d,s,n) (b)->b_copy_to((b),(d),(s),(n))
                     99: 
                    100: #define bus_request_irq(b,i,h,f,n,d) \
                    101:                                (b)->b_request_irq((b),(i),(h),(f),(n),(d))
                    102: #define bus_free_irq(b,i,d)    (b)->b_free_irq((b),(i),(d))
                    103: 
                    104: #else
                    105: 
                    106: #define bus_inb(b,p)           inb(p)
                    107: #define bus_inw(b,p)           inw(p)
                    108: #define bus_inl(b,p)           inl(p)
                    109: #define bus_inw_ns(b,p)                inw_ns(p)
                    110: #define bus_inl_ns(b,p)                inl_ns(p)
                    111: 
                    112: #define bus_insb(b,p,a,c)      insb(p,a,c)
                    113: #define bus_insw(b,p,a,c)      insw(p,a,c)
                    114: #define bus_insl(b,p,a,c)      insl(p,a,c)
                    115: #define bus_insw_ns(b,p,a,c)   insw_ns(p,a,c)
                    116: #define bus_insl_ns(b,p,a,c)   insl_ns(p,a,c)
                    117: 
                    118: #define bus_outb(b,v,p)                outb(b,v,p)
                    119: #define bus_outw(b,v,p)                outw(b,v,p)
                    120: #define bus_outl(b,v,p)                outl(b,v,p)
                    121: #define bus_outw_ns(b,v,p)     outw_ns(b,v,p)
                    122: #define bus_outl_ns(b,v,p)     outl_ns(b,v,p)
                    123: 
                    124: #define bus_outsb(b,p,a,c)     outsb(p,a,c)
                    125: #define bus_outsw(b,p,a,c)     outsw(p,a,c)
                    126: #define bus_outsl(b,p,a,c)     outsl(p,a,c)
                    127: #define bus_outsw_ns(b,p,a,c)  outsw_ns(p,a,c)
                    128: #define bus_outsl_ns(b,p,a,c)  outsl_ns(p,a,c)
                    129: 
                    130: #define bus_readb(b,a)         readb(a)
                    131: #define bus_readw(b,a)         readw(a)
                    132: #define bus_readl(b,a)         readl(a)
                    133: #define bus_readw_ns(b,a)      readw_ns(a)
                    134: #define bus_readl_ns(b,a)      readl_ns(a)
                    135: 
                    136: #define bus_writeb(b,v,a)      writeb(v,a)
                    137: #define bus_writew(b,v,a)      writew(v,a)
                    138: #define bus_writel(b,v,a)      writel(v,a)
                    139: #define bus_writew_ns(b,v,a)   writew_ns(v,a)
                    140: #define bus_writel_ns(b,v,a)   writel_ns(v,a)
                    141: 
                    142: #define bus_ioremap(b,s,n)     ioremap(s,n)
                    143: #define bus_iounmap(b,a)       iounmap(a)
                    144: #define bus_memcpy_fromio(b,d,s,n) memcpy_fromio(d,s,n)
                    145: #define bus_memcpy_toio(b,d,s,n) memcpy_toio(d,s,n)
                    146: 
                    147: #ifdef CONFIG_8xx
                    148: #define bus_request_irq(b,i,h,f,n,d) request_8xxirq((i),(h),(f),(n),(d))
                    149: #else
                    150: #define bus_request_irq(b,i,h,f,n,d) request_irq((i),(h),(f),(n),(d))
                    151: #endif
                    152: 
                    153: #define bus_free_irq(b,i,d)    free_irq((i),(d))
                    154: 
                    155: #endif /* CONFIG_VIRTUAL_BUS */
                    156: 
                    157: #endif /* _LINUX_BUS_OPS_H */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.