# busfreq-imx compile error when CPU\_FREQ disabled

**URL:** <https://forums.digi.com/t/busfreq-imx-compile-error-when-cpu-freq-disabled/20873>\
**Category:** Linux\
**Tags:** compile-error, linux, ccimx6sbc\
**Created:** [November 5, 2019, 8:48am UTC](https://forums.digi.com/t/busfreq-imx-compile-error-when-cpu-freq-disabled/20873 "2019-11-05T08:48:17Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![adibood](https://avatars.discourse-cdn.com/v4/letter/a/6de8d8/32.png) [@adibood](https://forums.digi.com/u/adibood)\
**Post date:** [November 5, 2019, 8:48am UTC](https://forums.digi.com/t/busfreq-imx-compile-error-when-cpu-freq-disabled/20873/1 "2019-11-05T08:48:17Z")

</div>

Hello,

I have a CCIMX6sbc board with IMX6Q inside and I’m trying to compile linux kernel v4.9 branch v4.9/dey-2.2/maint (from Digi GitHub) without CPU frequency scaling (CONFIG\_CPU\_FREQ disabled).  
If I let CPU frequency scaling enabled, linux kernelcompilation works perfectly. But for realtime purpose I want to disable CPU frequency scaling. If I do so I get compile error as :  
“arch/arm/mach-imx/busfreq-imx.c:151:5: error: redefinition of ‘register\_busfreq\_notifier’  
int register\_busfreq\_notifier(struct notifier\_block \*nb)  
^ ~~~~~~~~~~~~~~~~~~~~~~~~  
In file included from arch/arm/mach-imx/busfreq-imx.c:22:  
./include/linux/busfreq-imx.h:60:19: note: previous definition of ‘register\_busfreq\_notifier’ was here  
static inline int register\_busfreq\_notifier(struct notifier\_block \*nb)  
^ ~~~~~~~~~~~~~~~~~~~~~~~~  
arch/arm/mach-imx/busfreq-imx.c:157:5: error: redefinition of ‘unregister\_busfreq\_notifier’  
int unregister\_busfreq\_notifier(struct notifier\_block \*nb)  
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~  
In file included from arch/arm/mach-imx/busfreq-imx.c:22:  
./include/linux/busfreq-imx.h:64:19: note: previous definition of ‘unregister\_busfreq\_notifier’ was here  
static inline int unregister\_busfreq\_notifier(struct notifier\_block \*nb)  
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~  
arch/arm/mach-imx/busfreq-imx.c: In function ‘imx6ull\_lower\_cpu\_rate’:  
arch/arm/mach-imx/busfreq-imx.c:176:43: error: ‘arm\_reg’ undeclared (first use in this function); did you mean ‘arm\_clk’?  
origin\_arm\_volt = regulator\_get\_voltage(arm\_reg);  
^ ~~~~~~  
arm\_clk  
arch/arm/mach-imx/busfreq-imx.c:176:43: note: each undeclared identifier is reported only once for each function it appears in  
arch/arm/mach-imx/busfreq-imx.c:177:43: error: ‘soc\_reg’ undeclared (first use in this function); did you mean ‘fp\_reg’?  
origin\_soc\_volt = regulator\_get\_voltage(soc\_reg);  
^ ~~~~~~  
fp\_reg  
arch/arm/mach-imx/busfreq-imx.c: At top level:  
arch/arm/mach-imx/busfreq-imx.c:796:6: error: redefinition of ‘request\_bus\_freq’  
void request\_bus\_freq(enum bus\_freq\_mode mode)  
^ ~~~~~~~~~~~~~~~  
In file included from arch/arm/mach-imx/busfreq-imx.c:22:  
./include/linux/busfreq-imx.h:54:20: note: previous definition of ‘request\_bus\_freq’ was here  
static inline void request\_bus\_freq(enum bus\_freq\_mode mode)  
^ ~~~~~~~~~~~~~~~  
arch/arm/mach-imx/busfreq-imx.c:845:6: error: redefinition of ‘release\_bus\_freq’  
void release\_bus\_freq(enum bus\_freq\_mode mode)  
^ ~~~~~~~~~~~~~~~  
In file included from arch/arm/mach-imx/busfreq-imx.c:22:  
./include/linux/busfreq-imx.h:57:20: note: previous definition of ‘release\_bus\_freq’ was here  
static inline void release\_bus\_freq(enum bus\_freq\_mode mode)  
^ ~~~~~~~~~~~~~~~  
arch/arm/mach-imx/busfreq-imx.c:921:5: error: redefinition of ‘get\_bus\_freq\_mode’  
int get\_bus\_freq\_mode(void)”

I’ve looked into /include/linux/busfreq-imx.h file and it seems that if CONFIG\_CPU\_FREQ is not defined, I must not have this redefinition…  
Do you know if there is a patch or if someone has experienced the same problem ?

Thank you,  
Adrien
