blob: ff8f65b04574d6a3ac29b3ca6d0050d2971c732b [file] [log] [blame]
Yinghai Lu284f9332010-02-10 01:20:12 -08001#ifndef __BUS_NUMA_H
2#define __BUS_NUMA_H
Yinghai Lu99935a72009-10-04 21:54:24 -07003/*
4 * sub bus (transparent) will use entres from 3 to store extra from
Bjorn Helgaas2fe2abf2010-02-23 10:24:36 -07005 * root, so need to make sure we have enough slot there.
Yinghai Lu99935a72009-10-04 21:54:24 -07006 */
Yinghai Lud28e5ac2012-04-02 18:31:54 -07007struct pci_root_res {
8 struct list_head list;
9 struct resource res;
10};
11
Yinghai Lu99935a72009-10-04 21:54:24 -070012struct pci_root_info {
Yinghai Lud28e5ac2012-04-02 18:31:54 -070013 struct list_head list;
Yinghai Lu99935a72009-10-04 21:54:24 -070014 char name[12];
Yinghai Lud28e5ac2012-04-02 18:31:54 -070015 struct list_head resources;
Yinghai Lua10bb122012-05-17 18:51:12 -070016 struct resource busn;
Yinghai Lu99935a72009-10-04 21:54:24 -070017 int node;
18 int link;
19};
20
Yinghai Lud28e5ac2012-04-02 18:31:54 -070021extern struct list_head pci_root_infos;
22struct pci_root_info *alloc_pci_root_info(int bus_min, int bus_max,
23 int node, int link);
Yinghai Lub74fd232010-02-10 01:20:08 -080024extern void update_res(struct pci_root_info *info, resource_size_t start,
25 resource_size_t end, unsigned long flags, int merge);
Yinghai Lu99935a72009-10-04 21:54:24 -070026#endif