static void __init at91sam9260_init_time(void)
{
- at91sam926x_pit_init();
+ at91sam926x_pit_init(NR_IRQS_LEGACY + AT91_ID_SYS);
}
AT91_SOC_START(at91sam9260)
static void __init at91sam9261_init_time(void)
{
- at91sam926x_pit_init();
+ at91sam926x_pit_init(NR_IRQS_LEGACY + AT91_ID_SYS);
}
AT91_SOC_START(at91sam9261)
static void __init at91sam9263_init_time(void)
{
- at91sam926x_pit_init();
+ at91sam926x_pit_init(NR_IRQS_LEGACY + AT91_ID_SYS);
}
AT91_SOC_START(at91sam9263)
#include <linux/of_irq.h>
#include <linux/slab.h>
-#include <mach/hardware.h>
-
#define AT91_PIT_MR 0x00 /* Mode Register */
#define AT91_PIT_PITIEN BIT(25) /* Timer Interrupt Enable */
#define AT91_PIT_PITEN BIT(24) /* Timer Enabled */
static void __iomem *pit_base_addr;
-void __init at91sam926x_pit_init(void)
+void __init at91sam926x_pit_init(int irq)
{
struct pit_data *data;
if (IS_ERR(data->mck))
panic(pr_fmt("Unable to get mck clk\n"));
- data->irq = NR_IRQS_LEGACY + AT91_ID_SYS;
+ data->irq = irq;
at91sam926x_pit_common_init(data);
}
static void __init at91sam9g45_init_time(void)
{
- at91sam926x_pit_init();
+ at91sam926x_pit_init(NR_IRQS_LEGACY + AT91_ID_SYS);
}
AT91_SOC_START(at91sam9g45)
static void __init at91sam9rl_init_time(void)
{
- at91sam926x_pit_init();
+ at91sam926x_pit_init(NR_IRQS_LEGACY + AT91_ID_SYS);
}
AT91_SOC_START(at91sam9rl)
extern void at91rm9200_ioremap_st(u32 addr);
extern void at91rm9200_timer_init(void);
extern void at91sam926x_ioremap_pit(u32 addr);
-extern void at91sam926x_pit_init(void);
+extern void at91sam926x_pit_init(int irq);
extern void at91x40_timer_init(void);
/* Clocks */