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
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
{
const
struct
linux_prom_registers
*
regs
;
struct
linux_ebus_child
*
child
;
struct
dev_archdata
*
sd
;
const
int
*
irqs
;
int
i
,
n
,
len
;
unsigned
long
baseaddr
;
...
...
@@ -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
.
dev
.
parent
=
&
dev
->
bus
->
ofdev
.
dev
;
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,
{
struct
of_device
*
op
=
kzalloc
(
sizeof
(
*
op
),
GFP_KERNEL
);
const
struct
linux_prom_irqs
*
intr
;
struct
dev_archdata
*
sd
;
int
len
,
i
;
if
(
!
op
)
return
NULL
;
sd
=
&
op
->
dev
.
archdata
;
sd
->
prom_node
=
dp
;
sd
->
op
=
op
;
op
->
node
=
dp
;
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)
static
void
__init
fill_ebus_device
(
struct
device_node
*
dp
,
struct
linux_ebus_device
*
dev
)
{
struct
linux_ebus_child
*
child
;
struct
dev_archdata
*
sd
;
struct
of_device
*
op
;
int
i
,
len
;
...
...
@@ -387,6 +388,10 @@ static void __init fill_ebus_device(struct device_node *dp, struct linux_ebus_de
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
.
dev
.
parent
=
&
dev
->
bus
->
ofdev
.
dev
;
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)
while
(
dp
)
{
struct
sparc_isa_device
*
isa_dev
;
struct
dev_archdata
*
sd
;
isa_dev
=
kzalloc
(
sizeof
(
*
isa_dev
),
GFP_KERNEL
);
if
(
!
isa_dev
)
{
...
...
@@ -86,6 +87,10 @@ static void __init isa_fill_devices(struct sparc_isa_bridge *isa_br)
return
;
}
sd
=
&
isa_dev
->
ofdev
.
dev
.
archdata
;
sd
->
prom_node
=
dp
;
sd
->
op
=
&
isa_dev
->
ofdev
;
isa_dev
->
ofdev
.
node
=
dp
;
isa_dev
->
ofdev
.
dev
.
parent
=
&
isa_br
->
ofdev
.
dev
;
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,
{
struct
of_device
*
op
=
kzalloc
(
sizeof
(
*
op
),
GFP_KERNEL
);
const
unsigned
int
*
irq
;
struct
dev_archdata
*
sd
;
int
len
,
i
;
if
(
!
op
)
return
NULL
;
sd
=
&
op
->
dev
.
archdata
;
sd
->
prom_node
=
dp
;
sd
->
op
=
op
;
op
->
node
=
dp
;
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;
static
void
__init
fill_sbus_device
(
struct
device_node
*
dp
,
struct
sbus_dev
*
sdev
)
{
struct
dev_archdata
*
sd
;
unsigned
long
base
;
const
void
*
pval
;
int
len
,
err
;
...
...
@@ -67,6 +68,10 @@ static void __init fill_sbus_device(struct device_node *dp, struct sbus_dev *sde
sbus_fill_device_irq
(
sdev
);
sd
=
&
sdev
->
ofdev
.
dev
.
archdata
;
sd
->
prom_node
=
dp
;
sd
->
op
=
&
sdev
->
ofdev
;
sdev
->
ofdev
.
node
=
dp
;
if
(
sdev
->
parent
)
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