From mboxrd@z Thu Jan 1 00:00:00 1970 From: Timur Tabi Date: Fri, 21 May 2010 13:18:13 -0500 Subject: [U-Boot] [PATCH] mpc85xx: add function prototypes for sys and ddr clocks to speed.c In-Reply-To: <4BF6CCE6.1080109@freescale.com> References: <1274465254-9002-1-git-send-email-timur@freescale.com> <4BF6CCE6.1080109@freescale.com> Message-ID: <4BF6CE65.5060307@freescale.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Scott Wood wrote: > On 05/21/2010 01:07 PM, Timur Tabi wrote: >> On most Freescale 85xx boards, the CONFIG_SYS_CLK_FREQ and CONFIG_DDR_CLK_FREQ >> macros are defined like this: > > Like what? Doh. Git commit delete those lines because they began with a "#". This was supposed to be there: #define CONFIG_SYS_CLK_FREQ calculate_board_sys_clk() #define CONFIG_DDR_CLK_FREQ calculate_board_ddr_clk() >> This means that in order to use these macros, the callers must have prototypes >> for the corresponding functions. On 85xx, only speed.c uses these macros, so >> let's define the prototypes there. This eliminates the need to define the >> prototypes in the board config files. > > It also eliminates the utility of the prototype in making sure usage > matches the definition, and requires that the user of the macros provide > implementation prerequisites. Hmm... Looks like calculate_board_sys_clk() is defined only on the p2020 currently. Everyone else uses get_board_sys_clk(). So perhaps we need to fix p2020ds to use get_board_sys_clk() instead of calculate_board_sys_clk(). But that's a different problem. Well, I'm open to suggestions. Wolfgang asked me to find a solution to this: #ifndef __ASSEMBLY__ unsigned long calculate_board_sys_clk(void); unsigned long calculate_board_ddr_clk(void); #endif #define CONFIG_SYS_CLK_FREQ calculate_board_sys_clk() #define CONFIG_DDR_CLK_FREQ calculate_board_ddr_clk() He doesn't want the prototypes in the board header file. > > -Scott -- Timur Tabi Linux kernel developer at Freescale