[POWERPC] Remove old interface find_path_device
Replaced by of_find_node_by_path. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
Родитель
112466b4d0
Коммит
8c8dc32248
|
@ -321,7 +321,7 @@ static int pseries_lparcfg_data(struct seq_file *m, void *v)
|
|||
struct device_node *rtas_node;
|
||||
const int *lrdrp = NULL;
|
||||
|
||||
rtas_node = find_path_device("/rtas");
|
||||
rtas_node = of_find_node_by_path("/rtas");
|
||||
if (rtas_node)
|
||||
lrdrp = of_get_property(rtas_node, "ibm,lrdr-capacity", NULL);
|
||||
|
||||
|
@ -330,6 +330,7 @@ static int pseries_lparcfg_data(struct seq_file *m, void *v)
|
|||
} else {
|
||||
partition_potential_processors = *(lrdrp + 4);
|
||||
}
|
||||
of_node_put(rtas_node);
|
||||
|
||||
partition_active_processors = lparcfg_count_active_processors();
|
||||
|
||||
|
@ -537,7 +538,7 @@ static int lparcfg_data(struct seq_file *m, void *v)
|
|||
|
||||
seq_printf(m, "%s %s \n", MODULE_NAME, MODULE_VERS);
|
||||
|
||||
rootdn = find_path_device("/");
|
||||
rootdn = of_find_node_by_path("/");
|
||||
if (rootdn) {
|
||||
tmp = of_get_property(rootdn, "model", NULL);
|
||||
if (tmp) {
|
||||
|
@ -557,6 +558,7 @@ static int lparcfg_data(struct seq_file *m, void *v)
|
|||
NULL);
|
||||
if (lp_index_ptr)
|
||||
lp_index = *lp_index_ptr;
|
||||
of_node_put(rootdn);
|
||||
}
|
||||
seq_printf(m, "serial_number=%s\n", system_id);
|
||||
seq_printf(m, "system_type=%s\n", model);
|
||||
|
|
|
@ -669,6 +669,7 @@ pcibios_make_OF_bus_map(void)
|
|||
int i;
|
||||
struct pci_controller* hose;
|
||||
struct property *map_prop;
|
||||
struct device_node *dn;
|
||||
|
||||
pci_to_OF_bus_map = kmalloc(pci_bus_count, GFP_KERNEL);
|
||||
if (!pci_to_OF_bus_map) {
|
||||
|
@ -690,12 +691,13 @@ pcibios_make_OF_bus_map(void)
|
|||
continue;
|
||||
make_one_node_map(node, hose->first_busno);
|
||||
}
|
||||
map_prop = of_find_property(find_path_device("/"),
|
||||
"pci-OF-bus-map", NULL);
|
||||
dn = of_find_node_by_path("/");
|
||||
map_prop = of_find_property(dn, "pci-OF-bus-map", NULL);
|
||||
if (map_prop) {
|
||||
BUG_ON(pci_bus_count > map_prop->length);
|
||||
memcpy(map_prop->value, pci_to_OF_bus_map, pci_bus_count);
|
||||
}
|
||||
of_node_put(dn);
|
||||
#ifdef DEBUG
|
||||
printk("PCI->OF bus map:\n");
|
||||
for (i=0; i<pci_bus_count; i++) {
|
||||
|
@ -1006,14 +1008,19 @@ void __init
|
|||
pci_create_OF_bus_map(void)
|
||||
{
|
||||
struct property* of_prop;
|
||||
struct device_node *dn;
|
||||
|
||||
of_prop = (struct property*) alloc_bootmem(sizeof(struct property) + 256);
|
||||
if (of_prop && find_path_device("/")) {
|
||||
if (!of_prop)
|
||||
return;
|
||||
dn = of_find_node_by_path("/");
|
||||
if (dn) {
|
||||
memset(of_prop, -1, sizeof(struct property) + 256);
|
||||
of_prop->name = "pci-OF-bus-map";
|
||||
of_prop->length = 256;
|
||||
of_prop->value = &of_prop[1];
|
||||
prom_add_property(find_path_device("/"), of_prop);
|
||||
prom_add_property(dn, of_prop);
|
||||
of_node_put(dn);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1153,20 +1153,6 @@ int machine_is_compatible(const char *compat)
|
|||
}
|
||||
EXPORT_SYMBOL(machine_is_compatible);
|
||||
|
||||
/**
|
||||
* Find the device_node with a given full_name.
|
||||
*/
|
||||
struct device_node *find_path_device(const char *path)
|
||||
{
|
||||
struct device_node *np;
|
||||
|
||||
for (np = allnodes; np != 0; np = np->allnext)
|
||||
if (np->full_name != 0 && strcasecmp(np->full_name, path) == 0)
|
||||
return np;
|
||||
return NULL;
|
||||
}
|
||||
EXPORT_SYMBOL(find_path_device);
|
||||
|
||||
/*******
|
||||
*
|
||||
* New implementation of the OF "find" APIs, return a refcounted
|
||||
|
|
|
@ -192,7 +192,7 @@ void rtas_progress(char *s, unsigned short hex)
|
|||
|
||||
if (display_width == 0) {
|
||||
display_width = 0x10;
|
||||
if ((root = find_path_device("/rtas"))) {
|
||||
if ((root = of_find_node_by_path("/rtas"))) {
|
||||
if ((p = of_get_property(root,
|
||||
"ibm,display-line-length", NULL)))
|
||||
display_width = *p;
|
||||
|
@ -204,6 +204,7 @@ void rtas_progress(char *s, unsigned short hex)
|
|||
display_lines = *p;
|
||||
row_width = of_get_property(root,
|
||||
"ibm,display-truncation-length", NULL);
|
||||
of_node_put(root);
|
||||
}
|
||||
display_character = rtas_token("display-character");
|
||||
set_indicator = rtas_token("set-indicator");
|
||||
|
|
|
@ -66,7 +66,7 @@ static int __init smt_setup(void)
|
|||
if (!cpu_has_feature(CPU_FTR_SMT))
|
||||
return -ENODEV;
|
||||
|
||||
options = find_path_device("/options");
|
||||
options = of_find_node_by_path("/options");
|
||||
if (!options)
|
||||
return -ENODEV;
|
||||
|
||||
|
@ -76,6 +76,7 @@ static int __init smt_setup(void)
|
|||
per_cpu(smt_snooze_delay, cpu) = *val;
|
||||
}
|
||||
|
||||
of_node_put(options);
|
||||
return 0;
|
||||
}
|
||||
__initcall(smt_setup);
|
||||
|
|
|
@ -185,10 +185,9 @@ setup_python(struct pci_controller *hose, struct device_node *dev)
|
|||
/* Marvell Discovery II based Pegasos 2 */
|
||||
static void __init setup_peg2(struct pci_controller *hose, struct device_node *dev)
|
||||
{
|
||||
struct device_node *root = find_path_device("/");
|
||||
struct device_node *root = of_find_node_by_path("/");
|
||||
struct device_node *rtas;
|
||||
|
||||
of_node_get(root);
|
||||
rtas = of_find_node_by_name (root, "rtas");
|
||||
if (rtas) {
|
||||
hose->ops = &rtas_pci_ops;
|
||||
|
@ -198,6 +197,7 @@ static void __init setup_peg2(struct pci_controller *hose, struct device_node *d
|
|||
" your firmware\n");
|
||||
}
|
||||
pci_assign_all_buses = 1;
|
||||
/* keep the reference to the root node */
|
||||
}
|
||||
|
||||
void __init
|
||||
|
@ -210,7 +210,7 @@ chrp_find_bridges(void)
|
|||
const unsigned int *dma;
|
||||
const char *model, *machine;
|
||||
int is_longtrail = 0, is_mot = 0, is_pegasos = 0;
|
||||
struct device_node *root = find_path_device("/");
|
||||
struct device_node *root = of_find_node_by_path("/");
|
||||
struct resource r;
|
||||
/*
|
||||
* The PCI host bridge nodes on some machines don't have
|
||||
|
@ -309,6 +309,7 @@ chrp_find_bridges(void)
|
|||
printk("pci_dram_offset = %lx\n", pci_dram_offset);
|
||||
}
|
||||
}
|
||||
of_node_put(root);
|
||||
}
|
||||
|
||||
/* SL82C105 IDE Control/Status Register */
|
||||
|
|
|
@ -110,7 +110,7 @@ void chrp_show_cpuinfo(struct seq_file *m)
|
|||
struct device_node *root;
|
||||
const char *model = "";
|
||||
|
||||
root = find_path_device("/");
|
||||
root = of_find_node_by_path("/");
|
||||
if (root)
|
||||
model = of_get_property(root, "model", NULL);
|
||||
seq_printf(m, "machine\t\t: CHRP %s\n", model);
|
||||
|
@ -160,6 +160,7 @@ void chrp_show_cpuinfo(struct seq_file *m)
|
|||
gg2_cachetypes[(t>>2) & 3],
|
||||
gg2_cachemodes[t & 3]);
|
||||
}
|
||||
of_node_put(root);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -204,7 +205,7 @@ static void __init sio_init(void)
|
|||
{
|
||||
struct device_node *root;
|
||||
|
||||
if ((root = find_path_device("/")) &&
|
||||
if ((root = of_find_node_by_path("/")) &&
|
||||
!strncmp(of_get_property(root, "model", NULL),
|
||||
"IBM,LongTrail", 13)) {
|
||||
/* logical device 0 (KBC/Keyboard) */
|
||||
|
@ -212,6 +213,7 @@ static void __init sio_init(void)
|
|||
/* select logical device 1 (KBC/Mouse) */
|
||||
sio_fixup_irq("mouse", 1, 12, 2);
|
||||
}
|
||||
of_node_put(root);
|
||||
}
|
||||
|
||||
|
||||
|
@ -250,7 +252,7 @@ static void briq_restart(char *cmd)
|
|||
|
||||
void __init chrp_setup_arch(void)
|
||||
{
|
||||
struct device_node *root = find_path_device ("/");
|
||||
struct device_node *root = of_find_node_by_path("/");
|
||||
const char *machine = NULL;
|
||||
|
||||
/* init to some ~sane value until calibrate_delay() runs */
|
||||
|
@ -273,6 +275,7 @@ void __init chrp_setup_arch(void)
|
|||
/* Let's assume it is an IBM chrp if all else fails */
|
||||
_chrp_type = _CHRP_IBM;
|
||||
}
|
||||
of_node_put(root);
|
||||
printk("chrp type = %x [%s]\n", _chrp_type, chrp_names[_chrp_type]);
|
||||
|
||||
rtas_initialize();
|
||||
|
|
|
@ -1044,6 +1044,7 @@ core99_reset_cpu(struct device_node *node, long param, long value)
|
|||
unsigned long flags;
|
||||
struct macio_chip *macio;
|
||||
struct device_node *np;
|
||||
struct device_node *cpus;
|
||||
const int dflt_reset_lines[] = { KL_GPIO_RESET_CPU0,
|
||||
KL_GPIO_RESET_CPU1,
|
||||
KL_GPIO_RESET_CPU2,
|
||||
|
@ -1053,10 +1054,10 @@ core99_reset_cpu(struct device_node *node, long param, long value)
|
|||
if (macio->type != macio_keylargo)
|
||||
return -ENODEV;
|
||||
|
||||
np = find_path_device("/cpus");
|
||||
if (np == NULL)
|
||||
cpus = of_find_node_by_path("/cpus");
|
||||
if (cpus == NULL)
|
||||
return -ENODEV;
|
||||
for (np = np->child; np != NULL; np = np->sibling) {
|
||||
for (np = cpus->child; np != NULL; np = np->sibling) {
|
||||
const u32 *num = of_get_property(np, "reg", NULL);
|
||||
const u32 *rst = of_get_property(np, "soft-reset", NULL);
|
||||
if (num == NULL || rst == NULL)
|
||||
|
@ -1066,6 +1067,7 @@ core99_reset_cpu(struct device_node *node, long param, long value)
|
|||
break;
|
||||
}
|
||||
}
|
||||
of_node_put(cpus);
|
||||
if (np == NULL || reset_io == 0)
|
||||
reset_io = dflt_reset_lines[param];
|
||||
|
||||
|
@ -1497,15 +1499,16 @@ static long g5_reset_cpu(struct device_node *node, long param, long value)
|
|||
unsigned long flags;
|
||||
struct macio_chip *macio;
|
||||
struct device_node *np;
|
||||
struct device_node *cpus;
|
||||
|
||||
macio = &macio_chips[0];
|
||||
if (macio->type != macio_keylargo2 && macio->type != macio_shasta)
|
||||
return -ENODEV;
|
||||
|
||||
np = find_path_device("/cpus");
|
||||
if (np == NULL)
|
||||
cpus = of_find_node_by_path("/cpus");
|
||||
if (cpus == NULL)
|
||||
return -ENODEV;
|
||||
for (np = np->child; np != NULL; np = np->sibling) {
|
||||
for (np = cpus->child; np != NULL; np = np->sibling) {
|
||||
const u32 *num = of_get_property(np, "reg", NULL);
|
||||
const u32 *rst = of_get_property(np, "soft-reset", NULL);
|
||||
if (num == NULL || rst == NULL)
|
||||
|
@ -1515,6 +1518,7 @@ static long g5_reset_cpu(struct device_node *node, long param, long value)
|
|||
break;
|
||||
}
|
||||
}
|
||||
of_node_put(cpus);
|
||||
if (np == NULL || reset_io == 0)
|
||||
return -ENODEV;
|
||||
|
||||
|
@ -2499,18 +2503,26 @@ found:
|
|||
* that all Apple OF revs did it properly, I do it the paranoid way.
|
||||
*/
|
||||
while (uninorth_base && uninorth_rev > 3) {
|
||||
struct device_node *np = find_path_device("/cpus");
|
||||
if (!np || !np->child) {
|
||||
struct device_node *cpus = of_find_node_by_path("/cpus");
|
||||
struct device_node *np;
|
||||
|
||||
if (!cpus || !cpus->child) {
|
||||
printk(KERN_WARNING "Can't find CPU(s) in device tree !\n");
|
||||
of_node_put(cpus);
|
||||
break;
|
||||
}
|
||||
np = np->child;
|
||||
np = cpus->child;
|
||||
/* Nap mode not supported on SMP */
|
||||
if (np->sibling)
|
||||
if (np->sibling) {
|
||||
of_node_put(cpus);
|
||||
break;
|
||||
}
|
||||
/* Nap mode not supported if flush-on-lock property is present */
|
||||
if (of_get_property(np, "flush-on-lock", NULL))
|
||||
if (of_get_property(np, "flush-on-lock", NULL)) {
|
||||
of_node_put(cpus);
|
||||
break;
|
||||
}
|
||||
of_node_put(cpus);
|
||||
powersave_nap = 1;
|
||||
printk(KERN_DEBUG "Processor NAP mode on idle enabled.\n");
|
||||
break;
|
||||
|
|
|
@ -202,13 +202,16 @@ static struct miscdevice briq_panel_miscdev = {
|
|||
|
||||
static int __init briq_panel_init(void)
|
||||
{
|
||||
struct device_node *root = find_path_device("/");
|
||||
struct device_node *root = of_find_node_by_path("/");
|
||||
const char *machine;
|
||||
int i;
|
||||
|
||||
machine = of_get_property(root, "model", NULL);
|
||||
if (!machine || strncmp(machine, "TotalImpact,BRIQ-1", 18) != 0)
|
||||
if (!machine || strncmp(machine, "TotalImpact,BRIQ-1", 18) != 0) {
|
||||
of_node_put(root);
|
||||
return -ENODEV;
|
||||
}
|
||||
of_node_put(root);
|
||||
|
||||
printk(KERN_INFO
|
||||
"briq_panel: v%s Dr. Karsten Jeppesen (kj@totalimpact.com)\n",
|
||||
|
|
|
@ -899,7 +899,7 @@ static int get_system_info(void)
|
|||
const char *id, *model, *name;
|
||||
const unsigned int *num;
|
||||
|
||||
rootdn = find_path_device("/");
|
||||
rootdn = of_find_node_by_path("/");
|
||||
if (!rootdn)
|
||||
return -ENOENT;
|
||||
|
||||
|
@ -916,6 +916,7 @@ static int get_system_info(void)
|
|||
if (num)
|
||||
partition_number = *num;
|
||||
|
||||
of_node_put(rootdn);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -157,7 +157,7 @@ static void gather_partition_info(void)
|
|||
const unsigned int *p_number_ptr;
|
||||
|
||||
/* Retrieve information about this partition */
|
||||
rootdn = find_path_device("/");
|
||||
rootdn = of_find_node_by_path("/");
|
||||
if (!rootdn) {
|
||||
return;
|
||||
}
|
||||
|
@ -169,6 +169,7 @@ static void gather_partition_info(void)
|
|||
p_number_ptr = of_get_property(rootdn, "ibm,partition-no", NULL);
|
||||
if (p_number_ptr)
|
||||
partition_number = *p_number_ptr;
|
||||
of_node_put(rootdn);
|
||||
}
|
||||
|
||||
static void set_adapter_info(struct ibmvscsi_host_data *hostdata)
|
||||
|
|
|
@ -115,7 +115,6 @@ static inline void set_node_proc_entry(struct device_node *dn, struct proc_dir_e
|
|||
/* OBSOLETE: Old style node lookup */
|
||||
extern struct device_node *find_devices(const char *name);
|
||||
extern struct device_node *find_type_devices(const char *type);
|
||||
extern struct device_node *find_path_device(const char *path);
|
||||
|
||||
/* New style node lookup */
|
||||
extern struct device_node *of_find_node_by_name(struct device_node *from,
|
||||
|
|
Загрузка…
Ссылка в новой задаче