2003-09-02 05:36:25 +02:00
|
|
|
#ifndef DEVICE_PATH_H
|
|
|
|
#define DEVICE_PATH_H
|
|
|
|
|
|
|
|
enum device_path_type {
|
|
|
|
DEVICE_PATH_NONE = 0,
|
2003-10-11 08:20:25 +02:00
|
|
|
DEVICE_PATH_ROOT,
|
2003-09-02 05:36:25 +02:00
|
|
|
DEVICE_PATH_PCI,
|
|
|
|
DEVICE_PATH_PNP,
|
|
|
|
DEVICE_PATH_I2C,
|
2004-10-14 22:54:17 +02:00
|
|
|
DEVICE_PATH_APIC,
|
2004-10-16 04:48:37 +02:00
|
|
|
DEVICE_PATH_PCI_DOMAIN,
|
2004-10-16 08:20:29 +02:00
|
|
|
DEVICE_PATH_APIC_CLUSTER,
|
2004-11-18 23:38:08 +01:00
|
|
|
DEVICE_PATH_CPU,
|
|
|
|
DEVICE_PATH_CPU_BUS,
|
2004-10-16 04:48:37 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
struct pci_domain_path
|
|
|
|
{
|
|
|
|
unsigned domain;
|
2003-09-02 05:36:25 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
struct pci_path
|
|
|
|
{
|
|
|
|
unsigned devfn;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct pnp_path
|
|
|
|
{
|
|
|
|
unsigned port;
|
|
|
|
unsigned device;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct i2c_path
|
|
|
|
{
|
|
|
|
unsigned device;
|
|
|
|
};
|
|
|
|
|
2004-10-14 22:54:17 +02:00
|
|
|
struct apic_path
|
|
|
|
{
|
|
|
|
unsigned apic_id;
|
|
|
|
};
|
|
|
|
|
2004-10-16 04:48:37 +02:00
|
|
|
struct apic_cluster_path
|
|
|
|
{
|
|
|
|
unsigned cluster;
|
|
|
|
};
|
|
|
|
|
2004-11-18 23:38:08 +01:00
|
|
|
struct cpu_path
|
|
|
|
{
|
|
|
|
unsigned id;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct cpu_bus_path
|
|
|
|
{
|
|
|
|
unsigned id;
|
|
|
|
};
|
|
|
|
|
2004-10-16 04:48:37 +02:00
|
|
|
|
2003-09-02 05:36:25 +02:00
|
|
|
struct device_path {
|
|
|
|
enum device_path_type type;
|
|
|
|
union {
|
2004-11-18 23:38:08 +01:00
|
|
|
struct pci_path pci;
|
|
|
|
struct pnp_path pnp;
|
|
|
|
struct i2c_path i2c;
|
|
|
|
struct apic_path apic;
|
|
|
|
struct pci_domain_path pci_domain;
|
2004-10-16 04:48:37 +02:00
|
|
|
struct apic_cluster_path apic_cluster;
|
2004-11-18 23:38:08 +01:00
|
|
|
struct cpu_path cpu;
|
|
|
|
struct cpu_bus_path cpu_bus;
|
2003-09-02 05:36:25 +02:00
|
|
|
} u;
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
#define DEVICE_PATH_MAX 30
|
|
|
|
|
|
|
|
extern int path_eq(struct device_path *path1, struct device_path *path2);
|
|
|
|
|
|
|
|
#endif /* DEVICE_PATH_H */
|