Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 190936
b: refs/heads/master
c: ff2db7c
h: refs/heads/master
v: v3
  • Loading branch information
Geert Uytterhoeven committed May 17, 2010
1 parent 4429e21 commit 8ae5a56
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 21 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: fa6688e1c7e7341fb7d1ca5878a3641762e60dec
refs/heads/master: ff2db7c5ab78817eb3c5d15dd87f18e9be726f1a
5 changes: 5 additions & 0 deletions trunk/arch/m68k/amiga/platform.c
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,11 @@ static int __init amiga_init_devices(void)
if (AMIGAHW_PRESENT(AMI_VIDEO))
platform_device_register_simple("amiga-video", -1, NULL, 0);


/* sound hardware */
if (AMIGAHW_PRESENT(AMI_AUDIO))
platform_device_register_simple("amiga-audio", -1, NULL, 0);

return 0;
}

Expand Down
51 changes: 31 additions & 20 deletions trunk/sound/oss/dmasound/dmasound_paula.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
#include <linux/ioport.h>
#include <linux/soundcard.h>
#include <linux/interrupt.h>
#include <linux/platform_device.h>

#include <asm/uaccess.h>
#include <asm/setup.h>
Expand Down Expand Up @@ -710,31 +711,41 @@ static MACHINE machAmiga = {
/*** Config & Setup **********************************************************/


static int __init dmasound_paula_init(void)
static int __init amiga_audio_probe(struct platform_device *pdev)
{
int err;

if (MACH_IS_AMIGA && AMIGAHW_PRESENT(AMI_AUDIO)) {
if (!request_mem_region(CUSTOM_PHYSADDR+0xa0, 0x40,
"dmasound [Paula]"))
return -EBUSY;
dmasound.mach = machAmiga;
dmasound.mach.default_hard = def_hard ;
dmasound.mach.default_soft = def_soft ;
err = dmasound_init();
if (err)
release_mem_region(CUSTOM_PHYSADDR+0xa0, 0x40);
return err;
} else
return -ENODEV;
dmasound.mach = machAmiga;
dmasound.mach.default_hard = def_hard ;
dmasound.mach.default_soft = def_soft ;
return dmasound_init();
}

static void __exit dmasound_paula_cleanup(void)
static int __exit amiga_audio_remove(struct platform_device *pdev)
{
dmasound_deinit();
release_mem_region(CUSTOM_PHYSADDR+0xa0, 0x40);
return 0;
}

static struct platform_driver amiga_audio_driver = {
.remove = __exit_p(amiga_audio_remove),
.driver = {
.name = "amiga-audio",
.owner = THIS_MODULE,
},
};

static int __init amiga_audio_init(void)
{
return platform_driver_probe(&amiga_audio_driver, amiga_audio_probe);
}

module_init(dmasound_paula_init);
module_exit(dmasound_paula_cleanup);
module_init(amiga_audio_init);

static void __exit amiga_audio_exit(void)
{
platform_driver_unregister(&amiga_audio_driver);
}

module_exit(amiga_audio_exit);

MODULE_LICENSE("GPL");
MODULE_ALIAS("platform:amiga-audio");

0 comments on commit 8ae5a56

Please sign in to comment.