Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7b1af32f authored by David S. Miller's avatar David S. Miller
Browse files

sparc32: Move sun4d show_leds() out of asm/obio.h



Put it, as well as cpu_leds[] array, into sun4d_irq.c

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 365b50f0
Loading
Loading
Loading
Loading
+0 −11
Original line number Diff line number Diff line
@@ -155,17 +155,6 @@ static inline void bw_set_ctrl(int cpu, unsigned ctrl)
			      "i" (ASI_M_CTL));
}

extern unsigned char cpu_leds[32];

static inline void show_leds(int cpuid)
{
	cpuid &= 0x1e;
	__asm__ __volatile__ ("stba %0, [%1] %2" : :
			      "r" ((cpu_leds[cpuid] << 4) | cpu_leds[cpuid+1]),
			      "r" (ECSR_BASE(cpuid) | BB_LEDS),
			      "i" (ASI_M_CTL));
}

static inline unsigned cc_get_ipen(void)
{
	unsigned pending;
+0 −1
Original line number Diff line number Diff line
@@ -51,7 +51,6 @@ struct sun4d_timer_regs *sun4d_timers;
#define MAX_STATIC_ALLOC	4
extern struct irqaction static_irqaction[MAX_STATIC_ALLOC];
extern int static_irq_count;
unsigned char cpu_leds[32];
#ifdef CONFIG_SMP
static unsigned char sbus_tid[32];
#endif
+11 −0
Original line number Diff line number Diff line
@@ -71,6 +71,17 @@ static void smp_setup_percpu_timer(void);
extern void cpu_probe(void);
extern void sun4d_distribute_irqs(void);

static unsigned char cpu_leds[32];

static inline void show_leds(int cpuid)
{
	cpuid &= 0x1e;
	__asm__ __volatile__ ("stba %0, [%1] %2" : :
			      "r" ((cpu_leds[cpuid] << 4) | cpu_leds[cpuid+1]),
			      "r" (ECSR_BASE(cpuid) | BB_LEDS),
			      "i" (ASI_M_CTL));
}

void __init smp4d_callin(void)
{
	int cpuid = hard_smp4d_processor_id();