From: mad_soft@inbox.ru (Dmitry Artamonow)
To: linux-arm-kernel@lists.infradead.org
Subject: [REGRESSION] 2eca40a8 breaks StrongARM compilation
Date: Wed, 11 Nov 2009 22:23:15 +0300 [thread overview]
Message-ID: <20091111192315.GA29757@rainbow> (raw)
Commit 2eca40a8 which went into 2.6.32-rc6 breaks compilation
for ipaq h3600 and probably other SA1100 machines when CONFIG_CPU_FREQ
is unset:
CC arch/arm/mach-sa1100/generic.o
arch/arm/mach-sa1100/generic.c:117: error: redefinition of 'cpufreq_get'
include/linux/cpufreq.h:299: error: previous definition of 'cpufreq_get'
was here
make[1]: *** [arch/arm/mach-sa1100/generic.o] Error 1
make: *** [arch/arm/mach-sa1100] Error 2
The problem is that before 2eca40a8 StrongArm aready had its own
version of cpufreq_get for CONFIG_CPU_FREQ=n case and now it clashed
with one introduced in 2eca40a8. Removing strongarm version will cure
compilation, but it then will break sa1100_fb driver in runtime, as it
blindly uses value which cpufreq_get returns for calculating pixel clock
divisor (see line 926 in drivers/video/sa1100fb.c) and 2eca40a8's cpufreq_get
returns 0.
One option would be to make sa1100_fb use hardcoded frequency 206.4MHz
(default on StrongARM CPUs) for CONFIG_CPU_FREQ=n case - see attached
patch. But I'm not sure if this is a proper fix.
Any ideas are welcome.
--
Best regards,
Dmitry "MAD" Artamonow
-------------- next part --------------
diff --git a/arch/arm/mach-sa1100/generic.c b/arch/arm/mach-sa1100/generic.c
index 23cfdd5..59a21c6 100644
--- a/arch/arm/mach-sa1100/generic.c
+++ b/arch/arm/mach-sa1100/generic.c
@@ -110,15 +110,6 @@ unsigned int sa11x0_getspeed(unsigned int cpu)
return cclk_frequency_100khz[PPCR & 0xf] * 100;
}
-#else
-/*
- * We still need to provide this so building without cpufreq works.
- */
-unsigned int cpufreq_get(unsigned int cpu)
-{
- return cclk_frequency_100khz[PPCR & 0xf] * 100;
-}
-EXPORT_SYMBOL(cpufreq_get);
#endif
/*
diff --git a/drivers/video/sa1100fb.c b/drivers/video/sa1100fb.c
index cdaa873..4f2e4fe 100644
--- a/drivers/video/sa1100fb.c
+++ b/drivers/video/sa1100fb.c
@@ -923,7 +923,12 @@ static int sa1100fb_activate_var(struct fb_var_screeninfo *var, struct sa1100fb_
LCCR2_BegFrmDel(var->upper_margin) +
LCCR2_EndFrmDel(var->lower_margin);
+#ifdef CONFIG_CPU_FREQ
pcd = get_pcd(var->pixclock, cpufreq_get(0));
+#else
+ pcd = get_pcd(var->pixclock, 206400);
+#endif
+
new_regs.lccr3 = LCCR3_PixClkDiv(pcd) | fbi->lccr3 |
(var->sync & FB_SYNC_HOR_HIGH_ACT ? LCCR3_HorSnchH : LCCR3_HorSnchL) |
(var->sync & FB_SYNC_VERT_HIGH_ACT ? LCCR3_VrtSnchH : LCCR3_VrtSnchL);
next reply other threads:[~2009-11-11 19:23 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-11 19:23 Dmitry Artamonow [this message]
2009-11-11 19:32 ` [REGRESSION] 2eca40a8 breaks StrongARM compilation Russell King - ARM Linux
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20091111192315.GA29757@rainbow \
--to=mad_soft@inbox.ru \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox