Message ID | 1366251228-19884-10-git-send-email-sjg@chromium.org |
---|---|
State | Accepted, archived |
Delegated to: | Simon Glass |
Headers | show |
Hi Simon, On Thu, Apr 18, 2013 at 12:13 PM, Simon Glass <sjg@chromium.org> wrote: > > This is no longer used since we prefer the more accurate TSC timer, so > remove the dead code. > > Signed-off-by: Simon Glass <sjg@chromium.org> > --- > arch/x86/lib/Makefile | 1 - > arch/x86/lib/timer.c | 118 -------------------------------------------------- > 2 files changed, 119 deletions(-) > delete mode 100644 arch/x86/lib/timer.c > > diff --git a/arch/x86/lib/Makefile b/arch/x86/lib/Makefile > index 0bc8c2f..c614479 100644 > --- a/arch/x86/lib/Makefile > +++ b/arch/x86/lib/Makefile > @@ -36,7 +36,6 @@ COBJS-$(CONFIG_PCI) += pci_type1.o > COBJS-y += relocate.o > COBJS-y += physmem.o > COBJS-y += string.o > -COBJS-$(CONFIG_SYS_X86_ISR_TIMER) += timer.o > COBJS-$(CONFIG_SYS_X86_TSC_TIMER) += tsc_timer.o > COBJS-$(CONFIG_VIDEO_VGA) += video.o > COBJS-$(CONFIG_CMD_ZBOOT) += zimage.o > diff --git a/arch/x86/lib/timer.c b/arch/x86/lib/timer.c > deleted file mode 100644 > index fb11bfe..0000000 > --- a/arch/x86/lib/timer.c > +++ /dev/null > @@ -1,118 +0,0 @@ > -/* > - * (C) Copyright 2008,2009 > - * Graeme Russ, <graeme.russ@gmail.com> > - * > - * (C) Copyright 2002 > - * Daniel Engström, Omicron Ceti AB, <daniel@omicron.se> > - * > - * 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 <malloc.h> > -#include <asm/io.h> > -#include <asm/i8254.h> > -#include <asm/ibmpc.h> > - > -DECLARE_GLOBAL_DATA_PTR; > - > -struct timer_isr_function { > - struct timer_isr_function *next; > - timer_fnc_t *isr_func; > -}; > - > -static struct timer_isr_function *first_timer_isr; > -static unsigned long system_ticks; > - > -/* > - * register_timer_isr() allows multiple architecture and board specific > - * functions to be called every millisecond. Keep the execution time of > - * each function as low as possible > - */ > -int register_timer_isr(timer_fnc_t *isr_func) > -{ > - struct timer_isr_function *new_func; > - struct timer_isr_function *temp; > - int flag; > - > - new_func = malloc(sizeof(struct timer_isr_function)); > - > - if (new_func == NULL) > - return 1; > - > - new_func->isr_func = isr_func; > - new_func->next = NULL; > - > - /* > - * Don't allow timer interrupts while the > - * linked list is being modified > - */ > - flag = disable_interrupts(); > - > - if (first_timer_isr == NULL) { > - first_timer_isr = new_func; > - } else { > - temp = first_timer_isr; > - while (temp->next != NULL) > - temp = temp->next; > - temp->next = new_func; > - } > - > - if (flag) > - enable_interrupts(); > - > - return 0; > -} > - > -/* > - * timer_isr() MUST be the registered interrupt handler for > - */ > -void timer_isr(void *unused) > -{ > - struct timer_isr_function *temp = first_timer_isr; > - > - system_ticks++; > - > - /* Execute each registered function */ > - while (temp != NULL) { > - temp->isr_func(); > - temp = temp->next; > - } > -} > - > -ulong get_timer(ulong base) > -{ > - return system_ticks - base; > -} > - > -void timer_set_tsc_base(uint64_t new_base) > -{ > - gd->arch.tsc_base = new_base; > -} > - > -uint64_t timer_get_tsc(void) > -{ > - uint64_t time_now; > - > - time_now = rdtsc(); > - if (!gd->arch.tsc_base) > - gd->arch.tsc_base = time_now; > - > - return time_now - gd->arch.tsc_base; > -} > -- > 1.8.2.1 > Acked-by: Graeme Russ <graeme.russ@gmail.com>
diff --git a/arch/x86/lib/Makefile b/arch/x86/lib/Makefile index 0bc8c2f..c614479 100644 --- a/arch/x86/lib/Makefile +++ b/arch/x86/lib/Makefile @@ -36,7 +36,6 @@ COBJS-$(CONFIG_PCI) += pci_type1.o COBJS-y += relocate.o COBJS-y += physmem.o COBJS-y += string.o -COBJS-$(CONFIG_SYS_X86_ISR_TIMER) += timer.o COBJS-$(CONFIG_SYS_X86_TSC_TIMER) += tsc_timer.o COBJS-$(CONFIG_VIDEO_VGA) += video.o COBJS-$(CONFIG_CMD_ZBOOT) += zimage.o diff --git a/arch/x86/lib/timer.c b/arch/x86/lib/timer.c deleted file mode 100644 index fb11bfe..0000000 --- a/arch/x86/lib/timer.c +++ /dev/null @@ -1,118 +0,0 @@ -/* - * (C) Copyright 2008,2009 - * Graeme Russ, <graeme.russ@gmail.com> - * - * (C) Copyright 2002 - * Daniel Engström, Omicron Ceti AB, <daniel@omicron.se> - * - * 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 <malloc.h> -#include <asm/io.h> -#include <asm/i8254.h> -#include <asm/ibmpc.h> - -DECLARE_GLOBAL_DATA_PTR; - -struct timer_isr_function { - struct timer_isr_function *next; - timer_fnc_t *isr_func; -}; - -static struct timer_isr_function *first_timer_isr; -static unsigned long system_ticks; - -/* - * register_timer_isr() allows multiple architecture and board specific - * functions to be called every millisecond. Keep the execution time of - * each function as low as possible - */ -int register_timer_isr(timer_fnc_t *isr_func) -{ - struct timer_isr_function *new_func; - struct timer_isr_function *temp; - int flag; - - new_func = malloc(sizeof(struct timer_isr_function)); - - if (new_func == NULL) - return 1; - - new_func->isr_func = isr_func; - new_func->next = NULL; - - /* - * Don't allow timer interrupts while the - * linked list is being modified - */ - flag = disable_interrupts(); - - if (first_timer_isr == NULL) { - first_timer_isr = new_func; - } else { - temp = first_timer_isr; - while (temp->next != NULL) - temp = temp->next; - temp->next = new_func; - } - - if (flag) - enable_interrupts(); - - return 0; -} - -/* - * timer_isr() MUST be the registered interrupt handler for - */ -void timer_isr(void *unused) -{ - struct timer_isr_function *temp = first_timer_isr; - - system_ticks++; - - /* Execute each registered function */ - while (temp != NULL) { - temp->isr_func(); - temp = temp->next; - } -} - -ulong get_timer(ulong base) -{ - return system_ticks - base; -} - -void timer_set_tsc_base(uint64_t new_base) -{ - gd->arch.tsc_base = new_base; -} - -uint64_t timer_get_tsc(void) -{ - uint64_t time_now; - - time_now = rdtsc(); - if (!gd->arch.tsc_base) - gd->arch.tsc_base = time_now; - - return time_now - gd->arch.tsc_base; -}
This is no longer used since we prefer the more accurate TSC timer, so remove the dead code. Signed-off-by: Simon Glass <sjg@chromium.org> --- arch/x86/lib/Makefile | 1 - arch/x86/lib/timer.c | 118 -------------------------------------------------- 2 files changed, 119 deletions(-) delete mode 100644 arch/x86/lib/timer.c