Commit 19388fb0 authored by Ralf Baechle's avatar Ralf Baechle

[MIPS] Cleanup pcspeaker platform device registration.

Move registration into the actual platform code instead of making a
desparate attempt at sharing the hand full of likes of code in pcspeaker.c.
Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent 0ab7aefc
...@@ -132,7 +132,6 @@ config MACH_JAZZ ...@@ -132,7 +132,6 @@ config MACH_JAZZ
select I8253 select I8253
select I8259 select I8259
select ISA select ISA
select PCSPEAKER
select SYS_HAS_CPU_R4X00 select SYS_HAS_CPU_R4X00
select SYS_SUPPORTS_32BIT_KERNEL select SYS_SUPPORTS_32BIT_KERNEL
select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
...@@ -378,7 +377,6 @@ config QEMU ...@@ -378,7 +377,6 @@ config QEMU
select I8259 select I8259
select IRQ_CPU select IRQ_CPU
select ISA select ISA
select PCSPEAKER
select SWAP_IO_SPACE select SWAP_IO_SPACE
select SYS_HAS_CPU_MIPS32_R1 select SYS_HAS_CPU_MIPS32_R1
select SYS_HAS_EARLY_PRINTK select SYS_HAS_EARLY_PRINTK
...@@ -590,7 +588,6 @@ config SNI_RM ...@@ -590,7 +588,6 @@ config SNI_RM
select I8253 select I8253
select I8259 select I8259
select ISA select ISA
select PCSPEAKER
select SWAP_IO_SPACE if CPU_BIG_ENDIAN select SWAP_IO_SPACE if CPU_BIG_ENDIAN
select SYS_HAS_CPU_R4X00 select SYS_HAS_CPU_R4X00
select SYS_HAS_CPU_R5000 select SYS_HAS_CPU_R5000
...@@ -1995,9 +1992,6 @@ config MMU ...@@ -1995,9 +1992,6 @@ config MMU
config I8253 config I8253
bool bool
config PCSPEAKER
bool
config ZONE_DMA32 config ZONE_DMA32
bool bool
......
...@@ -200,12 +200,19 @@ static struct platform_device jazz_cmos_pdev = { ...@@ -200,12 +200,19 @@ static struct platform_device jazz_cmos_pdev = {
.resource = jazz_cmos_rsrc .resource = jazz_cmos_rsrc
}; };
static struct platform_device pcspeaker_pdev = {
.name = "pcspkr",
.id = -1,
};
static int __init jazz_setup_devinit(void) static int __init jazz_setup_devinit(void)
{ {
platform_device_register(&jazz_serial8250_device); platform_device_register(&jazz_serial8250_device);
platform_device_register(&jazz_esp_pdev); platform_device_register(&jazz_esp_pdev);
platform_device_register(&jazz_sonic_pdev); platform_device_register(&jazz_sonic_pdev);
platform_device_register(&jazz_cmos_pdev); platform_device_register(&jazz_cmos_pdev);
platform_device_register(&pcspeaker_pdev);
return 0; return 0;
} }
......
/*
* Copyright (C) 2006 IBM Corporation
*
* Implements device information for i8253 timer chip
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License version
* 2 as published by the Free Software Foundation
*/
#include <linux/platform_device.h>
static __init int add_pcspkr(void)
{
struct platform_device *pd;
int ret;
pd = platform_device_alloc("pcspkr", -1);
if (!pd)
return -ENOMEM;
ret = platform_device_add(pd);
if (ret)
platform_device_put(pd);
return ret;
}
device_initcall(add_pcspkr);
#include <linux/init.h> #include <linux/init.h>
#include <linux/platform_device.h>
#include <asm/i8253.h> #include <asm/i8253.h>
#include <asm/io.h> #include <asm/io.h>
...@@ -20,3 +21,17 @@ void __init plat_mem_setup(void) ...@@ -20,3 +21,17 @@ void __init plat_mem_setup(void)
{ {
qemu_reboot_setup(); qemu_reboot_setup();
} }
static struct platform_device pcspeaker_pdev = {
.name = "pcspkr",
.id = -1,
};
static int __init qemu_platform_devinit(void)
{
platform_device_register(&pcspeaker_pdev);
return 0;
}
device_initcall(qemu_platform_devinit);
...@@ -76,6 +76,11 @@ static struct platform_device pcit_cmos_device = { ...@@ -76,6 +76,11 @@ static struct platform_device pcit_cmos_device = {
.resource = pcit_cmos_rsrc .resource = pcit_cmos_rsrc
}; };
static struct platform_device pcit_pcspeaker_pdev = {
.name = "pcspkr",
.id = -1,
};
static struct resource sni_io_resource = { static struct resource sni_io_resource = {
.start = 0x00000000UL, .start = 0x00000000UL,
.end = 0x03bfffffUL, .end = 0x03bfffffUL,
...@@ -277,11 +282,13 @@ static int __init snirm_pcit_setup_devinit(void) ...@@ -277,11 +282,13 @@ static int __init snirm_pcit_setup_devinit(void)
case SNI_BRD_PCI_TOWER: case SNI_BRD_PCI_TOWER:
platform_device_register(&pcit_serial8250_device); platform_device_register(&pcit_serial8250_device);
platform_device_register(&pcit_cmos_device); platform_device_register(&pcit_cmos_device);
platform_device_register(&pcit_pcspeaker_pdev);
break; break;
case SNI_BRD_PCI_TOWER_CPLUS: case SNI_BRD_PCI_TOWER_CPLUS:
platform_device_register(&pcit_cplus_serial8250_device); platform_device_register(&pcit_cplus_serial8250_device);
platform_device_register(&pcit_cmos_device); platform_device_register(&pcit_cmos_device);
platform_device_register(&pcit_pcspeaker_pdev);
break; break;
} }
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment