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
93a93d19
Commit
93a93d19
authored
Nov 22, 2014
by
Jason Cooper
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'mvebu/fixes' into mvebu/soc
parents
172ed82c
2eb04ae0
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
35 additions
and
5 deletions
+35
-5
arch/arm/mach-mvebu/board-v7.c
arch/arm/mach-mvebu/board-v7.c
+1
-1
arch/arm/mach-mvebu/coherency.c
arch/arm/mach-mvebu/coherency.c
+2
-0
arch/arm/plat-orion/gpio.c
arch/arm/plat-orion/gpio.c
+32
-4
No files found.
arch/arm/mach-mvebu/board-v7.c
View file @
93a93d19
...
@@ -126,7 +126,7 @@ static void __init i2c_quirk(void)
...
@@ -126,7 +126,7 @@ static void __init i2c_quirk(void)
static
void
__init
mvebu_dt_init
(
void
)
static
void
__init
mvebu_dt_init
(
void
)
{
{
if
(
of_machine_is_compatible
(
"
plathome,openblocks-ax3-4
"
))
if
(
of_machine_is_compatible
(
"
marvell,armadaxp
"
))
i2c_quirk
();
i2c_quirk
();
if
(
of_machine_is_compatible
(
"marvell,a375-db"
))
if
(
of_machine_is_compatible
(
"marvell,a375-db"
))
external_abort_quirk
();
external_abort_quirk
();
...
...
arch/arm/mach-mvebu/coherency.c
View file @
93a93d19
...
@@ -400,6 +400,8 @@ int __init coherency_init(void)
...
@@ -400,6 +400,8 @@ int __init coherency_init(void)
type
==
COHERENCY_FABRIC_TYPE_ARMADA_380
)
type
==
COHERENCY_FABRIC_TYPE_ARMADA_380
)
armada_375_380_coherency_init
(
np
);
armada_375_380_coherency_init
(
np
);
of_node_put
(
np
);
return
0
;
return
0
;
}
}
...
...
arch/arm/plat-orion/gpio.c
View file @
93a93d19
...
@@ -497,6 +497,34 @@ static void orion_gpio_dbg_show(struct seq_file *s, struct gpio_chip *chip)
...
@@ -497,6 +497,34 @@ static void orion_gpio_dbg_show(struct seq_file *s, struct gpio_chip *chip)
#define orion_gpio_dbg_show NULL
#define orion_gpio_dbg_show NULL
#endif
#endif
static
void
orion_gpio_unmask_irq
(
struct
irq_data
*
d
)
{
struct
irq_chip_generic
*
gc
=
irq_data_get_irq_chip_data
(
d
);
struct
irq_chip_type
*
ct
=
irq_data_get_chip_type
(
d
);
u32
reg_val
;
u32
mask
=
d
->
mask
;
irq_gc_lock
(
gc
);
reg_val
=
irq_reg_readl
(
gc
->
reg_base
+
ct
->
regs
.
mask
);
reg_val
|=
mask
;
irq_reg_writel
(
reg_val
,
gc
->
reg_base
+
ct
->
regs
.
mask
);
irq_gc_unlock
(
gc
);
}
static
void
orion_gpio_mask_irq
(
struct
irq_data
*
d
)
{
struct
irq_chip_generic
*
gc
=
irq_data_get_irq_chip_data
(
d
);
struct
irq_chip_type
*
ct
=
irq_data_get_chip_type
(
d
);
u32
mask
=
d
->
mask
;
u32
reg_val
;
irq_gc_lock
(
gc
);
reg_val
=
irq_reg_readl
(
gc
->
reg_base
+
ct
->
regs
.
mask
);
reg_val
&=
~
mask
;
irq_reg_writel
(
reg_val
,
gc
->
reg_base
+
ct
->
regs
.
mask
);
irq_gc_unlock
(
gc
);
}
void
__init
orion_gpio_init
(
struct
device_node
*
np
,
void
__init
orion_gpio_init
(
struct
device_node
*
np
,
int
gpio_base
,
int
ngpio
,
int
gpio_base
,
int
ngpio
,
void
__iomem
*
base
,
int
mask_offset
,
void
__iomem
*
base
,
int
mask_offset
,
...
@@ -565,8 +593,8 @@ void __init orion_gpio_init(struct device_node *np,
...
@@ -565,8 +593,8 @@ void __init orion_gpio_init(struct device_node *np,
ct
=
gc
->
chip_types
;
ct
=
gc
->
chip_types
;
ct
->
regs
.
mask
=
ochip
->
mask_offset
+
GPIO_LEVEL_MASK_OFF
;
ct
->
regs
.
mask
=
ochip
->
mask_offset
+
GPIO_LEVEL_MASK_OFF
;
ct
->
type
=
IRQ_TYPE_LEVEL_HIGH
|
IRQ_TYPE_LEVEL_LOW
;
ct
->
type
=
IRQ_TYPE_LEVEL_HIGH
|
IRQ_TYPE_LEVEL_LOW
;
ct
->
chip
.
irq_mask
=
irq_gc_mask_clr_bit
;
ct
->
chip
.
irq_mask
=
orion_gpio_mask_irq
;
ct
->
chip
.
irq_unmask
=
irq_gc_mask_set_bit
;
ct
->
chip
.
irq_unmask
=
orion_gpio_unmask_irq
;
ct
->
chip
.
irq_set_type
=
gpio_irq_set_type
;
ct
->
chip
.
irq_set_type
=
gpio_irq_set_type
;
ct
->
chip
.
name
=
ochip
->
chip
.
label
;
ct
->
chip
.
name
=
ochip
->
chip
.
label
;
...
@@ -575,8 +603,8 @@ void __init orion_gpio_init(struct device_node *np,
...
@@ -575,8 +603,8 @@ void __init orion_gpio_init(struct device_node *np,
ct
->
regs
.
ack
=
GPIO_EDGE_CAUSE_OFF
;
ct
->
regs
.
ack
=
GPIO_EDGE_CAUSE_OFF
;
ct
->
type
=
IRQ_TYPE_EDGE_RISING
|
IRQ_TYPE_EDGE_FALLING
;
ct
->
type
=
IRQ_TYPE_EDGE_RISING
|
IRQ_TYPE_EDGE_FALLING
;
ct
->
chip
.
irq_ack
=
irq_gc_ack_clr_bit
;
ct
->
chip
.
irq_ack
=
irq_gc_ack_clr_bit
;
ct
->
chip
.
irq_mask
=
irq_gc_mask_clr_bit
;
ct
->
chip
.
irq_mask
=
orion_gpio_mask_irq
;
ct
->
chip
.
irq_unmask
=
irq_gc_mask_set_bit
;
ct
->
chip
.
irq_unmask
=
orion_gpio_unmask_irq
;
ct
->
chip
.
irq_set_type
=
gpio_irq_set_type
;
ct
->
chip
.
irq_set_type
=
gpio_irq_set_type
;
ct
->
handler
=
handle_edge_irq
;
ct
->
handler
=
handle_edge_irq
;
ct
->
chip
.
name
=
ochip
->
chip
.
label
;
ct
->
chip
.
name
=
ochip
->
chip
.
label
;
...
...
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