Re: linux-next: sparc tree build failure

David Miller
2009-11-05T07:59:48Z

From: David Miller <davem@davemloft.net>
Date: Wed, 04 Nov 2009 23:53:15 -0800 (PST)

> From: Stephen Rothwell <sfr@canb.auug.org.au>
> Date: Thu, 5 Nov 2009 18:50:14 +1100
>
>> Caused by commit d4ac42a582e46d7f86f0acb4253a310423c72c4c ("sparc:
>> Support for GRLIB APBUART serial port"). I added the following patch for
>> today.
>
> Thanks, the real fix is to simply remove that include, it isn't
> actually needed and the CONFIG_OF dependency is sufficient.

Hmm, it took a tiny bit more than that :-) Here's what I commited
to fix this, thanks.

apbuart: Kill dependency on deprecated Sparc-only PROM interfaces.

Use the proper modern OF ones instead.

Noticed by Stephen Rothwell.

Signed-off-by: David S. Miller <davem@davemloft.net>
---
drivers/serial/apbuart.c | 12 ++++++------
1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/serial/apbuart.c b/drivers/serial/apbuart.c
index c7883a3..5f9dec3 100644
--- a/drivers/serial/apbuart.c
+++ b/drivers/serial/apbuart.c
@@ -29,7 +29,6 @@
#include <linux/io.h>
#include <linux/serial_core.h>
#include <asm/irq.h>
-#include <asm/oplib.h>

#include "apbuart.h"

@@ -596,10 +595,9 @@ static struct of_platform_driver grlib_apbuart_of_driver = {
static void grlib_apbuart_configure(void)
{
static int enum_done;
- struct device_node *np;
+ struct device_node *np, *rp;
struct uart_port *port = NULL;
-
- int node;
+ const u32 *prop;
int freq_khz;
int v = 0, d = 0;
unsigned int addr;
@@ -610,8 +608,10 @@ static void grlib_apbuart_configure(void)
return;

/* Get bus frequency */
- node = prom_getchild(prom_root_node);
- freq_khz = prom_getint(node, "clock-frequency");
+ rp = of_find_node_by_name(NULL, "/");
+ rp = of_get_next_child(rp, NULL);
+ prop = of_get_property(rp, "clock-frequency", NULL);
+ freq_khz = *prop;

line = 0;
for_each_matching_node(np, apbuart_match) {
--
1.6.5.2