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

Commit 813dcf7a authored by Alexey Dobriyan's avatar Alexey Dobriyan
Browse files

proc: move /proc/hardware to m68k-specific code

parent b457d151
Loading
Loading
Loading
Loading
+9 −12
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/mm.h>
#include <linux/seq_file.h>
#include <linux/tty.h>
#include <linux/console.h>
#include <linux/rtc.h>
@@ -93,7 +94,7 @@ static char amiga_model_name[13] = "Amiga ";

static void amiga_sched_init(irq_handler_t handler);
static void amiga_get_model(char *model);
static int amiga_get_hardware_list(char *buffer);
static void amiga_get_hardware_list(struct seq_file *m);
/* amiga specific timer functions */
static unsigned long amiga_gettimeoffset(void);
static int a3000_hwclk(int, struct rtc_time *);
@@ -911,13 +912,11 @@ static void amiga_get_model(char *model)
}


static int amiga_get_hardware_list(char *buffer)
static void amiga_get_hardware_list(struct seq_file *m)
{
	int len = 0;

	if (AMIGAHW_PRESENT(CHIP_RAM))
		len += sprintf(buffer+len, "Chip RAM:\t%ldK\n", amiga_chip_size>>10);
	len += sprintf(buffer+len, "PS Freq:\t%dHz\nEClock Freq:\t%ldHz\n",
		seq_printf(m, "Chip RAM:\t%ldK\n", amiga_chip_size>>10);
	seq_printf(m, "PS Freq:\t%dHz\nEClock Freq:\t%ldHz\n",
			amiga_psfreq, amiga_eclock);
	if (AMIGAHW_PRESENT(AMI_VIDEO)) {
		char *type;
@@ -935,14 +934,14 @@ static int amiga_get_hardware_list(char *buffer)
			type = "Old or Unknown";
			break;
		}
		len += sprintf(buffer+len, "Graphics:\t%s\n", type);
		seq_printf(m, "Graphics:\t%s\n", type);
	}

#define AMIGAHW_ANNOUNCE(name, str)			\
	if (AMIGAHW_PRESENT(name))			\
		len += sprintf (buffer+len, "\t%s\n", str)
		seq_printf (m, "\t%s\n", str)

	len += sprintf (buffer + len, "Detected hardware:\n");
	seq_printf (m, "Detected hardware:\n");

	AMIGAHW_ANNOUNCE(AMI_VIDEO, "Amiga Video");
	AMIGAHW_ANNOUNCE(AMI_BLITTER, "Blitter");
@@ -975,15 +974,13 @@ static int amiga_get_hardware_list(char *buffer)
	AMIGAHW_ANNOUNCE(PCMCIA, "PCMCIA Slot");
#ifdef CONFIG_ZORRO
	if (AMIGAHW_PRESENT(ZORRO))
		len += sprintf(buffer+len, "\tZorro II%s AutoConfig: %d Expansion "
		seq_printf(m, "\tZorro II%s AutoConfig: %d Expansion "
				"Device%s\n",
				AMIGAHW_PRESENT(ZORRO3) ? "I" : "",
				zorro_num_autocon, zorro_num_autocon == 1 ? "" : "s");
#endif /* CONFIG_ZORRO */

#undef AMIGAHW_ANNOUNCE

	return len;
}

/*
+7 −8
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@

#include <linux/types.h>
#include <linux/mm.h>
#include <linux/seq_file.h>
#include <linux/console.h>
#include <linux/init.h>
#include <linux/delay.h>
@@ -63,7 +64,7 @@ int atari_rtc_year_offset;
/* local function prototypes */
static void atari_reset(void);
static void atari_get_model(char *model);
static int atari_get_hardware_list(char *buffer);
static void atari_get_hardware_list(struct seq_file *m);

/* atari specific irq functions */
extern void atari_init_IRQ (void);
@@ -611,21 +612,21 @@ static void atari_get_model(char *model)
}


static int atari_get_hardware_list(char *buffer)
static void atari_get_hardware_list(struct seq_file *m)
{
	int len = 0, i;
	int i;

	for (i = 0; i < m68k_num_memory; i++)
		len += sprintf(buffer+len, "\t%3ld MB at 0x%08lx (%s)\n",
		seq_printf(m, "\t%3ld MB at 0x%08lx (%s)\n",
				m68k_memory[i].size >> 20, m68k_memory[i].addr,
				(m68k_memory[i].addr & 0xff000000 ?
				 "alternate RAM" : "ST-RAM"));

#define ATARIHW_ANNOUNCE(name, str)			\
	if (ATARIHW_PRESENT(name))			\
		len += sprintf(buffer + len, "\t%s\n", str)
		seq_printf(m, "\t%s\n", str)

	len += sprintf(buffer + len, "Detected hardware:\n");
	seq_printf(m, "Detected hardware:\n");
	ATARIHW_ANNOUNCE(STND_SHIFTER, "ST Shifter");
	ATARIHW_ANNOUNCE(EXTD_SHIFTER, "STe Shifter");
	ATARIHW_ANNOUNCE(TT_SHIFTER, "TT Shifter");
@@ -654,6 +655,4 @@ static int atari_get_hardware_list(char *buffer)
	ATARIHW_ANNOUNCE(BLITTER, "Blitter");
	ATARIHW_ANNOUNCE(VME, "VME Bus");
	ATARIHW_ANNOUNCE(DSP56K, "DSP56001 processor");

	return len;
}
+0 −11
Original line number Diff line number Diff line
@@ -38,7 +38,6 @@
#include <asm/bvme6000hw.h>

static void bvme6000_get_model(char *model);
static int  bvme6000_get_hardware_list(char *buffer);
extern void bvme6000_sched_init(irq_handler_t handler);
extern unsigned long bvme6000_gettimeoffset (void);
extern int bvme6000_hwclk (int, struct rtc_time *);
@@ -82,15 +81,6 @@ static void bvme6000_get_model(char *model)
    sprintf(model, "BVME%d000", m68k_cputype == CPU_68060 ? 6 : 4);
}


/* No hardware options on BVME6000? */

static int bvme6000_get_hardware_list(char *buffer)
{
    *buffer = '\0';
    return 0;
}

/*
 * This function is called during kernel startup to initialize
 * the bvme6000 IRQ handling routines.
@@ -127,7 +117,6 @@ void __init config_bvme6000(void)
    mach_set_clock_mmss	 = bvme6000_set_clock_mmss;
    mach_reset		 = bvme6000_reset;
    mach_get_model       = bvme6000_get_model;
    mach_get_hardware_list = bvme6000_get_hardware_list;

    printk ("Board is %sconfigured as a System Controller\n",
		*config_reg_ptr & BVME_CONFIG_SW1 ? "" : "not ");
+28 −7
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@
#include <linux/string.h>
#include <linux/init.h>
#include <linux/bootmem.h>
#include <linux/proc_fs.h>
#include <linux/seq_file.h>
#include <linux/module.h>
#include <linux/initrd.h>
@@ -80,7 +81,7 @@ void (*mach_sched_init) (irq_handler_t handler) __initdata = NULL;
/* machine dependent irq functions */
void (*mach_init_IRQ) (void) __initdata = NULL;
void (*mach_get_model) (char *model);
int (*mach_get_hardware_list) (char *buffer);
void (*mach_get_hardware_list) (struct seq_file *m);
/* machine dependent timer functions */
unsigned long (*mach_gettimeoffset) (void);
int (*mach_hwclk) (int, struct rtc_time*);
@@ -467,9 +468,9 @@ const struct seq_operations cpuinfo_op = {
	.show	= show_cpuinfo,
};

int get_hardware_list(char *buffer)
#ifdef CONFIG_PROC_HARDWARE
static int hardware_proc_show(struct seq_file *m, void *v)
{
	int len = 0;
	char model[80];
	unsigned long mem;
	int i;
@@ -479,17 +480,37 @@ int get_hardware_list(char *buffer)
	else
		strcpy(model, "Unknown m68k");

	len += sprintf(buffer + len, "Model:\t\t%s\n", model);
	seq_printf(m, "Model:\t\t%s\n", model);
	for (mem = 0, i = 0; i < m68k_num_memory; i++)
		mem += m68k_memory[i].size;
	len += sprintf(buffer + len, "System Memory:\t%ldK\n", mem >> 10);
	seq_printf(m, "System Memory:\t%ldK\n", mem >> 10);

	if (mach_get_hardware_list)
		len += mach_get_hardware_list(buffer + len);
		mach_get_hardware_list(m);

	return len;
	return 0;
}

static int hardware_proc_open(struct inode *inode, struct file *file)
{
	return single_open(file, hardware_proc_show, NULL);
}

static const struct file_operations hardware_proc_fops = {
	.open		= hardware_proc_open,
	.read		= seq_read,
	.llseek		= seq_lseek,
	.release	= single_release,
};

static int __init proc_hardware_init(void)
{
	proc_create("hardware", 0, NULL, &hardware_proc_fops);
	return 0;
}
module_init(proc_hardware_init);
#endif

void check_bugs(void)
{
#ifndef CONFIG_M68KFPU_EMU
+0 −10
Original line number Diff line number Diff line
@@ -37,7 +37,6 @@


static void mvme147_get_model(char *model);
static int  mvme147_get_hardware_list(char *buffer);
extern void mvme147_sched_init(irq_handler_t handler);
extern unsigned long mvme147_gettimeoffset (void);
extern int mvme147_hwclk (int, struct rtc_time *);
@@ -76,14 +75,6 @@ static void mvme147_get_model(char *model)
	sprintf(model, "Motorola MVME147");
}


static int mvme147_get_hardware_list(char *buffer)
{
	*buffer = '\0';

	return 0;
}

/*
 * This function is called during kernel startup to initialize
 * the mvme147 IRQ handling routines.
@@ -104,7 +95,6 @@ void __init config_mvme147(void)
	mach_set_clock_mmss	= mvme147_set_clock_mmss;
	mach_reset		= mvme147_reset;
	mach_get_model		= mvme147_get_model;
	mach_get_hardware_list	= mvme147_get_hardware_list;

	/* Board type is only set by newer versions of vmelilo/tftplilo */
	if (!vme_brdtype)
Loading