lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Fri, 14 Mar 2014 19:13:19 -0500 From: Suman Anna <s-anna@...com> To: Joel Fernandes <joelf@...com>, Tony Lindgren <tony@...mide.com>, Rob Herring <robh@...nel.org>, Tero Kristo <t-kristo@...com>, Nishanth Menon <nm@...com>, Felipe Balbi <balbi@...com> CC: Linux OMAP List <linux-omap@...r.kernel.org>, Linux ARM Kernel List <linux-arm-kernel@...ts.infradead.org>, Linux Kernel Mailing List <linux-kernel@...r.kernel.org> Subject: Re: [RFC 4/5] clocksource: omap-timer: Introduce clocksource driver for OMAP SoCs Hi Joel, On 03/13/2014 03:35 PM, Joel Fernandes wrote: > We introduce functions to initialize clocksource and clockevent, use > CLOCKSOURCE_OF_DECLARE to declare the clocksource, and handle the clocksource > selection on a per-SoC basis (Currently only AM335x is supported). Powering up > of the timer will be done with the help of the mach-omap layer function that's > introduced earlier in the series. > > We make a local copy of dmtimer API for use by clocksource, the original > dmtimer API in plat-omap is kept as-is till the migration of all SoCs is > completed after which it can't be deleted. > > Signed-off-by: Joel Fernandes <joelf@...com> > --- > drivers/clocksource/Makefile | 1 + > drivers/clocksource/omap-timer.c | 1157 ++++++++++++++++++++++++++++++++++++++ > drivers/clocksource/omap-timer.h | 422 ++++++++++++++ > 3 files changed, 1580 insertions(+) > create mode 100644 drivers/clocksource/omap-timer.c > create mode 100644 drivers/clocksource/omap-timer.h > > diff --git a/drivers/clocksource/Makefile b/drivers/clocksource/Makefile > index c7ca50a..2ffe698 100644 > --- a/drivers/clocksource/Makefile > +++ b/drivers/clocksource/Makefile > @@ -37,3 +37,4 @@ obj-$(CONFIG_ARM_ARCH_TIMER) += arm_arch_timer.o > obj-$(CONFIG_ARM_GLOBAL_TIMER) += arm_global_timer.o > obj-$(CONFIG_CLKSRC_METAG_GENERIC) += metag_generic.o > obj-$(CONFIG_ARCH_HAS_TICK_BROADCAST) += dummy_timer.o > +obj-y += omap-timer.o > diff --git a/drivers/clocksource/omap-timer.c b/drivers/clocksource/omap-timer.c > new file mode 100644 > index 0000000..91593d8 > --- /dev/null > +++ b/drivers/clocksource/omap-timer.c > @@ -0,0 +1,1157 @@ > +/* > + * drivers/clocksource/omap-timer.c > + * > + * OMAP Dual-Mode Timers > + * > + * Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com/ > + * Joel Fernandes <joelf@...com> > + * Tarun Kanti DebBarma <tarun.kanti@...com> > + * Thara Gopinath <thara@...com> > + * > + * dmtimer adaptation to platform_driver. > + * > + * Copyright (C) 2005 Nokia Corporation > + * OMAP2 support by Juha Yrjola > + * API improvements and OMAP2 clock framework support by Timo Teras > + * > + * Copyright (C) 2014 Texas Instruments > + * Added OMAP4 support - Santosh Shilimkar <santosh.shilimkar@...com> > + * > + * 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 SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED > + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF > + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN > + * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, > + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT > + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT > + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF > + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. > + * > + * 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., > + * 675 Mass Ave, Cambridge, MA 02139, USA. > + */ > +#include <linux/init.h> > +#include <linux/time.h> > +#include <linux/interrupt.h> > +#include <linux/err.h> > +#include <linux/clk.h> > +#include <linux/delay.h> > +#include <linux/irq.h> > +#include <linux/clocksource.h> > +#include <linux/clockchips.h> > +#include <linux/slab.h> > +#include <linux/sched_clock.h> > + > +#include <linux/clk.h> > +#include <linux/module.h> > +#include <linux/io.h> > +#include <linux/device.h> > +#include <linux/err.h> > +#include <linux/pm_runtime.h> > +#include <linux/of.h> > +#include <linux/of_irq.h> > +#include <linux/of_address.h> > + > +#include <linux/of_device.h> > +#include <linux/platform_device.h> > +#include <linux/platform_data/dmtimer-omap.h> > +#include "omap-timer.h" > +/* > + * TODO: OMAP1 support removed due to need for header mach/hardware.h > + * OMAP2 support may be broken due to lack of cpu_is stuff, see omap_dm_timer_get_errata > + */ > + > +/** > + * omap_dm_timer_get_errata - get errata flags for a timer > + * > + * Get the timer errata flags that are specific to the OMAP device being used. > + */ > +static u32 __init omap_dm_timer_get_errata(void) > +{ > + /* ifdef'd out due to lack of availaibility of soc.h */ > +#if 0 > + if (cpu_is_omap24xx()) > + return 0; You should be able to fix this using some compatible checks. regards Suman > +#endif > + return OMAP_TIMER_ERRATA_I103_I767; > +} > + > + -snip- -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists