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
Kirill Smelkov
linux
Commits
3d6e4702
Commit
3d6e4702
authored
Jul 18, 2007
by
David S. Miller
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[SPARC]: Make sure dev_archdata is filled in for all devices.
Signed-off-by:
David S. Miller
<
davem@davemloft.net
>
parent
e865f3e6
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
30 additions
and
0 deletions
+30
-0
arch/sparc/kernel/ebus.c
arch/sparc/kernel/ebus.c
+5
-0
arch/sparc/kernel/of_device.c
arch/sparc/kernel/of_device.c
+5
-0
arch/sparc64/kernel/ebus.c
arch/sparc64/kernel/ebus.c
+5
-0
arch/sparc64/kernel/isa.c
arch/sparc64/kernel/isa.c
+5
-0
arch/sparc64/kernel/of_device.c
arch/sparc64/kernel/of_device.c
+5
-0
drivers/sbus/sbus.c
drivers/sbus/sbus.c
+5
-0
No files found.
arch/sparc/kernel/ebus.c
View file @
3d6e4702
...
@@ -148,6 +148,7 @@ void __init fill_ebus_device(struct device_node *dp, struct linux_ebus_device *d
...
@@ -148,6 +148,7 @@ void __init fill_ebus_device(struct device_node *dp, struct linux_ebus_device *d
{
{
const
struct
linux_prom_registers
*
regs
;
const
struct
linux_prom_registers
*
regs
;
struct
linux_ebus_child
*
child
;
struct
linux_ebus_child
*
child
;
struct
dev_archdata
*
sd
;
const
int
*
irqs
;
const
int
*
irqs
;
int
i
,
n
,
len
;
int
i
,
n
,
len
;
unsigned
long
baseaddr
;
unsigned
long
baseaddr
;
...
@@ -234,6 +235,10 @@ void __init fill_ebus_device(struct device_node *dp, struct linux_ebus_device *d
...
@@ -234,6 +235,10 @@ void __init fill_ebus_device(struct device_node *dp, struct linux_ebus_device *d
}
}
}
}
sd
=
&
dev
->
ofdev
.
dev
.
archdata
;
sd
->
prom_node
=
dp
;
sd
->
op
=
&
dev
->
ofdev
;
dev
->
ofdev
.
node
=
dp
;
dev
->
ofdev
.
node
=
dp
;
dev
->
ofdev
.
dev
.
parent
=
&
dev
->
bus
->
ofdev
.
dev
;
dev
->
ofdev
.
dev
.
parent
=
&
dev
->
bus
->
ofdev
.
dev
;
dev
->
ofdev
.
dev
.
bus
=
&
ebus_bus_type
;
dev
->
ofdev
.
dev
.
bus
=
&
ebus_bus_type
;
...
...
arch/sparc/kernel/of_device.c
View file @
3d6e4702
...
@@ -420,11 +420,16 @@ static struct of_device * __init scan_one_device(struct device_node *dp,
...
@@ -420,11 +420,16 @@ static struct of_device * __init scan_one_device(struct device_node *dp,
{
{
struct
of_device
*
op
=
kzalloc
(
sizeof
(
*
op
),
GFP_KERNEL
);
struct
of_device
*
op
=
kzalloc
(
sizeof
(
*
op
),
GFP_KERNEL
);
const
struct
linux_prom_irqs
*
intr
;
const
struct
linux_prom_irqs
*
intr
;
struct
dev_archdata
*
sd
;
int
len
,
i
;
int
len
,
i
;
if
(
!
op
)
if
(
!
op
)
return
NULL
;
return
NULL
;
sd
=
&
op
->
dev
.
archdata
;
sd
->
prom_node
=
dp
;
sd
->
op
=
op
;
op
->
node
=
dp
;
op
->
node
=
dp
;
op
->
clock_freq
=
of_getintprop_default
(
dp
,
"clock-frequency"
,
op
->
clock_freq
=
of_getintprop_default
(
dp
,
"clock-frequency"
,
...
...
arch/sparc64/kernel/ebus.c
View file @
3d6e4702
...
@@ -362,6 +362,7 @@ static int __init child_regs_nonstandard(struct linux_ebus_device *dev)
...
@@ -362,6 +362,7 @@ static int __init child_regs_nonstandard(struct linux_ebus_device *dev)
static
void
__init
fill_ebus_device
(
struct
device_node
*
dp
,
struct
linux_ebus_device
*
dev
)
static
void
__init
fill_ebus_device
(
struct
device_node
*
dp
,
struct
linux_ebus_device
*
dev
)
{
{
struct
linux_ebus_child
*
child
;
struct
linux_ebus_child
*
child
;
struct
dev_archdata
*
sd
;
struct
of_device
*
op
;
struct
of_device
*
op
;
int
i
,
len
;
int
i
,
len
;
...
@@ -387,6 +388,10 @@ static void __init fill_ebus_device(struct device_node *dp, struct linux_ebus_de
...
@@ -387,6 +388,10 @@ static void __init fill_ebus_device(struct device_node *dp, struct linux_ebus_de
dev
->
irqs
[
i
]
=
op
->
irqs
[
i
];
dev
->
irqs
[
i
]
=
op
->
irqs
[
i
];
}
}
sd
=
&
dev
->
ofdev
.
dev
.
archdata
;
sd
->
prom_node
=
dp
;
sd
->
op
=
&
dev
->
ofdev
;
dev
->
ofdev
.
node
=
dp
;
dev
->
ofdev
.
node
=
dp
;
dev
->
ofdev
.
dev
.
parent
=
&
dev
->
bus
->
ofdev
.
dev
;
dev
->
ofdev
.
dev
.
parent
=
&
dev
->
bus
->
ofdev
.
dev
;
dev
->
ofdev
.
dev
.
bus
=
&
ebus_bus_type
;
dev
->
ofdev
.
dev
.
bus
=
&
ebus_bus_type
;
...
...
arch/sparc64/kernel/isa.c
View file @
3d6e4702
...
@@ -79,6 +79,7 @@ static void __init isa_fill_devices(struct sparc_isa_bridge *isa_br)
...
@@ -79,6 +79,7 @@ static void __init isa_fill_devices(struct sparc_isa_bridge *isa_br)
while
(
dp
)
{
while
(
dp
)
{
struct
sparc_isa_device
*
isa_dev
;
struct
sparc_isa_device
*
isa_dev
;
struct
dev_archdata
*
sd
;
isa_dev
=
kzalloc
(
sizeof
(
*
isa_dev
),
GFP_KERNEL
);
isa_dev
=
kzalloc
(
sizeof
(
*
isa_dev
),
GFP_KERNEL
);
if
(
!
isa_dev
)
{
if
(
!
isa_dev
)
{
...
@@ -86,6 +87,10 @@ static void __init isa_fill_devices(struct sparc_isa_bridge *isa_br)
...
@@ -86,6 +87,10 @@ static void __init isa_fill_devices(struct sparc_isa_bridge *isa_br)
return
;
return
;
}
}
sd
=
&
isa_dev
->
ofdev
.
dev
.
archdata
;
sd
->
prom_node
=
dp
;
sd
->
op
=
&
isa_dev
->
ofdev
;
isa_dev
->
ofdev
.
node
=
dp
;
isa_dev
->
ofdev
.
node
=
dp
;
isa_dev
->
ofdev
.
dev
.
parent
=
&
isa_br
->
ofdev
.
dev
;
isa_dev
->
ofdev
.
dev
.
parent
=
&
isa_br
->
ofdev
.
dev
;
isa_dev
->
ofdev
.
dev
.
bus
=
&
isa_bus_type
;
isa_dev
->
ofdev
.
dev
.
bus
=
&
isa_bus_type
;
...
...
arch/sparc64/kernel/of_device.c
View file @
3d6e4702
...
@@ -752,11 +752,16 @@ static struct of_device * __init scan_one_device(struct device_node *dp,
...
@@ -752,11 +752,16 @@ static struct of_device * __init scan_one_device(struct device_node *dp,
{
{
struct
of_device
*
op
=
kzalloc
(
sizeof
(
*
op
),
GFP_KERNEL
);
struct
of_device
*
op
=
kzalloc
(
sizeof
(
*
op
),
GFP_KERNEL
);
const
unsigned
int
*
irq
;
const
unsigned
int
*
irq
;
struct
dev_archdata
*
sd
;
int
len
,
i
;
int
len
,
i
;
if
(
!
op
)
if
(
!
op
)
return
NULL
;
return
NULL
;
sd
=
&
op
->
dev
.
archdata
;
sd
->
prom_node
=
dp
;
sd
->
op
=
op
;
op
->
node
=
dp
;
op
->
node
=
dp
;
op
->
clock_freq
=
of_getintprop_default
(
dp
,
"clock-frequency"
,
op
->
clock_freq
=
of_getintprop_default
(
dp
,
"clock-frequency"
,
...
...
drivers/sbus/sbus.c
View file @
3d6e4702
...
@@ -33,6 +33,7 @@ struct sbus_bus *sbus_root;
...
@@ -33,6 +33,7 @@ struct sbus_bus *sbus_root;
static
void
__init
fill_sbus_device
(
struct
device_node
*
dp
,
struct
sbus_dev
*
sdev
)
static
void
__init
fill_sbus_device
(
struct
device_node
*
dp
,
struct
sbus_dev
*
sdev
)
{
{
struct
dev_archdata
*
sd
;
unsigned
long
base
;
unsigned
long
base
;
const
void
*
pval
;
const
void
*
pval
;
int
len
,
err
;
int
len
,
err
;
...
@@ -67,6 +68,10 @@ static void __init fill_sbus_device(struct device_node *dp, struct sbus_dev *sde
...
@@ -67,6 +68,10 @@ static void __init fill_sbus_device(struct device_node *dp, struct sbus_dev *sde
sbus_fill_device_irq
(
sdev
);
sbus_fill_device_irq
(
sdev
);
sd
=
&
sdev
->
ofdev
.
dev
.
archdata
;
sd
->
prom_node
=
dp
;
sd
->
op
=
&
sdev
->
ofdev
;
sdev
->
ofdev
.
node
=
dp
;
sdev
->
ofdev
.
node
=
dp
;
if
(
sdev
->
parent
)
if
(
sdev
->
parent
)
sdev
->
ofdev
.
dev
.
parent
=
&
sdev
->
parent
->
ofdev
.
dev
;
sdev
->
ofdev
.
dev
.
parent
=
&
sdev
->
parent
->
ofdev
.
dev
;
...
...
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