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

Subversion Repositories test_project

[/] [test_project/] [trunk/] [linux_sd_driver/] [drivers/] [pci/] [hotplug/] [rpaphp.h] - Blame information for rev 62

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 62 marcus.erl
/*
2
 * PCI Hot Plug Controller Driver for RPA-compliant PPC64 platform.
3
 *
4
 * Copyright (C) 2003 Linda Xie <lxie@us.ibm.com>
5
 *
6
 * All rights reserved.
7
 *
8
 * This program is free software; you can redistribute it and/or modify
9
 * it under the terms of the GNU General Public License as published by
10
 * the Free Software Foundation; either version 2 of the License, or (at
11
 * your option) any later version.
12
 *
13
 * This program is distributed in the hope that it will be useful, but
14
 * WITHOUT ANY WARRANTY; without even the implied warranty of
15
 * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or
16
 * NON INFRINGEMENT.  See the GNU General Public License for more
17
 * details.
18
 *
19
 * You should have received a copy of the GNU General Public License
20
 * along with this program; if not, write to the Free Software
21
 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
22
 *
23
 * Send feedback to <lxie@us.ibm.com>,
24
 *
25
 */
26
 
27
#ifndef _PPC64PHP_H
28
#define _PPC64PHP_H
29
 
30
#include <linux/pci.h>
31
#include <linux/pci_hotplug.h>
32
 
33
#define DR_INDICATOR 9002
34
#define DR_ENTITY_SENSE 9003
35
 
36
#define POWER_ON        100
37
#define POWER_OFF       0
38
 
39
#define LED_OFF         0
40
#define LED_ON          1       /* continuous on */
41
#define LED_ID          2       /* slow blinking */
42
#define LED_ACTION      3       /* fast blinking */
43
 
44
/* Sensor values from rtas_get-sensor */
45
#define EMPTY           0       /* No card in slot */
46
#define PRESENT         1       /* Card in slot */
47
 
48
#define MY_NAME "rpaphp"
49
extern int debug;
50
#define dbg(format, arg...)                                     \
51
        do {                                                    \
52
                if (debug)                                      \
53
                        printk(KERN_DEBUG "%s: " format,        \
54
                                MY_NAME , ## arg);              \
55
        } while (0)
56
#define err(format, arg...) printk(KERN_ERR "%s: " format, MY_NAME , ## arg)
57
#define info(format, arg...) printk(KERN_INFO "%s: " format, MY_NAME , ## arg)
58
#define warn(format, arg...) printk(KERN_WARNING "%s: " format, MY_NAME , ## arg)
59
 
60
/* slot states */
61
 
62
#define NOT_VALID       3
63
#define NOT_CONFIGURED  2
64
#define CONFIGURED      1
65
#define EMPTY           0
66
 
67
/*
68
 * struct slot - slot information for each *physical* slot
69
 */
70
struct slot {
71
        struct list_head rpaphp_slot_list;
72
        int state;
73
        u32 index;
74
        u32 type;
75
        u32 power_domain;
76
        char *name;
77
        char *location;
78
        struct device_node *dn;
79
        struct pci_bus *bus;
80
        struct list_head *pci_devs;
81
        struct hotplug_slot *hotplug_slot;
82
};
83
 
84
extern struct hotplug_slot_ops rpaphp_hotplug_slot_ops;
85
extern struct list_head rpaphp_slot_head;
86
 
87
/* function prototypes */
88
 
89
/* rpaphp_pci.c */
90
extern int rpaphp_enable_slot(struct slot *slot);
91
extern int rpaphp_get_sensor_state(struct slot *slot, int *state);
92
 
93
/* rpaphp_core.c */
94
extern int rpaphp_add_slot(struct device_node *dn);
95
extern int rpaphp_get_drc_props(struct device_node *dn, int *drc_index,
96
                char **drc_name, char **drc_type, int *drc_power_domain);
97
 
98
/* rpaphp_slot.c */
99
extern void dealloc_slot_struct(struct slot *slot);
100
extern struct slot *alloc_slot_struct(struct device_node *dn, int drc_index, char *drc_name, int power_domain);
101
extern int rpaphp_register_slot(struct slot *slot);
102
extern int rpaphp_deregister_slot(struct slot *slot);
103
 
104
#endif                          /* _PPC64PHP_H */

powered by: WebSVN 2.1.0

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