mirror of
https://github.com/torvalds/linux.git
synced 2024-12-25 12:21:37 +00:00
558de28249
Change the function name to something more explicit since it is only used in init error cases. Add __init annotation and description about the function usage. Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: mark.rutland@arm.com Cc: devicetree@vger.kernel.org Cc: alexandre.torgue@st.com Cc: arnd@arndb.de Cc: julien.thierry@arm.com Cc: daniel.lezcano@linaro.org Cc: linux@armlinux.org.uk Cc: robh+dt@kernel.org Cc: linux-arm-kernel@lists.infradead.org Cc: mcoquelin.stm32@gmail.com Cc: sudeep.holla@arm.com Cc: ludovic.barre@st.com Link: https://lkml.kernel.org/r/1510649563-22975-2-git-send-email-benjamin.gaignard@linaro.org
74 lines
1.3 KiB
C
74 lines
1.3 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef __TIMER_OF_H__
|
|
#define __TIMER_OF_H__
|
|
|
|
#include <linux/clockchips.h>
|
|
|
|
#define TIMER_OF_BASE 0x1
|
|
#define TIMER_OF_CLOCK 0x2
|
|
#define TIMER_OF_IRQ 0x4
|
|
|
|
struct of_timer_irq {
|
|
int irq;
|
|
int index;
|
|
int percpu;
|
|
const char *name;
|
|
unsigned long flags;
|
|
irq_handler_t handler;
|
|
};
|
|
|
|
struct of_timer_base {
|
|
void __iomem *base;
|
|
const char *name;
|
|
int index;
|
|
};
|
|
|
|
struct of_timer_clk {
|
|
struct clk *clk;
|
|
const char *name;
|
|
int index;
|
|
unsigned long rate;
|
|
unsigned long period;
|
|
};
|
|
|
|
struct timer_of {
|
|
unsigned int flags;
|
|
struct clock_event_device clkevt;
|
|
struct of_timer_base of_base;
|
|
struct of_timer_irq of_irq;
|
|
struct of_timer_clk of_clk;
|
|
void *private_data;
|
|
};
|
|
|
|
static inline struct timer_of *to_timer_of(struct clock_event_device *clkevt)
|
|
{
|
|
return container_of(clkevt, struct timer_of, clkevt);
|
|
}
|
|
|
|
static inline void __iomem *timer_of_base(struct timer_of *to)
|
|
{
|
|
return to->of_base.base;
|
|
}
|
|
|
|
static inline int timer_of_irq(struct timer_of *to)
|
|
{
|
|
return to->of_irq.irq;
|
|
}
|
|
|
|
static inline unsigned long timer_of_rate(struct timer_of *to)
|
|
{
|
|
return to->of_clk.rate;
|
|
}
|
|
|
|
static inline unsigned long timer_of_period(struct timer_of *to)
|
|
{
|
|
return to->of_clk.period;
|
|
}
|
|
|
|
extern int __init timer_of_init(struct device_node *np,
|
|
struct timer_of *to);
|
|
|
|
extern void __init timer_of_cleanup(struct timer_of *to);
|
|
|
|
#endif
|