Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
b71a107c
Commit
b71a107c
authored
Jun 18, 2009
by
Benjamin Herrenschmidt
Browse files
Options
Browse Files
Download
Plain Diff
Merge commit 'gcl/merge' into next
Manual merge of: drivers/net/fec_mpc52xx.c
parents
4b337c5f
e7c5a4f2
Changes
18
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
91 additions
and
149 deletions
+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
No files found.
arch/powerpc/boot/dts/pcm030.dts
View file @
b71a107c
...
...
@@ -258,34 +258,16 @@ rtc@51 {
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
{
...
...
arch/powerpc/include/asm/mpc52xx.h
View file @
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
);
...
...
arch/powerpc/include/asm/mpc5
12
x.h
→
arch/powerpc/include/asm/mpc5
xx
x.h
View file @
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__ */
arch/powerpc/platforms/512x/clock.c
View file @
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
);
}
...
...
arch/powerpc/platforms/512x/mpc512x.h
View file @
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__ */
arch/powerpc/platforms/512x/mpc512x_shared.c
View file @
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
;
...
...
arch/powerpc/platforms/52xx/mpc52xx_common.c
View file @
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
;
...
...
arch/powerpc/sysdev/Makefile
View file @
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
arch/powerpc/sysdev/mpc5xxx_clocks.c
0 → 100644
View file @
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
);
drivers/ata/pata_mpc52xx.c
View file @
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
;
...
...
drivers/i2c/busses/i2c-mpc.c
View file @
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
...
...
drivers/net/fec_mpc52xx.c
View file @
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
);
...
...
drivers/net/fec_mpc52xx_phy.c
View file @
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
)
...
...
drivers/serial/mpc52xx_uart.c
View file @
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
=
{
...
...
drivers/spi/mpc52xx_psc_spi.c
View file @
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
;
...
...
drivers/video/xilinxfb.c
View file @
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
)
...
...
drivers/watchdog/mpc5200_wdt.c
View file @
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
)
...
...
include/linux/fsl_devices.h
View file @
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
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment