summaryrefslogtreecommitdiffstats
path: root/arch/mips/alchemy/common/platform.c
diff options
context:
space:
mode:
authorBrian Norris <computersforpeace@gmail.com>2014-08-19 11:57:23 -0700
committerBrian Norris <computersforpeace@gmail.com>2014-08-19 11:57:23 -0700
commit5b49ab3e03f68eb49db4bce6290e5707b7f6c6f3 (patch)
tree090c7c069bc6c0f2b368ed8d0af861c275525411 /arch/mips/alchemy/common/platform.c
parentb25046b1e5e3f1423434da77ccc859f2f779d1ce (diff)
parent54ea17a597b00e46b3720e75dd7595cd5dfa5670 (diff)
downloadlinux-stable-5b49ab3e03f68eb49db4bce6290e5707b7f6c6f3.tar.gz
linux-stable-5b49ab3e03f68eb49db4bce6290e5707b7f6c6f3.tar.bz2
linux-stable-5b49ab3e03f68eb49db4bce6290e5707b7f6c6f3.zip
Merge l2-mtd/next into l2-mtd/master
Diffstat (limited to 'arch/mips/alchemy/common/platform.c')
-rw-r--r--arch/mips/alchemy/common/platform.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/arch/mips/alchemy/common/platform.c b/arch/mips/alchemy/common/platform.c
index 9837a134a6d6..d77a64f4c78b 100644
--- a/arch/mips/alchemy/common/platform.c
+++ b/arch/mips/alchemy/common/platform.c
@@ -11,6 +11,7 @@
* warranty of any kind, whether express or implied.
*/
+#include <linux/clk.h>
#include <linux/dma-mapping.h>
#include <linux/etherdevice.h>
#include <linux/init.h>
@@ -99,10 +100,20 @@ static struct platform_device au1xx0_uart_device = {
static void __init alchemy_setup_uarts(int ctype)
{
- unsigned int uartclk = get_au1x00_uart_baud_base() * 16;
+ long uartclk;
int s = sizeof(struct plat_serial8250_port);
int c = alchemy_get_uarts(ctype);
struct plat_serial8250_port *ports;
+ struct clk *clk = clk_get(NULL, ALCHEMY_PERIPH_CLK);
+
+ if (IS_ERR(clk))
+ return;
+ if (clk_prepare_enable(clk)) {
+ clk_put(clk);
+ return;
+ }
+ uartclk = clk_get_rate(clk);
+ clk_put(clk);
ports = kzalloc(s * (c + 1), GFP_KERNEL);
if (!ports) {
@@ -420,7 +431,7 @@ static void __init alchemy_setup_macs(int ctype)
memcpy(au1xxx_eth1_platform_data.mac, ethaddr, 6);
/* Register second MAC if enabled in pinfunc */
- if (!(au_readl(SYS_PINFUNC) & (u32)SYS_PF_NI2)) {
+ if (!(alchemy_rdsys(AU1000_SYS_PINFUNC) & SYS_PF_NI2)) {
ret = platform_device_register(&au1xxx_eth1_device);
if (ret)
printk(KERN_INFO "Alchemy: failed to register MAC1\n");