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

Commit 71baa1a5 authored by Ralf Baechle's avatar Ralf Baechle
Browse files

[MIPS] Get rid of unnecessary prototypes. Fixes and optimizations for HZ > 100.

parent 05faa7b7
Loading
Loading
Loading
Loading
+25 −27
Original line number Diff line number Diff line
@@ -3,8 +3,9 @@
 * License.  See the file "COPYING" in the main directory of this archive
 * for more details.
 *
 * Copyright (C) 1997, 1998, 2001, 2003 by Ralf Baechle
 * Copyright (C) 1997, 1998, 2001, 03, 05 by Ralf Baechle
 */
#include <linux/linkage.h>
#include <linux/init.h>
#include <linux/ds1286.h>
#include <linux/module.h>
@@ -41,28 +42,10 @@ static struct timer_list power_timer, blink_timer, debounce_timer, volume_timer;

#define MACHINE_PANICED		1
#define MACHINE_SHUTTING_DOWN	2
static int machine_state = 0;

static void sgi_machine_restart(char *command) __attribute__((noreturn));
static void sgi_machine_halt(void) __attribute__((noreturn));
static void sgi_machine_power_off(void) __attribute__((noreturn));
static int machine_state;

static void sgi_machine_restart(char *command)
{
	if (machine_state & MACHINE_SHUTTING_DOWN)
		sgi_machine_power_off();
	sgimc->cpuctrl0 |= SGIMC_CCTRL0_SYSINIT;
	while (1);
}

static void sgi_machine_halt(void)
{
	if (machine_state & MACHINE_SHUTTING_DOWN)
		sgi_machine_power_off();
	ArcEnterInteractiveMode();
}

static void sgi_machine_power_off(void)
static void ATTRIB_NORET sgi_machine_power_off(void)
{
	unsigned int tmp;

@@ -84,6 +67,21 @@ static void sgi_machine_power_off(void)
	}
}

static void ATTRIB_NORET sgi_machine_restart(char *command)
{
	if (machine_state & MACHINE_SHUTTING_DOWN)
		sgi_machine_power_off();
	sgimc->cpuctrl0 |= SGIMC_CCTRL0_SYSINIT;
	while (1);
}

static void ATTRIB_NORET sgi_machine_halt(void)
{
	if (machine_state & MACHINE_SHUTTING_DOWN)
		sgi_machine_power_off();
	ArcEnterInteractiveMode();
}

static void power_timeout(unsigned long data)
{
	sgi_machine_power_off();
@@ -103,7 +101,7 @@ static void debounce(unsigned long data)
	del_timer(&debounce_timer);
	if (sgint->istat1 & SGINT_ISTAT1_PWR) {
		/* Interrupt still being sent. */
		debounce_timer.expires = jiffies + 5; /* 0.05s  */
		debounce_timer.expires = jiffies + (HZ / 20); /* 0.05s  */
		add_timer(&debounce_timer);

		sgioc->panel = SGIOC_PANEL_POWERON | SGIOC_PANEL_POWERINTR |
@@ -151,7 +149,7 @@ static inline void volume_up_button(unsigned long data)
		indy_volume_button(1);

	if (sgint->istat1 & SGINT_ISTAT1_PWR) {
		volume_timer.expires = jiffies + 1;
		volume_timer.expires = jiffies + (HZ / 100);
		add_timer(&volume_timer);
	}
}
@@ -164,7 +162,7 @@ static inline void volume_down_button(unsigned long data)
		indy_volume_button(-1);

	if (sgint->istat1 & SGINT_ISTAT1_PWR) {
		volume_timer.expires = jiffies + 1;
		volume_timer.expires = jiffies + (HZ / 100);
		add_timer(&volume_timer);
	}
}
@@ -199,14 +197,14 @@ static irqreturn_t panel_int(int irq, void *dev_id, struct pt_regs *regs)
	if (!(buttons & SGIOC_PANEL_VOLUPINTR)) {
		init_timer(&volume_timer);
		volume_timer.function = volume_up_button;
		volume_timer.expires = jiffies + 1;
		volume_timer.expires = jiffies + (HZ / 100);
		add_timer(&volume_timer);
	}
	/* Volume down button was pressed */
	if (!(buttons & SGIOC_PANEL_VOLDNINTR)) {
		init_timer(&volume_timer);
		volume_timer.function = volume_down_button;
		volume_timer.expires = jiffies + 1;
		volume_timer.expires = jiffies + (HZ / 100);
		add_timer(&volume_timer);
	}