[PATCH] ARM: S3C64XX: Statically define parent clock of the "camera" clock
Kukjin Kim
kgene.kim at samsung.com
Fri Nov 9 05:08:47 EST 2012
Andrey Gusakov wrote:
>
> Hi.
>
> On Fri, Nov 9, 2012 at 12:32 PM, Sylwester Nawrocki
> <sylvester.nawrocki at gmail.com> wrote:
> > The "camera" clock defined in arch/arm/mach-s3c64xx/clock.c has null
> > clock source mux control register as it can have only one parent
> > clock. In such cases there is a need to configure the parent clock
> > statically, otherwise s3c_set_clksrc() bails out with an error message
> > "no parent clock specified" leaving the parent clock not configured.
> > Define statically the parent clock so it is possible to get or set
> > rate of the "camera" clock.
> > While at it remove the unneded null reg_src definition.
> >
> > Reported-by: In-Bae Jeong <kukyakya at gmail.com>
> > Signed-off-by: Sylwester Nawrocki <sylvester.nawrocki at gmail.com>
> > ---
> > arch/arm/mach-s3c64xx/clock.c | 2 +-
> > 1 files changed, 1 insertions(+), 1 deletions(-)
> >
> > diff --git a/arch/arm/mach-s3c64xx/clock.c b/arch/arm/mach-
> s3c64xx/clock.c
> > index 28041e8..2e6d7f9 100644
> > --- a/arch/arm/mach-s3c64xx/clock.c
> > +++ b/arch/arm/mach-s3c64xx/clock.c
> > @@ -744,9 +744,9 @@ static struct clksrc_clk clksrcs[] = {
> > .name = "camera",
> > .ctrlbit = S3C_CLKCON_SCLK_CAM,
> > .enable = s3c64xx_sclk_ctrl,
> > + .parent = &clk_h2,
> > },
> > .reg_div = { .reg = S3C_CLK_DIV0, .shift = 20,
.size =
> 4 },
> > - .reg_src = { .reg = NULL, .shift = 0, .size = 0
},
> > .sources = &clkset_camif,
> Just figure out that .sources can be removed to. And seems
> "clkset_camif" and "clkset_camif_list" can be removed as unused.
>
Yeah, in this case, right. And we don't need source field as well because
its source is fixed.
See below.
8<----
diff --git a/arch/arm/mach-s3c64xx/clock.c b/arch/arm/mach-s3c64xx/clock.c
index 28041e8..e963711 100644
--- a/arch/arm/mach-s3c64xx/clock.c
+++ b/arch/arm/mach-s3c64xx/clock.c
@@ -681,15 +681,6 @@ static struct clksrc_sources clkset_audio2 = {
.nr_sources = ARRAY_SIZE(clkset_audio2_list),
};
-static struct clk *clkset_camif_list[] = {
- &clk_h2,
-};
-
-static struct clksrc_sources clkset_camif = {
- .sources = clkset_camif_list,
- .nr_sources = ARRAY_SIZE(clkset_camif_list),
-};
-
static struct clksrc_clk clksrcs[] = {
{
.clk = {
@@ -742,12 +733,11 @@ static struct clksrc_clk clksrcs[] = {
}, {
.clk = {
.name = "camera",
+ .parent = &clk_h2,
.ctrlbit = S3C_CLKCON_SCLK_CAM,
.enable = s3c64xx_sclk_ctrl,
},
.reg_div = { .reg = S3C_CLK_DIV0, .shift = 20, .size
= 4 },
- .reg_src = { .reg = NULL, .shift = 0, .size = 0 },
- .sources = &clkset_camif,
},
};
8<----
Thanks.
Best regards,
Kgene.
--
Kukjin Kim <kgene.kim at samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.
More information about the linux-arm-kernel
mailing list