Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
b71a107c
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
162
Star
36
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
cloud-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
b71a107c
编写于
15年前
作者:
B
Benjamin Herrenschmidt
浏览文件
操作
浏览文件
下载
差异文件
Merge commit 'gcl/merge' into next
Manual merge of: drivers/net/fec_mpc52xx.c
上级
4b337c5f
e7c5a4f2
master
alk-4.19.24
alk-4.19.30
alk-4.19.34
alk-4.19.36
alk-4.19.43
alk-4.19.48
alk-4.19.57
ck-4.19.67
ck-4.19.81
ck-4.19.91
github/fork/deepanshu1422/fix-typo-in-comment
github/fork/haosdent/fix-typo
linux-next
v4.19.91
v4.19.90
v4.19.89
v4.19.88
v4.19.87
v4.19.86
v4.19.85
v4.19.84
v4.19.83
v4.19.82
v4.19.81
v4.19.80
v4.19.79
v4.19.78
v4.19.77
v4.19.76
v4.19.75
v4.19.74
v4.19.73
v4.19.72
v4.19.71
v4.19.70
v4.19.69
v4.19.68
v4.19.67
v4.19.66
v4.19.65
v4.19.64
v4.19.63
v4.19.62
v4.19.61
v4.19.60
v4.19.59
v4.19.58
v4.19.57
v4.19.56
v4.19.55
v4.19.54
v4.19.53
v4.19.52
v4.19.51
v4.19.50
v4.19.49
v4.19.48
v4.19.47
v4.19.46
v4.19.45
v4.19.44
v4.19.43
v4.19.42
v4.19.41
v4.19.40
v4.19.39
v4.19.38
v4.19.37
v4.19.36
v4.19.35
v4.19.34
v4.19.33
v4.19.32
v4.19.31
v4.19.30
v4.19.29
v4.19.28
v4.19.27
v4.19.26
v4.19.25
v4.19.24
v4.19.23
v4.19.22
v4.19.21
v4.19.20
v4.19.19
v4.19.18
v4.19.17
v4.19.16
v4.19.15
v4.19.14
v4.19.13
v4.19.12
v4.19.11
v4.19.10
v4.19.9
v4.19.8
v4.19.7
v4.19.6
v4.19.5
v4.19.4
v4.19.3
v4.19.2
v4.19.1
v4.19
v4.19-rc8
v4.19-rc7
v4.19-rc6
v4.19-rc5
v4.19-rc4
v4.19-rc3
v4.19-rc2
v4.19-rc1
ck-release-21
ck-release-20
ck-release-19.2
ck-release-19.1
ck-release-19
ck-release-18
ck-release-17.2
ck-release-17.1
ck-release-17
ck-release-16
ck-release-15.1
ck-release-15
ck-release-14
ck-release-13.2
ck-release-13
ck-release-12
ck-release-11
ck-release-10
ck-release-9
ck-release-7
alk-release-15
alk-release-14
alk-release-13.2
alk-release-13
alk-release-12
alk-release-11
alk-release-10
alk-release-9
alk-release-7
无相关合并请求
变更
18
隐藏空白更改
内联
并排
Showing
18 changed file
with
91 addition
and
149 deletion
+91
-149
arch/powerpc/boot/dts/pcm030.dts
arch/powerpc/boot/dts/pcm030.dts
+4
-22
arch/powerpc/include/asm/mpc52xx.h
arch/powerpc/include/asm/mpc52xx.h
+1
-1
arch/powerpc/include/asm/mpc5xxx.h
arch/powerpc/include/asm/mpc5xxx.h
+5
-5
arch/powerpc/platforms/512x/clock.c
arch/powerpc/platforms/512x/clock.c
+5
-5
arch/powerpc/platforms/512x/mpc512x.h
arch/powerpc/platforms/512x/mpc512x.h
+0
-1
arch/powerpc/platforms/512x/mpc512x_shared.c
arch/powerpc/platforms/512x/mpc512x_shared.c
+0
-23
arch/powerpc/platforms/52xx/mpc52xx_common.c
arch/powerpc/platforms/52xx/mpc52xx_common.c
+1
-31
arch/powerpc/sysdev/Makefile
arch/powerpc/sysdev/Makefile
+3
-0
arch/powerpc/sysdev/mpc5xxx_clocks.c
arch/powerpc/sysdev/mpc5xxx_clocks.c
+33
-0
drivers/ata/pata_mpc52xx.c
drivers/ata/pata_mpc52xx.c
+1
-1
drivers/i2c/busses/i2c-mpc.c
drivers/i2c/busses/i2c-mpc.c
+1
-1
drivers/net/fec_mpc52xx.c
drivers/net/fec_mpc52xx.c
+1
-1
drivers/net/fec_mpc52xx_phy.c
drivers/net/fec_mpc52xx_phy.c
+1
-1
drivers/serial/mpc52xx_uart.c
drivers/serial/mpc52xx_uart.c
+2
-3
drivers/spi/mpc52xx_psc_spi.c
drivers/spi/mpc52xx_psc_spi.c
+9
-13
drivers/video/xilinxfb.c
drivers/video/xilinxfb.c
+23
-36
drivers/watchdog/mpc5200_wdt.c
drivers/watchdog/mpc5200_wdt.c
+1
-1
include/linux/fsl_devices.h
include/linux/fsl_devices.h
+0
-4
未找到文件。
arch/powerpc/boot/dts/pcm030.dts
浏览文件 @
b71a107c
...
...
@@ -258,34 +258,16 @@
compatible
=
"nxp,pcf8563"
;
reg
=
<
0x51
>;
};
/*
FIXME
:
EEPROM
*/
eeprom
@
52
{
compatible
=
"catalyst,24c32"
;
reg
=
<
0x52
>;
};
};
sram
@
8000
{
compatible
=
"fsl,mpc5200b-sram"
,
"fsl,mpc5200-sram"
;
reg
=
<
0x8000
0x4000
>;
};
/*
This
is
only
an
example
device
to
show
the
usage
of
gpios
.
It
maps
all
available
*
gpios
to
the
"gpio-provider"
device
.
*/
gpio
{
compatible
=
"gpio-provider"
;
/*
mpc52xx
exp
.
con
patchfield
*/
gpios
=
<&
gpio_wkup
0
0
/*
GPIO_WKUP_7
11
d
jp13
-
3
*/
&
gpio_wkup
1
0
/*
GPIO_WKUP_6
14
c
*/
&
gpio_wkup
6
0
/*
PSC2_4
43
c
x5
-
11
*/
&
gpio_simple
2
0
/*
IRDA_1
24
c
x7
-
6
set
GPS_PORT_CONFIG
[
IRDA
]
=
0
*/
&
gpio_simple
3
0
/*
IRDA_0
x8
-
5
set
GPS_PORT_CONFIG
[
IRDA
]
=
0
*/
&
gpt2
0
0
/*
timer2
12
d
x4
-
4
*/
&
gpt3
0
0
/*
timer3
13
d
x6
-
4
*/
&
gpt4
0
0
/*
timer4
61
c
x2
-
16
*/
&
gpt5
0
0
/*
timer5
44
c
x7
-
11
*/
&
gpt6
0
0
/*
timer6
60
c
x8
-
15
*/
&
gpt7
0
0
/*
timer7
36
a
x17
-
9
*/
>;
};
};
pci
@
f0000d00
{
...
...
This diff is collapsed.
Click to expand it.
arch/powerpc/include/asm/mpc52xx.h
浏览文件 @
b71a107c
...
...
@@ -16,6 +16,7 @@
#ifndef __ASSEMBLY__
#include <asm/types.h>
#include <asm/prom.h>
#include <asm/mpc5xxx.h>
#endif
/* __ASSEMBLY__ */
#include <linux/suspend.h>
...
...
@@ -268,7 +269,6 @@ struct mpc52xx_intr {
#ifndef __ASSEMBLY__
/* mpc52xx_common.c */
extern
unsigned
int
mpc52xx_find_ipb_freq
(
struct
device_node
*
node
);
extern
void
mpc5200_setup_xlb_arbiter
(
void
);
extern
void
mpc52xx_declare_of_platform_devices
(
void
);
extern
void
mpc52xx_map_common_devices
(
void
);
...
...
This diff is collapsed.
Click to expand it.
arch/powerpc/include/asm/mpc5
12
x.h
→
arch/powerpc/include/asm/mpc5
xx
x.h
浏览文件 @
b71a107c
...
...
@@ -4,7 +4,7 @@
* Author: John Rigby, <jrigby@freescale.com>, Friday Apr 13 2007
*
* Description:
* MPC5
121
Prototypes and definitions
* MPC5
xxx
Prototypes and definitions
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by
...
...
@@ -13,10 +13,10 @@
*
*/
#ifndef __ASM_POWERPC_MPC5
12
x_H__
#define __ASM_POWERPC_MPC5
12
x_H__
#ifndef __ASM_POWERPC_MPC5
xx
x_H__
#define __ASM_POWERPC_MPC5
xx
x_H__
extern
unsigned
long
mpc5
12x_find_ips_freq
(
struct
device_node
*
node
);
extern
unsigned
long
mpc5
xxx_get_bus_frequency
(
struct
device_node
*
node
);
#endif
/* __ASM_POWERPC_MPC5
12
x_H__ */
#endif
/* __ASM_POWERPC_MPC5
xx
x_H__ */
This diff is collapsed.
Click to expand it.
arch/powerpc/platforms/512x/clock.c
浏览文件 @
b71a107c
...
...
@@ -24,7 +24,7 @@
#include <linux/io.h>
#include <linux/of_platform.h>
#include <asm/mpc5
12
x.h>
#include <asm/mpc5
xx
x.h>
#include <asm/clk_interface.h>
#undef CLK_DEBUG
...
...
@@ -83,13 +83,13 @@ static void dump_clocks(void)
mutex_lock
(
&
clocks_mutex
);
printk
(
KERN_INFO
"CLOCKS:
\n
"
);
list_for_each_entry
(
p
,
&
clocks
,
node
)
{
pr
intk
(
KERN_INFO
" %s
%ld"
,
p
->
name
,
p
->
rate
);
pr
_info
(
" %s=
%ld"
,
p
->
name
,
p
->
rate
);
if
(
p
->
parent
)
pr
intk
(
KERN_INFO
" %s
%ld"
,
p
->
parent
->
name
,
pr
_cont
(
" %s=
%ld"
,
p
->
parent
->
name
,
p
->
parent
->
rate
);
if
(
p
->
flags
&
CLK_HAS_CTRL
)
pr
intk
(
KERN_INFO
" reg/bit
%d/%d"
,
p
->
reg
,
p
->
bit
);
pr
intk
(
"
\n
"
);
pr
_cont
(
" reg/bit=
%d/%d"
,
p
->
reg
,
p
->
bit
);
pr
_cont
(
"
\n
"
);
}
mutex_unlock
(
&
clocks_mutex
);
}
...
...
This diff is collapsed.
Click to expand it.
arch/powerpc/platforms/512x/mpc512x.h
浏览文件 @
b71a107c
...
...
@@ -11,7 +11,6 @@
#ifndef __MPC512X_H__
#define __MPC512X_H__
extern
unsigned
long
mpc512x_find_ips_freq
(
struct
device_node
*
node
);
extern
void
__init
mpc512x_init_IRQ
(
void
);
void
__init
mpc512x_declare_of_platform_devices
(
void
);
#endif
/* __MPC512X_H__ */
This diff is collapsed.
Click to expand it.
arch/powerpc/platforms/512x/mpc512x_shared.c
浏览文件 @
b71a107c
...
...
@@ -24,29 +24,6 @@
#include "mpc512x.h"
unsigned
long
mpc512x_find_ips_freq
(
struct
device_node
*
node
)
{
struct
device_node
*
np
;
const
unsigned
int
*
p_ips_freq
=
NULL
;
of_node_get
(
node
);
while
(
node
)
{
p_ips_freq
=
of_get_property
(
node
,
"bus-frequency"
,
NULL
);
if
(
p_ips_freq
)
break
;
np
=
of_get_parent
(
node
);
of_node_put
(
node
);
node
=
np
;
}
if
(
node
)
of_node_put
(
node
);
return
p_ips_freq
?
*
p_ips_freq
:
0
;
}
EXPORT_SYMBOL
(
mpc512x_find_ips_freq
);
void
__init
mpc512x_init_IRQ
(
void
)
{
struct
device_node
*
np
;
...
...
This diff is collapsed.
Click to expand it.
arch/powerpc/platforms/52xx/mpc52xx_common.c
浏览文件 @
b71a107c
...
...
@@ -47,36 +47,6 @@ static DEFINE_SPINLOCK(mpc52xx_lock);
static
struct
mpc52xx_gpt
__iomem
*
mpc52xx_wdt
;
static
struct
mpc52xx_cdm
__iomem
*
mpc52xx_cdm
;
/**
* mpc52xx_find_ipb_freq - Find the IPB bus frequency for a device
* @node: device node
*
* Returns IPB bus frequency, or 0 if the bus frequency cannot be found.
*/
unsigned
int
mpc52xx_find_ipb_freq
(
struct
device_node
*
node
)
{
struct
device_node
*
np
;
const
unsigned
int
*
p_ipb_freq
=
NULL
;
of_node_get
(
node
);
while
(
node
)
{
p_ipb_freq
=
of_get_property
(
node
,
"bus-frequency"
,
NULL
);
if
(
p_ipb_freq
)
break
;
np
=
of_get_parent
(
node
);
of_node_put
(
node
);
node
=
np
;
}
if
(
node
)
of_node_put
(
node
);
return
p_ipb_freq
?
*
p_ipb_freq
:
0
;
}
EXPORT_SYMBOL
(
mpc52xx_find_ipb_freq
);
/*
* Configure the XLB arbiter settings to match what Linux expects.
*/
...
...
@@ -221,7 +191,7 @@ unsigned int mpc52xx_get_xtal_freq(struct device_node *node)
if
(
!
mpc52xx_cdm
)
return
0
;
freq
=
mpc5
2xx_find_ipb_freq
(
node
);
freq
=
mpc5
xxx_get_bus_frequency
(
node
);
if
(
!
freq
)
return
0
;
...
...
This diff is collapsed.
Click to expand it.
arch/powerpc/sysdev/Makefile
浏览文件 @
b71a107c
...
...
@@ -50,6 +50,9 @@ obj-$(CONFIG_PPC_DCR) += dcr.o
obj-$(CONFIG_8xx)
+=
mpc8xx_pic.o cpm1.o
obj-$(CONFIG_UCODE_PATCH)
+=
micropatch.o
obj-$(CONFIG_PPC_MPC512x)
+=
mpc5xxx_clocks.o
obj-$(CONFIG_PPC_MPC52xx)
+=
mpc5xxx_clocks.o
ifeq
($(CONFIG_SUSPEND),y)
obj-$(CONFIG_6xx)
+=
6xx-suspend.o
endif
This diff is collapsed.
Click to expand it.
arch/powerpc/sysdev/mpc5xxx_clocks.c
0 → 100644
浏览文件 @
b71a107c
/**
* mpc5xxx_get_bus_frequency - Find the bus frequency for a device
* @node: device node
*
* Returns bus frequency (IPS on MPC512x, IPB on MPC52xx),
* or 0 if the bus frequency cannot be found.
*/
#include <linux/kernel.h>
#include <linux/of_platform.h>
unsigned
int
mpc5xxx_get_bus_frequency
(
struct
device_node
*
node
)
{
struct
device_node
*
np
;
const
unsigned
int
*
p_bus_freq
=
NULL
;
of_node_get
(
node
);
while
(
node
)
{
p_bus_freq
=
of_get_property
(
node
,
"bus-frequency"
,
NULL
);
if
(
p_bus_freq
)
break
;
np
=
of_get_parent
(
node
);
of_node_put
(
node
);
node
=
np
;
}
if
(
node
)
of_node_put
(
node
);
return
p_bus_freq
?
*
p_bus_freq
:
0
;
}
EXPORT_SYMBOL
(
mpc5xxx_get_bus_frequency
);
This diff is collapsed.
Click to expand it.
drivers/ata/pata_mpc52xx.c
浏览文件 @
b71a107c
...
...
@@ -694,7 +694,7 @@ mpc52xx_ata_probe(struct of_device *op, const struct of_device_id *match)
struct
bcom_task
*
dmatsk
=
NULL
;
/* Get ipb frequency */
ipb_freq
=
mpc5
2xx_find_ipb_freq
(
op
->
node
);
ipb_freq
=
mpc5
xxx_get_bus_frequency
(
op
->
node
);
if
(
!
ipb_freq
)
{
dev_err
(
&
op
->
dev
,
"could not determine IPB bus frequency
\n
"
);
return
-
ENODEV
;
...
...
This diff is collapsed.
Click to expand it.
drivers/i2c/busses/i2c-mpc.c
浏览文件 @
b71a107c
...
...
@@ -197,7 +197,7 @@ int mpc_i2c_get_fdr_52xx(struct device_node *node, u32 clock, int prescaler)
return
-
EINVAL
;
/* Determine divider value */
divider
=
mpc5
2xx_find_ipb_freq
(
node
)
/
clock
;
divider
=
mpc5
xxx_get_bus_frequency
(
node
)
/
clock
;
/*
* We want to choose an FDR/DFSR that generates an I2C bus speed that
...
...
This diff is collapsed.
Click to expand it.
drivers/net/fec_mpc52xx.c
浏览文件 @
b71a107c
...
...
@@ -948,7 +948,7 @@ mpc52xx_fec_probe(struct of_device *op, const struct of_device_id *match)
/* Start with safe defaults for link connection */
priv
->
speed
=
100
;
priv
->
duplex
=
DUPLEX_HALF
;
priv
->
mdio_speed
=
((
mpc5
2xx_find_ipb_freq
(
op
->
node
)
>>
20
)
/
5
)
<<
1
;
priv
->
mdio_speed
=
((
mpc5
xxx_get_bus_frequency
(
op
->
node
)
>>
20
)
/
5
)
<<
1
;
/* The current speed preconfigures the speed of the MII link */
prop
=
of_get_property
(
op
->
node
,
"current-speed"
,
&
prop_size
);
...
...
This diff is collapsed.
Click to expand it.
drivers/net/fec_mpc52xx_phy.c
浏览文件 @
b71a107c
...
...
@@ -106,7 +106,7 @@ static int mpc52xx_fec_mdio_probe(struct of_device *of,
/* set MII speed */
out_be32
(
&
priv
->
regs
->
mii_speed
,
((
mpc5
2xx_find_ipb_freq
(
of
->
node
)
>>
20
)
/
5
)
<<
1
);
((
mpc5
xxx_get_bus_frequency
(
of
->
node
)
>>
20
)
/
5
)
<<
1
);
err
=
of_mdiobus_register
(
bus
,
np
);
if
(
err
)
...
...
This diff is collapsed.
Click to expand it.
drivers/serial/mpc52xx_uart.c
浏览文件 @
b71a107c
...
...
@@ -76,7 +76,6 @@
#include <linux/of_platform.h>
#include <asm/mpc52xx.h>
#include <asm/mpc512x.h>
#include <asm/mpc52xx_psc.h>
#if defined(CONFIG_SERIAL_MPC52xx_CONSOLE) && defined(CONFIG_MAGIC_SYSRQ)
...
...
@@ -254,7 +253,7 @@ static unsigned long mpc52xx_getuartclk(void *p)
* but the generic serial code assumes 16
* so return ipb freq / 2
*/
return
mpc5
2xx_find_ipb_freq
(
p
)
/
2
;
return
mpc5
xxx_get_bus_frequency
(
p
)
/
2
;
}
static
struct
psc_ops
mpc52xx_psc_ops
=
{
...
...
@@ -391,7 +390,7 @@ static void mpc512x_psc_cw_restore_ints(struct uart_port *port)
static
unsigned
long
mpc512x_getuartclk
(
void
*
p
)
{
return
mpc5
12x_find_ips_freq
(
p
);
return
mpc5
xxx_get_bus_frequency
(
p
);
}
static
struct
psc_ops
mpc512x_psc_ops
=
{
...
...
This diff is collapsed.
Click to expand it.
drivers/spi/mpc52xx_psc_spi.c
浏览文件 @
b71a107c
...
...
@@ -13,6 +13,7 @@
#include <linux/module.h>
#include <linux/init.h>
#include <linux/types.h>
#include <linux/errno.h>
#include <linux/interrupt.h>
#include <linux/of_platform.h>
...
...
@@ -30,8 +31,7 @@
struct
mpc52xx_psc_spi
{
/* fsl_spi_platform data */
void
(
*
activate_cs
)(
u8
,
u8
);
void
(
*
deactivate_cs
)(
u8
,
u8
);
void
(
*
cs_control
)(
struct
spi_device
*
spi
,
bool
on
);
u32
sysclk
;
/* driver internal data */
...
...
@@ -111,18 +111,16 @@ static void mpc52xx_psc_spi_activate_cs(struct spi_device *spi)
out_be16
((
u16
__iomem
*
)
&
psc
->
ccr
,
ccr
);
mps
->
bits_per_word
=
cs
->
bits_per_word
;
if
(
mps
->
activate_cs
)
mps
->
activate_cs
(
spi
->
chip_select
,
(
spi
->
mode
&
SPI_CS_HIGH
)
?
1
:
0
);
if
(
mps
->
cs_control
)
mps
->
cs_control
(
spi
,
(
spi
->
mode
&
SPI_CS_HIGH
)
?
1
:
0
);
}
static
void
mpc52xx_psc_spi_deactivate_cs
(
struct
spi_device
*
spi
)
{
struct
mpc52xx_psc_spi
*
mps
=
spi_master_get_devdata
(
spi
->
master
);
if
(
mps
->
deactivate_cs
)
mps
->
deactivate_cs
(
spi
->
chip_select
,
(
spi
->
mode
&
SPI_CS_HIGH
)
?
1
:
0
);
if
(
mps
->
cs_control
)
mps
->
cs_control
(
spi
,
(
spi
->
mode
&
SPI_CS_HIGH
)
?
0
:
1
);
}
#define MPC52xx_PSC_BUFSIZE (MPC52xx_PSC_RFNUM_MASK + 1)
...
...
@@ -388,15 +386,13 @@ static int __init mpc52xx_psc_spi_do_probe(struct device *dev, u32 regaddr,
mps
->
irq
=
irq
;
if
(
pdata
==
NULL
)
{
dev_warn
(
dev
,
"probe called without platform data, no "
"(de)activate_cs function will be called
\n
"
);
mps
->
activate_cs
=
NULL
;
mps
->
deactivate_cs
=
NULL
;
"cs_control function will be called
\n
"
);
mps
->
cs_control
=
NULL
;
mps
->
sysclk
=
0
;
master
->
bus_num
=
bus_num
;
master
->
num_chipselect
=
255
;
}
else
{
mps
->
activate_cs
=
pdata
->
activate_cs
;
mps
->
deactivate_cs
=
pdata
->
deactivate_cs
;
mps
->
cs_control
=
pdata
->
cs_control
;
mps
->
sysclk
=
pdata
->
sysclk
;
master
->
bus_num
=
pdata
->
bus_num
;
master
->
num_chipselect
=
pdata
->
max_chipselect
;
...
...
This diff is collapsed.
Click to expand it.
drivers/video/xilinxfb.c
浏览文件 @
b71a107c
...
...
@@ -124,7 +124,6 @@ struct xilinxfb_drvdata {
registers */
dcr_host_t
dcr_host
;
unsigned
int
dcr_start
;
unsigned
int
dcr_len
;
void
*
fb_virt
;
/* virt. address of the frame buffer */
...
...
@@ -325,8 +324,8 @@ static int xilinxfb_assign(struct device *dev,
drvdata
->
regs
);
}
/* Put a banner in the log (for DEBUG) */
dev_dbg
(
dev
,
"fb: phys=%
p
, virt=%p, size=%x
\n
"
,
(
void
*
)
drvdata
->
fb_phys
,
drvdata
->
fb_virt
,
fbsize
);
dev_dbg
(
dev
,
"fb: phys=%
llx
, virt=%p, size=%x
\n
"
,
(
unsigned
long
long
)
drvdata
->
fb_phys
,
drvdata
->
fb_virt
,
fbsize
);
return
0
;
/* success */
...
...
@@ -404,9 +403,7 @@ xilinxfb_of_probe(struct of_device *op, const struct of_device_id *match)
u32
tft_access
;
struct
xilinxfb_platform_data
pdata
;
struct
resource
res
;
int
size
,
rc
;
int
start
=
0
,
len
=
0
;
dcr_host_t
dcr_host
;
int
size
,
rc
,
start
;
struct
xilinxfb_drvdata
*
drvdata
;
/* Copy with the default pdata (not a ptr reference!) */
...
...
@@ -414,35 +411,39 @@ xilinxfb_of_probe(struct of_device *op, const struct of_device_id *match)
dev_dbg
(
&
op
->
dev
,
"xilinxfb_of_probe(%p, %p)
\n
"
,
op
,
match
);
/* Allocate the driver data region */
drvdata
=
kzalloc
(
sizeof
(
*
drvdata
),
GFP_KERNEL
);
if
(
!
drvdata
)
{
dev_err
(
&
op
->
dev
,
"Couldn't allocate device private record
\n
"
);
return
-
ENOMEM
;
}
/*
* To check whether the core is connected directly to DCR or PLB
* interface and initialize the tft_access accordingly.
*/
p
=
(
u32
*
)
of_get_property
(
op
->
node
,
"xlnx,dcr-splb-slave-if"
,
NULL
);
if
(
p
)
tft_access
=
*
p
;
else
tft_access
=
0
;
/* For backward compatibility */
tft_access
=
p
?
*
p
:
0
;
/*
* Fill the resource structure if its direct PLB interface
* otherwise fill the dcr_host structure.
*/
if
(
tft_access
)
{
drvdata
->
flags
|=
PLB_ACCESS_FLAG
;
rc
=
of_address_to_resource
(
op
->
node
,
0
,
&
res
);
if
(
rc
)
{
dev_err
(
&
op
->
dev
,
"invalid address
\n
"
);
return
-
ENODEV
;
goto
err
;
}
}
else
{
res
.
start
=
0
;
start
=
dcr_resource_start
(
op
->
node
,
0
);
len
=
dcr_resource_len
(
op
->
node
,
0
);
d
cr_host
=
dcr_map
(
op
->
node
,
start
,
len
);
if
(
!
DCR_MAP_OK
(
dcr_host
))
{
dev_err
(
&
op
->
dev
,
"invalid address
\n
"
);
return
-
ENODEV
;
drvdata
->
dcr_
len
=
dcr_resource_len
(
op
->
node
,
0
);
d
rvdata
->
dcr_host
=
dcr_map
(
op
->
node
,
start
,
drvdata
->
dcr_
len
);
if
(
!
DCR_MAP_OK
(
d
rvdata
->
d
cr_host
))
{
dev_err
(
&
op
->
dev
,
"invalid
DCR
address
\n
"
);
goto
err
;
}
}
...
...
@@ -467,26 +468,12 @@ xilinxfb_of_probe(struct of_device *op, const struct of_device_id *match)
if
(
of_find_property
(
op
->
node
,
"rotate-display"
,
NULL
))
pdata
.
rotate_screen
=
1
;
/* Allocate the driver data region */
drvdata
=
kzalloc
(
sizeof
(
*
drvdata
),
GFP_KERNEL
);
if
(
!
drvdata
)
{
dev_err
(
&
op
->
dev
,
"Couldn't allocate device private record
\n
"
);
return
-
ENOMEM
;
}
dev_set_drvdata
(
&
op
->
dev
,
drvdata
);
return
xilinxfb_assign
(
&
op
->
dev
,
drvdata
,
res
.
start
,
&
pdata
);
if
(
tft_access
)
drvdata
->
flags
|=
PLB_ACCESS_FLAG
;
/* Arguments are passed based on the interface */
if
(
drvdata
->
flags
&
PLB_ACCESS_FLAG
)
{
return
xilinxfb_assign
(
&
op
->
dev
,
drvdata
,
res
.
start
,
&
pdata
);
}
else
{
drvdata
->
dcr_start
=
start
;
drvdata
->
dcr_len
=
len
;
drvdata
->
dcr_host
=
dcr_host
;
return
xilinxfb_assign
(
&
op
->
dev
,
drvdata
,
0
,
&
pdata
);
}
err:
kfree
(
drvdata
);
return
-
ENODEV
;
}
static
int
__devexit
xilinxfb_of_remove
(
struct
of_device
*
op
)
...
...
This diff is collapsed.
Click to expand it.
drivers/watchdog/mpc5200_wdt.c
浏览文件 @
b71a107c
...
...
@@ -188,7 +188,7 @@ static int mpc5200_wdt_probe(struct of_device *op,
if
(
!
wdt
)
return
-
ENOMEM
;
wdt
->
ipb_freq
=
mpc5
2xx_find_ipb_freq
(
op
->
node
);
wdt
->
ipb_freq
=
mpc5
xxx_get_bus_frequency
(
op
->
node
);
err
=
of_address_to_resource
(
op
->
node
,
0
,
&
wdt
->
mem
);
if
(
err
)
...
...
This diff is collapsed.
Click to expand it.
include/linux/fsl_devices.h
浏览文件 @
b71a107c
...
...
@@ -79,10 +79,6 @@ struct fsl_spi_platform_data {
u16
max_chipselect
;
void
(
*
cs_control
)(
struct
spi_device
*
spi
,
bool
on
);
u32
sysclk
;
/* Legacy hooks, used by mpc52xx_psc_spi driver. */
void
(
*
activate_cs
)(
u8
cs
,
u8
polarity
);
void
(
*
deactivate_cs
)(
u8
cs
,
u8
polarity
);
};
struct
mpc8xx_pcmcia_ops
{
...
...
This diff is collapsed.
Click to expand it.
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录
反馈
建议
客服
返回
顶部