Re: [U-Boot] [PATCH 2/3] OMAP3: Rename interrupts.c to timer.c
Dear Dirk, In message 4a047b71.6080...@googlemail.com you wrote: This results then in something cpu/sa1100/{interrupts.c = timer.c} |5 +- rename cpu/arm925t/{interrupts.c = timer.c} (99%) (from [1]). But this is only what normally 'diffstat' generates and what is totally ignored by 'patch' . It can be applied with git am (well, not the diffstat, but the special rename diff hunk that git also generates). Ok, thanks. But not with other tools, like plain 'patch', correct? Indeed. But why would you use such a tool in combination with a git repository? It makes no sense. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de You can't evaluate a man by logic alone. -- McCoy, I, Mudd, stardate 4513.3 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 2/3] OMAP3: Rename interrupts.c to timer.c
Dear Jean-Christophe, Jean-Christophe PLAGNIOL-VILLARD wrote: On 17:41 Tue 05 May , Dirk Behme wrote: After removal of dublicated interrupt code, rename file to what it really does now. I prefer to rename all files at the same time Then, please don't complain that you have to do everything on your own and nobody helps you ;) I would prefer that changes are done by the board maintainers and not by the custodian, though. Btw please use git to show that you only rename the file without change I'm not sure that this works for non-custodians. Custodians can do git-rename and then send a patch to the mailing list. When a custodian sends such a patch, it is mainly for review only, and not to be applied somewhere (because it is already in git). This results then in something cpu/sa1100/{interrupts.c = timer.c} |5 +- rename cpu/arm925t/{interrupts.c = timer.c} (99%) (from [1]). But this is only what normally 'diffstat' generates and what is totally ignored by 'patch' . I.e. in the part of the patch which is handled by 'patch' this info is totally missing. As far as I know 'patch' itself can't deal with file rename any other way than remove one file and create the other one with --- u-boot-main.orig/cpu/arm_cortexa8/omap3/interrupts.c +++ /dev/null --- /dev/null +++ u-boot-main/cpu/arm_cortexa8/omap3/timer.c So it's my understanding that non-custodians have to send a patch which can be applied everywhere by everyone by 'patch' utility, i.e. the part 'patch' deals with contains all information necessary. Do I miss anything? Best regards Dirk [1] http://lists.denx.de/pipermail/u-boot/2009-May/051921.html ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 2/3] OMAP3: Rename interrupts.c to timer.c
On Fri, May 08, 2009 at 05:47:27PM +0200, Dirk Behme wrote: I'm not sure that this works for non-custodians. Custodians can do git-rename and then send a patch to the mailing list. When a custodian sends such a patch, it is mainly for review only, and not to be applied somewhere (because it is already in git). This results then in something cpu/sa1100/{interrupts.c = timer.c} |5 +- rename cpu/arm925t/{interrupts.c = timer.c} (99%) (from [1]). But this is only what normally 'diffstat' generates and what is totally ignored by 'patch' . It can be applied with git am (well, not the diffstat, but the special rename diff hunk that git also generates). -Scott ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 2/3] OMAP3: Rename interrupts.c to timer.c
Scott Wood wrote: On Fri, May 08, 2009 at 05:47:27PM +0200, Dirk Behme wrote: I'm not sure that this works for non-custodians. Custodians can do git-rename and then send a patch to the mailing list. When a custodian sends such a patch, it is mainly for review only, and not to be applied somewhere (because it is already in git). This results then in something cpu/sa1100/{interrupts.c = timer.c} |5 +- rename cpu/arm925t/{interrupts.c = timer.c} (99%) (from [1]). But this is only what normally 'diffstat' generates and what is totally ignored by 'patch' . It can be applied with git am (well, not the diffstat, but the special rename diff hunk that git also generates). Ok, thanks. But not with other tools, like plain 'patch', correct? Best regards Dirk ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 2/3] OMAP3: Rename interrupts.c to timer.c
Dirk Behme wrote: Scott Wood wrote: It can be applied with git am (well, not the diffstat, but the special rename diff hunk that git also generates). Ok, thanks. But not with other tools, like plain 'patch', correct? Right, until someone fixes that. :-) Which I suppose could be a problem if git am refuses to accept the patch and the normal patch command needs to be used to resolve the conflict (I really wish git would treat it more like a merge from a UI perspective, even if it doesn't look that way internally). -Scott ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 2/3] OMAP3: Rename interrupts.c to timer.c
Dear Dirk, In message 4a04540f.10...@googlemail.com you wrote: Btw please use git to show that you only rename the file without change I'm not sure that this works for non-custodians. Custodians can do git-rename and then send a patch to the mailing list. When a custodian sends such a patch, it is mainly for review only, and not to be applied somewhere (because it is already in git). In which way is this rtestricted to custodians? everybody can do the same in his own git repositories and use this to provide patches and statistics. (from [1]). But this is only what normally 'diffstat' generates and what is totally ignored by 'patch' . I.e. in the part of the patch We don't use plain old patch, we use git tools (like git am). And these do understand about rename patches. which is handled by 'patch' this info is totally missing. As far as I know 'patch' itself can't deal with file rename any other way than remove one file and create the other one with That's why we use git. So it's my understanding that non-custodians have to send a patch which can be applied everywhere by everyone by 'patch' utility, i.e. the part 'patch' deals with contains all information necessary. Do I miss anything? Yes, you are missing that we use git these days, and git is more powerful. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de In the beginning, there was nothing, which exploded. - Terry Pratchett, _Lords and Ladies_ ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 2/3] OMAP3: Rename interrupts.c to timer.c
On 17:41 Tue 05 May , Dirk Behme wrote: After removal of dublicated interrupt code, rename file to what it really does now. I prefer to rename all files at the same time Btw please use git to show that you only rename the file without change Best Regards, J. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 2/3] OMAP3: Rename interrupts.c to timer.c
After removal of dublicated interrupt code, rename file to what it really does now. From: Jean-Christophe PLAGNIOL-VILLARD plagn...@jcrosoft.com Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD plagn...@jcrosoft.com Signed-off-by: Dirk Behme dirk.be...@googlemail.com --- cpu/arm_cortexa8/omap3/Makefile |2 cpu/arm_cortexa8/omap3/interrupts.c | 138 cpu/arm_cortexa8/omap3/timer.c | 138 3 files changed, 139 insertions(+), 139 deletions(-) Index: u-boot-main/cpu/arm_cortexa8/omap3/Makefile === --- u-boot-main.orig/cpu/arm_cortexa8/omap3/Makefile +++ u-boot-main/cpu/arm_cortexa8/omap3/Makefile @@ -26,7 +26,7 @@ include $(TOPDIR)/config.mk LIB= $(obj)lib$(SOC).a SOBJS := lowlevel_init.o -COBJS := sys_info.o board.o clock.o interrupts.o mem.o syslib.o +COBJS := sys_info.o board.o clock.o timer.o mem.o syslib.o SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) OBJS := $(addprefix $(obj),$(COBJS) $(SOBJS)) Index: u-boot-main/cpu/arm_cortexa8/omap3/timer.c === --- /dev/null +++ u-boot-main/cpu/arm_cortexa8/omap3/timer.c @@ -0,0 +1,138 @@ +/* + * (C) Copyright 2008 + * Texas Instruments + * + * Richard Woodruff r-woodru...@ti.com + * Syed Moahmmed Khasim kha...@ti.com + * + * (C) Copyright 2002 + * Sysgo Real-Time Solutions, GmbH www.elinos.com + * Marius Groeger mgroe...@sysgo.de + * Alex Zuepke a...@sysgo.de + * + * (C) Copyright 2002 + * Gary Jennejohn, DENX Software Engineering, g...@denx.de + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ + +#include common.h +#include asm/io.h + +static ulong timestamp; +static ulong lastinc; +static gptimer_t *timer_base = (gptimer_t *)CONFIG_SYS_TIMERBASE; + +/* + * Nothing really to do with interrupts, just starts up a counter. + * We run the counter with 13MHz, divided by 8, resulting in timer + * frequency of 1.625MHz. With 32bit counter register, counter + * overflows in ~44min + */ + +/* 13MHz / 8 = 1.625MHz */ +#define TIMER_CLOCK(V_SCLK / (2 CONFIG_SYS_PTV)) +#define TIMER_LOAD_VAL 0x + +int interrupt_init(void) +{ + /* start the counter ticking up, reload value on overflow */ + writel(TIMER_LOAD_VAL, timer_base-tldr); + /* enable timer */ + writel((CONFIG_SYS_PTV 2) | TCLR_PRE | TCLR_AR | TCLR_ST, + timer_base-tclr); + + reset_timer_masked(); /* init the timestamp and lastinc value */ + + return 0; +} + +/* + * timer without interrupts + */ +void reset_timer(void) +{ + reset_timer_masked(); +} + +ulong get_timer(ulong base) +{ + return get_timer_masked() - base; +} + +void set_timer(ulong t) +{ + timestamp = t; +} + +/* delay x useconds */ +void udelay(unsigned long usec) +{ + long tmo = usec * (TIMER_CLOCK / 1000) / 1000; + unsigned long now, last = readl(timer_base-tcrr); + + while (tmo 0) { + now = readl(timer_base-tcrr); + if (last now) /* count up timer overflow */ + tmo -= TIMER_LOAD_VAL - last + now; + else + tmo -= now - last; + last = now; + } +} + +void reset_timer_masked(void) +{ + /* reset time, capture current incrementer value time */ + lastinc = readl(timer_base-tcrr) / (TIMER_CLOCK / CONFIG_SYS_HZ); + timestamp = 0; /* start advancing time stamp from 0 */ +} + +ulong get_timer_masked(void) +{ + /* current tick value */ + ulong now = readl(timer_base-tcrr) / (TIMER_CLOCK / CONFIG_SYS_HZ); + + if (now = lastinc) /* normal mode (non roll) */ + /* move stamp fordward with absoulte diff ticks */ + timestamp += (now - lastinc); + else/* we have rollover of incrementer */ + timestamp += ((TIMER_LOAD_VAL / (TIMER_CLOCK / CONFIG_SYS_HZ)) + - lastinc) + now; + lastinc = now; + return timestamp; +} + +/* + * This function is derived from PowerPC code (read timebase as long long). + * On ARM it just returns the timer value. + */