Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linux-davinci
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
linux
linux-davinci
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 @@
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