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
c488637c
Commit
c488637c
authored
Sep 15, 2011
by
Arnd Bergmann
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'samsung-fixes-2' of
git://github.com/kgene/linux-samsung
into HEAD
parents
72cc2056
d03c3593
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
40 additions
and
53 deletions
+40
-53
arch/arm/mach-exynos4/clock.c
arch/arm/mach-exynos4/clock.c
+1
-1
arch/arm/mach-exynos4/mct.c
arch/arm/mach-exynos4/mct.c
+9
-1
arch/arm/mach-exynos4/platsmp.c
arch/arm/mach-exynos4/platsmp.c
+2
-0
arch/arm/mach-exynos4/setup-keypad.c
arch/arm/mach-exynos4/setup-keypad.c
+6
-5
arch/arm/mach-s3c64xx/mach-smdk6410.c
arch/arm/mach-s3c64xx/mach-smdk6410.c
+0
-39
arch/arm/plat-samsung/clock.c
arch/arm/plat-samsung/clock.c
+11
-0
arch/arm/plat-samsung/include/plat/clock.h
arch/arm/plat-samsung/include/plat/clock.h
+8
-0
arch/arm/plat-samsung/include/plat/watchdog-reset.h
arch/arm/plat-samsung/include/plat/watchdog-reset.h
+3
-7
No files found.
arch/arm/mach-exynos4/clock.c
View file @
c488637c
...
@@ -1160,7 +1160,7 @@ void __init_or_cpufreq exynos4_setup_clocks(void)
...
@@ -1160,7 +1160,7 @@ void __init_or_cpufreq exynos4_setup_clocks(void)
vpllsrc
=
clk_get_rate
(
&
clk_vpllsrc
.
clk
);
vpllsrc
=
clk_get_rate
(
&
clk_vpllsrc
.
clk
);
vpll
=
s5p_get_pll46xx
(
vpllsrc
,
__raw_readl
(
S5P_VPLL_CON0
),
vpll
=
s5p_get_pll46xx
(
vpllsrc
,
__raw_readl
(
S5P_VPLL_CON0
),
__raw_readl
(
S5P_VPLL_CON1
),
pll_4650
);
__raw_readl
(
S5P_VPLL_CON1
),
pll_4650
c
);
clk_fout_apll
.
ops
=
&
exynos4_fout_apll_ops
;
clk_fout_apll
.
ops
=
&
exynos4_fout_apll_ops
;
clk_fout_mpll
.
rate
=
mpll
;
clk_fout_mpll
.
rate
=
mpll
;
...
...
arch/arm/mach-exynos4/mct.c
View file @
c488637c
...
@@ -132,12 +132,18 @@ static cycle_t exynos4_frc_read(struct clocksource *cs)
...
@@ -132,12 +132,18 @@ static cycle_t exynos4_frc_read(struct clocksource *cs)
return
((
cycle_t
)
hi
<<
32
)
|
lo
;
return
((
cycle_t
)
hi
<<
32
)
|
lo
;
}
}
static
void
exynos4_frc_resume
(
struct
clocksource
*
cs
)
{
exynos4_mct_frc_start
(
0
,
0
);
}
struct
clocksource
mct_frc
=
{
struct
clocksource
mct_frc
=
{
.
name
=
"mct-frc"
,
.
name
=
"mct-frc"
,
.
rating
=
400
,
.
rating
=
400
,
.
read
=
exynos4_frc_read
,
.
read
=
exynos4_frc_read
,
.
mask
=
CLOCKSOURCE_MASK
(
64
),
.
mask
=
CLOCKSOURCE_MASK
(
64
),
.
flags
=
CLOCK_SOURCE_IS_CONTINUOUS
,
.
flags
=
CLOCK_SOURCE_IS_CONTINUOUS
,
.
resume
=
exynos4_frc_resume
,
};
};
static
void
__init
exynos4_clocksource_init
(
void
)
static
void
__init
exynos4_clocksource_init
(
void
)
...
@@ -389,9 +395,11 @@ static void exynos4_mct_tick_init(struct clock_event_device *evt)
...
@@ -389,9 +395,11 @@ static void exynos4_mct_tick_init(struct clock_event_device *evt)
}
}
/* Setup the local clock events for a CPU */
/* Setup the local clock events for a CPU */
void
__cpuinit
local_timer_setup
(
struct
clock_event_device
*
evt
)
int
__cpuinit
local_timer_setup
(
struct
clock_event_device
*
evt
)
{
{
exynos4_mct_tick_init
(
evt
);
exynos4_mct_tick_init
(
evt
);
return
0
;
}
}
int
local_timer_ack
(
void
)
int
local_timer_ack
(
void
)
...
...
arch/arm/mach-exynos4/platsmp.c
View file @
c488637c
...
@@ -106,6 +106,8 @@ void __cpuinit platform_secondary_init(unsigned int cpu)
...
@@ -106,6 +106,8 @@ void __cpuinit platform_secondary_init(unsigned int cpu)
*/
*/
spin_lock
(
&
boot_lock
);
spin_lock
(
&
boot_lock
);
spin_unlock
(
&
boot_lock
);
spin_unlock
(
&
boot_lock
);
set_cpu_online
(
cpu
,
true
);
}
}
int
__cpuinit
boot_secondary
(
unsigned
int
cpu
,
struct
task_struct
*
idle
)
int
__cpuinit
boot_secondary
(
unsigned
int
cpu
,
struct
task_struct
*
idle
)
...
...
arch/arm/mach-exynos4/setup-keypad.c
View file @
c488637c
...
@@ -19,15 +19,16 @@ void samsung_keypad_cfg_gpio(unsigned int rows, unsigned int cols)
...
@@ -19,15 +19,16 @@ void samsung_keypad_cfg_gpio(unsigned int rows, unsigned int cols)
if
(
rows
>
8
)
{
if
(
rows
>
8
)
{
/* Set all the necessary GPX2 pins: KP_ROW[0~7] */
/* Set all the necessary GPX2 pins: KP_ROW[0~7] */
s3c_gpio_cfgrange_nopull
(
EXYNOS4_GPX2
(
0
),
8
,
S3C_GPIO_SFN
(
3
));
s3c_gpio_cfgall_range
(
EXYNOS4_GPX2
(
0
),
8
,
S3C_GPIO_SFN
(
3
),
S3C_GPIO_PULL_UP
);
/* Set all the necessary GPX3 pins: KP_ROW[8~] */
/* Set all the necessary GPX3 pins: KP_ROW[8~] */
s3c_gpio_cfg
range_nopull
(
EXYNOS4_GPX3
(
0
),
(
rows
-
8
),
s3c_gpio_cfg
all_range
(
EXYNOS4_GPX3
(
0
),
(
rows
-
8
),
S3C_GPIO_SFN
(
3
));
S3C_GPIO_SFN
(
3
)
,
S3C_GPIO_PULL_UP
);
}
else
{
}
else
{
/* Set all the necessary GPX2 pins: KP_ROW[x] */
/* Set all the necessary GPX2 pins: KP_ROW[x] */
s3c_gpio_cfg
range_nopull
(
EXYNOS4_GPX2
(
0
),
rows
,
s3c_gpio_cfg
all_range
(
EXYNOS4_GPX2
(
0
),
rows
,
S3C_GPIO_SFN
(
3
)
,
S3C_GPIO_SFN
(
3
)
);
S3C_GPIO_PULL_UP
);
}
}
/* Set all the necessary GPX1 pins to special-function 3: KP_COL[x] */
/* Set all the necessary GPX1 pins to special-function 3: KP_COL[x] */
...
...
arch/arm/mach-s3c64xx/mach-smdk6410.c
View file @
c488637c
...
@@ -262,45 +262,6 @@ static struct samsung_keypad_platdata smdk6410_keypad_data __initdata = {
...
@@ -262,45 +262,6 @@ static struct samsung_keypad_platdata smdk6410_keypad_data __initdata = {
.
cols
=
8
,
.
cols
=
8
,
};
};
static
int
smdk6410_backlight_init
(
struct
device
*
dev
)
{
int
ret
;
ret
=
gpio_request
(
S3C64XX_GPF
(
15
),
"Backlight"
);
if
(
ret
)
{
printk
(
KERN_ERR
"failed to request GPF for PWM-OUT1
\n
"
);
return
ret
;
}
/* Configure GPIO pin with S3C64XX_GPF15_PWM_TOUT1 */
s3c_gpio_cfgpin
(
S3C64XX_GPF
(
15
),
S3C_GPIO_SFN
(
2
));
return
0
;
}
static
void
smdk6410_backlight_exit
(
struct
device
*
dev
)
{
s3c_gpio_cfgpin
(
S3C64XX_GPF
(
15
),
S3C_GPIO_OUTPUT
);
gpio_free
(
S3C64XX_GPF
(
15
));
}
static
struct
platform_pwm_backlight_data
smdk6410_backlight_data
=
{
.
pwm_id
=
1
,
.
max_brightness
=
255
,
.
dft_brightness
=
255
,
.
pwm_period_ns
=
78770
,
.
init
=
smdk6410_backlight_init
,
.
exit
=
smdk6410_backlight_exit
,
};
static
struct
platform_device
smdk6410_backlight_device
=
{
.
name
=
"pwm-backlight"
,
.
dev
=
{
.
parent
=
&
s3c_device_timer
[
1
].
dev
,
.
platform_data
=
&
smdk6410_backlight_data
,
},
};
static
struct
map_desc
smdk6410_iodesc
[]
=
{};
static
struct
map_desc
smdk6410_iodesc
[]
=
{};
static
struct
platform_device
*
smdk6410_devices
[]
__initdata
=
{
static
struct
platform_device
*
smdk6410_devices
[]
__initdata
=
{
...
...
arch/arm/plat-samsung/clock.c
View file @
c488637c
...
@@ -64,6 +64,17 @@ static LIST_HEAD(clocks);
...
@@ -64,6 +64,17 @@ static LIST_HEAD(clocks);
*/
*/
DEFINE_SPINLOCK
(
clocks_lock
);
DEFINE_SPINLOCK
(
clocks_lock
);
/* Global watchdog clock used by arch_wtd_reset() callback */
struct
clk
*
s3c2410_wdtclk
;
static
int
__init
s3c_wdt_reset_init
(
void
)
{
s3c2410_wdtclk
=
clk_get
(
NULL
,
"watchdog"
);
if
(
IS_ERR
(
s3c2410_wdtclk
))
printk
(
KERN_WARNING
"%s: warning: cannot get watchdog clock
\n
"
,
__func__
);
return
0
;
}
arch_initcall
(
s3c_wdt_reset_init
);
/* enable and disable calls for use with the clk struct */
/* enable and disable calls for use with the clk struct */
static
int
clk_null_enable
(
struct
clk
*
clk
,
int
enable
)
static
int
clk_null_enable
(
struct
clk
*
clk
,
int
enable
)
...
...
arch/arm/plat-samsung/include/plat/clock.h
View file @
c488637c
...
@@ -9,6 +9,9 @@
...
@@ -9,6 +9,9 @@
* published by the Free Software Foundation.
* published by the Free Software Foundation.
*/
*/
#ifndef __ASM_PLAT_CLOCK_H
#define __ASM_PLAT_CLOCK_H __FILE__
#include <linux/spinlock.h>
#include <linux/spinlock.h>
#include <linux/clkdev.h>
#include <linux/clkdev.h>
...
@@ -121,3 +124,8 @@ extern int s3c64xx_sclk_ctrl(struct clk *clk, int enable);
...
@@ -121,3 +124,8 @@ extern int s3c64xx_sclk_ctrl(struct clk *clk, int enable);
extern
void
s3c_pwmclk_init
(
void
);
extern
void
s3c_pwmclk_init
(
void
);
/* Global watchdog clock used by arch_wtd_reset() callback */
extern
struct
clk
*
s3c2410_wdtclk
;
#endif
/* __ASM_PLAT_CLOCK_H */
arch/arm/plat-samsung/include/plat/watchdog-reset.h
View file @
c488637c
...
@@ -10,6 +10,7 @@
...
@@ -10,6 +10,7 @@
* published by the Free Software Foundation.
* published by the Free Software Foundation.
*/
*/
#include <plat/clock.h>
#include <plat/regs-watchdog.h>
#include <plat/regs-watchdog.h>
#include <mach/map.h>
#include <mach/map.h>
...
@@ -19,17 +20,12 @@
...
@@ -19,17 +20,12 @@
static
inline
void
arch_wdt_reset
(
void
)
static
inline
void
arch_wdt_reset
(
void
)
{
{
struct
clk
*
wdtclk
;
printk
(
"arch_reset: attempting watchdog reset
\n
"
);
printk
(
"arch_reset: attempting watchdog reset
\n
"
);
__raw_writel
(
0
,
S3C2410_WTCON
);
/* disable watchdog, to be safe */
__raw_writel
(
0
,
S3C2410_WTCON
);
/* disable watchdog, to be safe */
wdtclk
=
clk_get
(
NULL
,
"watchdog"
);
if
(
s3c2410_wdtclk
)
if
(
!
IS_ERR
(
wdtclk
))
{
clk_enable
(
s3c2410_wdtclk
);
clk_enable
(
wdtclk
);
}
else
printk
(
KERN_WARNING
"%s: warning: cannot get watchdog clock
\n
"
,
__func__
);
/* put initial values into count and data */
/* put initial values into count and data */
__raw_writel
(
0x80
,
S3C2410_WTCNT
);
__raw_writel
(
0x80
,
S3C2410_WTCNT
);
...
...
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