Blame view
sound/ppc/powermac.c
4.41 KB
1a59d1b8e treewide: Replace... |
1 |
// SPDX-License-Identifier: GPL-2.0-or-later |
1da177e4c Linux-2.6.12-rc2 |
2 3 4 5 |
/* * Driver for PowerMac AWACS * Copyright (c) 2001 by Takashi Iwai <tiwai@suse.de> * based on dmasound.c. |
1da177e4c Linux-2.6.12-rc2 |
6 |
*/ |
1da177e4c Linux-2.6.12-rc2 |
7 |
#include <linux/init.h> |
5e12bea08 [ALSA] powermac -... |
8 9 |
#include <linux/err.h> #include <linux/platform_device.h> |
65a772172 sound: fix driver... |
10 |
#include <linux/module.h> |
1da177e4c Linux-2.6.12-rc2 |
11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
#include <sound/core.h> #include <sound/initval.h> #include "pmac.h" #include "awacs.h" #include "burgundy.h" #define CHIP_NAME "PMac" MODULE_DESCRIPTION("PowerMac"); MODULE_SUPPORTED_DEVICE("{{Apple,PowerMac}}"); MODULE_LICENSE("GPL"); static int index = SNDRV_DEFAULT_IDX1; /* Index 0-MAX */ static char *id = SNDRV_DEFAULT_STR1; /* ID for this card */ |
a67ff6a54 ALSA: module_para... |
25 |
static bool enable_beep = 1; |
1da177e4c Linux-2.6.12-rc2 |
26 27 28 29 30 31 32 |
module_param(index, int, 0444); MODULE_PARM_DESC(index, "Index value for " CHIP_NAME " soundchip."); module_param(id, charp, 0444); MODULE_PARM_DESC(id, "ID string for " CHIP_NAME " soundchip."); module_param(enable_beep, bool, 0444); MODULE_PARM_DESC(enable_beep, "Enable beep using PCM."); |
f7a9275d9 [ALSA] unregister... |
33 |
static struct platform_device *device; |
1da177e4c Linux-2.6.12-rc2 |
34 35 |
/* |
1da177e4c Linux-2.6.12-rc2 |
36 |
*/ |
15afafc25 ALSA: ppc: remove... |
37 |
static int snd_pmac_probe(struct platform_device *devptr) |
1da177e4c Linux-2.6.12-rc2 |
38 |
{ |
65b29f503 [ALSA] Remove xxx... |
39 40 |
struct snd_card *card; struct snd_pmac *chip; |
1da177e4c Linux-2.6.12-rc2 |
41 42 |
char *name_ext; int err; |
107687974 ALSA: ppc: Conver... |
43 |
err = snd_card_new(&devptr->dev, index, id, THIS_MODULE, 0, &card); |
bd7dd77c2 ALSA: Convert to ... |
44 45 |
if (err < 0) return err; |
1da177e4c Linux-2.6.12-rc2 |
46 47 48 |
if ((err = snd_pmac_new(card, &chip)) < 0) goto __error; |
5e12bea08 [ALSA] powermac -... |
49 |
card->private_data = chip; |
1da177e4c Linux-2.6.12-rc2 |
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
switch (chip->model) { case PMAC_BURGUNDY: strcpy(card->driver, "PMac Burgundy"); strcpy(card->shortname, "PowerMac Burgundy"); sprintf(card->longname, "%s (Dev %d) Sub-frame %d", card->shortname, chip->device_id, chip->subframe); if ((err = snd_pmac_burgundy_init(chip)) < 0) goto __error; break; case PMAC_DACA: strcpy(card->driver, "PMac DACA"); strcpy(card->shortname, "PowerMac DACA"); sprintf(card->longname, "%s (Dev %d) Sub-frame %d", card->shortname, chip->device_id, chip->subframe); if ((err = snd_pmac_daca_init(chip)) < 0) goto __error; break; case PMAC_TUMBLER: case PMAC_SNAPPER: name_ext = chip->model == PMAC_TUMBLER ? "Tumbler" : "Snapper"; sprintf(card->driver, "PMac %s", name_ext); sprintf(card->shortname, "PowerMac %s", name_ext); sprintf(card->longname, "%s (Dev %d) Sub-frame %d", card->shortname, chip->device_id, chip->subframe); if ( snd_pmac_tumbler_init(chip) < 0 || snd_pmac_tumbler_post_init() < 0) goto __error; break; case PMAC_AWACS: case PMAC_SCREAMER: name_ext = chip->model == PMAC_SCREAMER ? "Screamer" : "AWACS"; sprintf(card->driver, "PMac %s", name_ext); sprintf(card->shortname, "PowerMac %s", name_ext); if (chip->is_pbook_3400) name_ext = " [PB3400]"; else if (chip->is_pbook_G3) name_ext = " [PBG3]"; else name_ext = ""; sprintf(card->longname, "%s%s Rev %d", card->shortname, name_ext, chip->revision); if ((err = snd_pmac_awacs_init(chip)) < 0) goto __error; break; default: |
6da671138 ALSA: powermac - ... |
95 96 |
snd_printk(KERN_ERR "unsupported hardware %d ", chip->model); |
1da177e4c Linux-2.6.12-rc2 |
97 98 99 100 101 102 103 104 105 106 107 108 109 |
err = -EINVAL; goto __error; } if ((err = snd_pmac_pcm_new(chip)) < 0) goto __error; chip->initialized = 1; if (enable_beep) snd_pmac_attach_beep(chip); if ((err = snd_card_register(card)) < 0) goto __error; |
5e12bea08 [ALSA] powermac -... |
110 |
platform_set_drvdata(devptr, card); |
1da177e4c Linux-2.6.12-rc2 |
111 112 113 114 115 116 |
return 0; __error: snd_card_free(card); return err; } |
15afafc25 ALSA: ppc: remove... |
117 |
static int snd_pmac_remove(struct platform_device *devptr) |
5e12bea08 [ALSA] powermac -... |
118 119 |
{ snd_card_free(platform_get_drvdata(devptr)); |
5e12bea08 [ALSA] powermac -... |
120 121 |
return 0; } |
d34e4e00a ALSA: platform: C... |
122 |
#ifdef CONFIG_PM_SLEEP |
284e7ca75 ALSA: convert PM ... |
123 |
static int snd_pmac_driver_suspend(struct device *dev) |
5e12bea08 [ALSA] powermac -... |
124 |
{ |
284e7ca75 ALSA: convert PM ... |
125 |
struct snd_card *card = dev_get_drvdata(dev); |
5e12bea08 [ALSA] powermac -... |
126 127 128 |
snd_pmac_suspend(card->private_data); return 0; } |
284e7ca75 ALSA: convert PM ... |
129 |
static int snd_pmac_driver_resume(struct device *dev) |
5e12bea08 [ALSA] powermac -... |
130 |
{ |
284e7ca75 ALSA: convert PM ... |
131 |
struct snd_card *card = dev_get_drvdata(dev); |
5e12bea08 [ALSA] powermac -... |
132 133 134 |
snd_pmac_resume(card->private_data); return 0; } |
284e7ca75 ALSA: convert PM ... |
135 136 137 138 139 |
static SIMPLE_DEV_PM_OPS(snd_pmac_pm, snd_pmac_driver_suspend, snd_pmac_driver_resume); #define SND_PMAC_PM_OPS &snd_pmac_pm #else #define SND_PMAC_PM_OPS NULL |
5e12bea08 [ALSA] powermac -... |
140 141 142 143 144 145 |
#endif #define SND_PMAC_DRIVER "snd_powermac" static struct platform_driver snd_pmac_driver = { .probe = snd_pmac_probe, |
15afafc25 ALSA: ppc: remove... |
146 |
.remove = snd_pmac_remove, |
5e12bea08 [ALSA] powermac -... |
147 |
.driver = { |
8bf01d8ab ALSA: Add missing... |
148 |
.name = SND_PMAC_DRIVER, |
284e7ca75 ALSA: convert PM ... |
149 |
.pm = SND_PMAC_PM_OPS, |
5e12bea08 [ALSA] powermac -... |
150 151 |
}, }; |
1da177e4c Linux-2.6.12-rc2 |
152 153 154 155 |
static int __init alsa_card_pmac_init(void) { int err; |
5e12bea08 [ALSA] powermac -... |
156 157 |
if ((err = platform_driver_register(&snd_pmac_driver)) < 0) |
1da177e4c Linux-2.6.12-rc2 |
158 |
return err; |
5e12bea08 [ALSA] powermac -... |
159 |
device = platform_device_register_simple(SND_PMAC_DRIVER, -1, NULL, 0); |
545b07d36 [ALSA] make snd-p... |
160 |
return 0; |
1da177e4c Linux-2.6.12-rc2 |
161 162 163 164 165 |
} static void __exit alsa_card_pmac_exit(void) { |
545b07d36 [ALSA] make snd-p... |
166 167 |
if (!IS_ERR(device)) platform_device_unregister(device); |
5e12bea08 [ALSA] powermac -... |
168 |
platform_driver_unregister(&snd_pmac_driver); |
1da177e4c Linux-2.6.12-rc2 |
169 170 171 172 |
} module_init(alsa_card_pmac_init) module_exit(alsa_card_pmac_exit) |