Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 25065
b: refs/heads/master
c: e5c6c8e
h: refs/heads/master
i:
  25063: 9c1c8b1
v: v3
  • Loading branch information
Michael Neuling authored and Dmitry Torokhov committed Mar 14, 2006
1 parent 29f1841 commit 30926c3
Show file tree
Hide file tree
Showing 8 changed files with 98 additions and 27 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: aaef685d5726768d25cbdc672a59c284d820b82e
refs/heads/master: e5c6c8e457d16c7cbc12f849ad18d4d508950de2
18 changes: 18 additions & 0 deletions trunk/arch/alpha/kernel/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
#include <linux/init.h>
#include <linux/string.h>
#include <linux/ioport.h>
#include <linux/platform_device.h>
#include <linux/bootmem.h>
#include <linux/pci.h>
#include <linux/seq_file.h>
Expand Down Expand Up @@ -1484,3 +1485,20 @@ alpha_panic_event(struct notifier_block *this, unsigned long event, void *ptr)
#endif
return NOTIFY_DONE;
}

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);
18 changes: 18 additions & 0 deletions trunk/arch/i386/kernel/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
#include <linux/initrd.h>
#include <linux/bootmem.h>
#include <linux/seq_file.h>
#include <linux/platform_device.h>
#include <linux/console.h>
#include <linux/mca.h>
#include <linux/root_dev.h>
Expand Down Expand Up @@ -1634,6 +1635,23 @@ void __init setup_arch(char **cmdline_p)
#endif
}

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 "setup_arch_post.h"
/*
* Local Variables:
Expand Down
6 changes: 6 additions & 0 deletions trunk/arch/mips/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -233,6 +233,7 @@ config MACH_JAZZ
select ARC32
select ARCH_MAY_HAVE_PC_FDC
select GENERIC_ISA_DMA
select I8253
select I8259
select ISA
select SYS_HAS_CPU_R4X00
Expand Down Expand Up @@ -530,6 +531,7 @@ config QEMU
select DMA_COHERENT
select GENERIC_ISA_DMA
select HAVE_STD_PC_SERIAL_PORT
select I8253
select I8259
select ISA
select SWAP_IO_SPACE
Expand Down Expand Up @@ -714,6 +716,7 @@ config SNI_RM200_PCI
select HAVE_STD_PC_SERIAL_PORT
select HW_HAS_EISA
select HW_HAS_PCI
select I8253
select I8259
select ISA
select SYS_HAS_CPU_R4X00
Expand Down Expand Up @@ -1711,6 +1714,9 @@ config MMU
bool
default y

config I8253
bool

source "drivers/pcmcia/Kconfig"

source "drivers/pci/hotplug/Kconfig"
Expand Down
2 changes: 2 additions & 0 deletions trunk/arch/mips/kernel/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,8 @@ obj-$(CONFIG_PROC_FS) += proc.o

obj-$(CONFIG_64BIT) += cpu-bugs64.o

obj-$(CONFIG_I8253) += i8253.o

CFLAGS_cpu-bugs64.o = $(shell if $(CC) $(CFLAGS) -Wa,-mdaddi -c -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-DHAVE_AS_SET_DADDI"; fi)

EXTRA_AFLAGS := $(CFLAGS)
28 changes: 28 additions & 0 deletions trunk/arch/mips/kernel/i8253.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
/*
* 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);
24 changes: 24 additions & 0 deletions trunk/arch/powerpc/kernel/setup-common.c
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
#include <linux/reboot.h>
#include <linux/delay.h>
#include <linux/initrd.h>
#include <linux/platform_device.h>
#include <linux/ide.h>
#include <linux/seq_file.h>
#include <linux/ioport.h>
Expand Down Expand Up @@ -469,3 +470,26 @@ static int __init early_xmon(char *p)
}
early_param("xmon", early_xmon);
#endif

static __init int add_pcspkr(void)
{
struct device_node *np;
struct platform_device *pd;
int ret;

np = of_find_compatible_node(NULL, NULL, "pnpPNP,100");
of_node_put(np);
if (!np)
return -ENODEV;

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);
27 changes: 1 addition & 26 deletions trunk/drivers/input/misc/pcspkr.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ MODULE_AUTHOR("Vojtech Pavlik <vojtech@ucw.cz>");
MODULE_DESCRIPTION("PC Speaker beeper driver");
MODULE_LICENSE("GPL");

static struct platform_device *pcspkr_platform_device;
static DEFINE_SPINLOCK(i8253_beep_lock);

static int pcspkr_event(struct input_dev *dev, unsigned int type, unsigned int code, int value)
Expand Down Expand Up @@ -135,35 +134,11 @@ static struct platform_driver pcspkr_platform_driver = {

static int __init pcspkr_init(void)
{
int err;

err = platform_driver_register(&pcspkr_platform_driver);
if (err)
return err;

pcspkr_platform_device = platform_device_alloc("pcspkr", -1);
if (!pcspkr_platform_device) {
err = -ENOMEM;
goto err_unregister_driver;
}

err = platform_device_add(pcspkr_platform_device);
if (err)
goto err_free_device;

return 0;

err_free_device:
platform_device_put(pcspkr_platform_device);
err_unregister_driver:
platform_driver_unregister(&pcspkr_platform_driver);

return err;
return platform_driver_register(&pcspkr_platform_driver);
}

static void __exit pcspkr_exit(void)
{
platform_device_unregister(pcspkr_platform_device);
platform_driver_unregister(&pcspkr_platform_driver);
}

Expand Down

0 comments on commit 30926c3

Please sign in to comment.