OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [include/] [pcmcia/] [driver_ops.h] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
/*
2
 * driver_ops.h 1.15 2000/06/12 21:55:40
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
 * <dahinds@users.sourceforge.net>.  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 which
20
 * 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_DRIVER_OPS_H
31
#define _LINUX_DRIVER_OPS_H
32
 
33
#ifndef DEV_NAME_LEN
34
#define DEV_NAME_LEN    32
35
#endif
36
 
37
#ifdef __KERNEL__
38
 
39
typedef struct dev_node_t {
40
    char                dev_name[DEV_NAME_LEN];
41
    u_short             major, minor;
42
    struct dev_node_t   *next;
43
} dev_node_t;
44
 
45
typedef struct dev_locator_t {
46
    enum { LOC_ISA, LOC_PCI } bus;
47
    union {
48
        struct {
49
            u_short     io_base_1, io_base_2;
50
            u_long      mem_base;
51
            u_char      irq, dma;
52
        } isa;
53
        struct {
54
            u_char      bus;
55
            u_char      devfn;
56
        } pci;
57
    } b;
58
} dev_locator_t;
59
 
60
typedef struct driver_operations {
61
    char                *name;
62
    dev_node_t          *(*attach) (dev_locator_t *loc);
63
    void                (*suspend) (dev_node_t *dev);
64
    void                (*resume) (dev_node_t *dev);
65
    void                (*detach) (dev_node_t *dev);
66
} driver_operations;
67
 
68
int register_driver(struct driver_operations *ops);
69
void unregister_driver(struct driver_operations *ops);
70
 
71
#endif /* __KERNEL__ */
72
 
73
#endif /* _LINUX_DRIVER_OPS_H */

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.