mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-03-16 12:14:06 +00:00
clocksource/drivers/timer-ti-dm: Use of_address_to_resource()
Replace of_get_address() and of_translate_address() calls with single call to of_address_to_resource(). Signed-off-by: Rob Herring <robh@kernel.org> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> Link: https://lore.kernel.org/r/20230319163220.226273-1-robh@kernel.org
This commit is contained in:
parent
f68a40ee47
commit
0fabf9f3a0
1 changed files with 24 additions and 27 deletions
|
@ -251,24 +251,22 @@ static void __init dmtimer_systimer_assign_alwon(void)
|
|||
counter_32k = -ENODEV;
|
||||
|
||||
for_each_matching_node(np, dmtimer_match_table) {
|
||||
struct resource res;
|
||||
if (!dmtimer_is_preferred(np))
|
||||
continue;
|
||||
|
||||
if (of_property_read_bool(np, "ti,timer-alwon")) {
|
||||
const __be32 *addr;
|
||||
if (!of_property_read_bool(np, "ti,timer-alwon"))
|
||||
continue;
|
||||
|
||||
addr = of_get_address(np, 0, NULL, NULL);
|
||||
pa = of_translate_address(np, addr);
|
||||
if (pa) {
|
||||
/* Quirky omap3 boards must use dmtimer12 */
|
||||
if (quirk_unreliable_oscillator &&
|
||||
pa == 0x48318000)
|
||||
continue;
|
||||
if (of_address_to_resource(np, 0, &res))
|
||||
continue;
|
||||
|
||||
of_node_put(np);
|
||||
break;
|
||||
}
|
||||
}
|
||||
/* Quirky omap3 boards must use dmtimer12 */
|
||||
if (quirk_unreliable_oscillator && res.start == 0x48318000)
|
||||
continue;
|
||||
|
||||
of_node_put(np);
|
||||
break;
|
||||
}
|
||||
|
||||
/* Usually no need for dmtimer clocksource if we have counter32 */
|
||||
|
@ -285,24 +283,22 @@ static void __init dmtimer_systimer_assign_alwon(void)
|
|||
static u32 __init dmtimer_systimer_find_first_available(void)
|
||||
{
|
||||
struct device_node *np;
|
||||
const __be32 *addr;
|
||||
u32 pa = 0;
|
||||
|
||||
for_each_matching_node(np, dmtimer_match_table) {
|
||||
struct resource res;
|
||||
if (!dmtimer_is_preferred(np))
|
||||
continue;
|
||||
|
||||
addr = of_get_address(np, 0, NULL, NULL);
|
||||
pa = of_translate_address(np, addr);
|
||||
if (pa) {
|
||||
if (pa == clocksource || pa == clockevent) {
|
||||
pa = 0;
|
||||
continue;
|
||||
}
|
||||
if (of_address_to_resource(np, 0, &res))
|
||||
continue;
|
||||
|
||||
of_node_put(np);
|
||||
break;
|
||||
}
|
||||
if (res.start == clocksource || res.start == clockevent)
|
||||
continue;
|
||||
|
||||
pa = res.start;
|
||||
of_node_put(np);
|
||||
break;
|
||||
}
|
||||
|
||||
return pa;
|
||||
|
@ -812,7 +808,7 @@ err_out_free:
|
|||
*/
|
||||
static int __init dmtimer_systimer_init(struct device_node *np)
|
||||
{
|
||||
const __be32 *addr;
|
||||
struct resource res;
|
||||
u32 pa;
|
||||
|
||||
/* One time init for the preferred timer configuration */
|
||||
|
@ -826,8 +822,9 @@ static int __init dmtimer_systimer_init(struct device_node *np)
|
|||
return -EINVAL;
|
||||
}
|
||||
|
||||
addr = of_get_address(np, 0, NULL, NULL);
|
||||
pa = of_translate_address(np, addr);
|
||||
|
||||
of_address_to_resource(np, 0, &res);
|
||||
pa = (u32)res.start;
|
||||
if (!pa)
|
||||
return -EINVAL;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue