Input: pcspkr - separate device and driver registration
The current pcspkr code combines the device and driver registration. This patch splits these, putting the device registration in the arch specific code. PowerPC and MIPS only have the pcspkr present sometimes. Signed-off-by: Michael Neuling <mikey@neuling.org> Signed-off-by: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
This commit is contained in:
committed by
Dmitry Torokhov
parent
aaef685d57
commit
e5c6c8e457
@@ -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>
|
||||
@@ -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);
|
||||
|
Reference in New Issue
Block a user