ChangeSet 1.2181.25.40, 2005/03/24 11:51:23+01:00, [EMAIL PROTECTED]
[ALSA] Replace with macros for gameport initialization
ALSA Core,ALS4000 driver,AZT3328 driver,CMIPCI driver,CS4281 driver
ENS1370/1+ driver,ES1938 driver,ES1968 driver,SonicVibes driver
VIA82xx driver,au88x0 driver,CS46xx driver,Trident driver,YMFPCI driver
Use some macros for gameport initialization. This makes much easier
to write the compatible layer for the old gameport API in alsa-driver
tree.
Signed-off-by: Takashi Iwai <[EMAIL PROTECTED]>
include/sound/core.h | 9 +++++++++
sound/pci/als4000.c | 6 +++---
sound/pci/au88x0/au88x0_game.c | 12 ++++++------
sound/pci/azt3328.c | 6 +++---
sound/pci/cmipci.c | 6 +++---
sound/pci/cs4281.c | 10 +++++-----
sound/pci/cs46xx/cs46xx_lib.c | 10 +++++-----
sound/pci/ens1370.c | 2 +-
sound/pci/es1938.c | 2 +-
sound/pci/es1968.c | 6 +++---
sound/pci/sonicvibes.c | 2 +-
sound/pci/trident/trident_main.c | 12 ++++++------
sound/pci/via82xx.c | 6 +++---
sound/pci/ymfpci/ymfpci.c | 6 +++---
14 files changed, 52 insertions(+), 43 deletions(-)
diff -Nru a/include/sound/core.h b/include/sound/core.h
--- a/include/sound/core.h 2005-03-30 16:18:39 -08:00
+++ b/include/sound/core.h 2005-03-30 16:18:39 -08:00
@@ -490,4 +490,13 @@
#define SNDRV_OSS_VERSION ((3<<16)|(8<<8)|(1<<4)|(0)) /* 3.8.1a */
+/* for easier backward-porting */
+#if defined(CONFIG_GAMEPORT) || defined(CONFIG_GAMEPORT_MODULE)
+#ifndef gameport_set_dev_parent
+#define gameport_set_dev_parent(gp,xdev) ((gp)->dev.parent = (xdev))
+#define gameport_set_port_data(gp,r) ((gp)->port_data = (r))
+#define gameport_get_port_data(gp) (gp)->port_data
+#endif
+#endif
+
#endif /* __SOUND_CORE_H */
diff -Nru a/sound/pci/als4000.c b/sound/pci/als4000.c
--- a/sound/pci/als4000.c 2005-03-30 16:18:39 -08:00
+++ b/sound/pci/als4000.c 2005-03-30 16:18:39 -08:00
@@ -601,9 +601,9 @@
gameport_set_name(gp, "ALS4000 Gameport");
gameport_set_phys(gp, "pci%s/gameport0", pci_name(acard->pci));
- gp->dev.parent = &acard->pci->dev;
+ gameport_set_dev_parent(gp, &acard->pci->dev);
gp->io = io_port;
- gp->port_data = r;
+ gameport_set_port_data(gp, r);
/* Enable legacy joystick port */
snd_als4000_set_addr(acard->gcr, 0, 0, 0, 1);
@@ -616,7 +616,7 @@
static void snd_als4000_free_gameport(snd_card_als4000_t *acard)
{
if (acard->gameport) {
- struct resource *r = acard->gameport->port_data;
+ struct resource *r = gameport_get_port_data(acard->gameport);
gameport_unregister_port(acard->gameport);
acard->gameport = NULL;
diff -Nru a/sound/pci/au88x0/au88x0_game.c b/sound/pci/au88x0/au88x0_game.c
--- a/sound/pci/au88x0/au88x0_game.c 2005-03-30 16:18:39 -08:00
+++ b/sound/pci/au88x0/au88x0_game.c 2005-03-30 16:18:39 -08:00
@@ -44,20 +44,20 @@
static unsigned char vortex_game_read(struct gameport *gameport)
{
- vortex_t *vortex = gameport->port_data;
+ vortex_t *vortex = gameport_get_port_data(gameport);
return hwread(vortex->mmio, VORTEX_GAME_LEGACY);
}
static void vortex_game_trigger(struct gameport *gameport)
{
- vortex_t *vortex = gameport->port_data;
+ vortex_t *vortex = gameport_get_port_data(gameport);
hwwrite(vortex->mmio, VORTEX_GAME_LEGACY, 0xff);
}
static int
vortex_game_cooked_read(struct gameport *gameport, int *axes, int *buttons)
{
- vortex_t *vortex = gameport->port_data;
+ vortex_t *vortex = gameport_get_port_data(gameport);
int i;
*buttons = (~hwread(vortex->mmio, VORTEX_GAME_LEGACY) >> 4) & 0xf;
@@ -73,7 +73,7 @@
static int vortex_game_open(struct gameport *gameport, int mode)
{
- vortex_t *vortex = gameport->port_data;
+ vortex_t *vortex = gameport_get_port_data(gameport);
switch (mode) {
case GAMEPORT_MODE_COOKED:
@@ -106,14 +106,14 @@
gameport_set_name(gp, "AU88x0 Gameport");
gameport_set_phys(gp, "pci%s/gameport0", pci_name(vortex->pci_dev));
- gp->dev.parent = &vortex->pci_dev->dev;
+ gameport_set_dev_parent(gp, &vortex->pci_dev->dev);
gp->read = vortex_game_read;
gp->trigger = vortex_game_trigger;
gp->cooked_read = vortex_game_cooked_read;
gp->open = vortex_game_open;
- gp->port_data = vortex;
+ gameport_set_port_data(gp, vortex);
gp->fuzz = 64;
gameport_register_port(gp);
diff -Nru a/sound/pci/azt3328.c b/sound/pci/azt3328.c
--- a/sound/pci/azt3328.c 2005-03-30 16:18:39 -08:00
+++ b/sound/pci/azt3328.c 2005-03-30 16:18:39 -08:00
@@ -1245,9 +1245,9 @@
gameport_set_name(gp, "AZF3328 Gameport");
gameport_set_phys(gp, "pci%s/gameport0", pci_name(chip->pci));
- gp->dev.parent = &chip->pci->dev;
+ gameport_set_dev_parent(gp, &chip->pci->dev);
gp->io = 0x200;
- gp->port_data = r;
+ gameport_set_port_data(gp, r);
snd_azf3328_io2_write(chip, IDX_IO2_LEGACY_ADDR,
snd_azf3328_io2_read(chip, IDX_IO2_LEGACY_ADDR) |
LEGACY_JOY);
@@ -1260,7 +1260,7 @@
static void snd_azf3328_free_joystick(azf3328_t *chip)
{
if (chip->gameport) {
- struct resource *r = chip->gameport->port_data;
+ struct resource *r = gameport_get_port_data(chip->gameport);
gameport_unregister_port(chip->gameport);
chip->gameport = NULL;
diff -Nru a/sound/pci/cmipci.c b/sound/pci/cmipci.c
--- a/sound/pci/cmipci.c 2005-03-30 16:18:39 -08:00
+++ b/sound/pci/cmipci.c 2005-03-30 16:18:39 -08:00
@@ -2592,9 +2592,9 @@
}
gameport_set_name(gp, "C-Media Gameport");
gameport_set_phys(gp, "pci%s/gameport0", pci_name(cm->pci));
- gp->dev.parent = &cm->pci->dev;
+ gameport_set_dev_parent(gp, &cm->pci->dev);
gp->io = io_port;
- gp->port_data = r;
+ gameport_set_port_data(gp, r);
snd_cmipci_set_bit(cm, CM_REG_FUNCTRL1, CM_JYSTK_EN);
@@ -2606,7 +2606,7 @@
static void snd_cmipci_free_gameport(cmipci_t *cm)
{
if (cm->gameport) {
- struct resource *r = cm->gameport->port_data;
+ struct resource *r = gameport_get_port_data(cm->gameport);
gameport_unregister_port(cm->gameport);
cm->gameport = NULL;
diff -Nru a/sound/pci/cs4281.c b/sound/pci/cs4281.c
--- a/sound/pci/cs4281.c 2005-03-30 16:18:39 -08:00
+++ b/sound/pci/cs4281.c 2005-03-30 16:18:39 -08:00
@@ -1240,7 +1240,7 @@
static void snd_cs4281_gameport_trigger(struct gameport *gameport)
{
- cs4281_t *chip = gameport->port_data;
+ cs4281_t *chip = gameport_get_port_data(gameport);
snd_assert(chip, return);
snd_cs4281_pokeBA0(chip, BA0_JSPT, 0xff);
@@ -1248,7 +1248,7 @@
static unsigned char snd_cs4281_gameport_read(struct gameport *gameport)
{
- cs4281_t *chip = gameport->port_data;
+ cs4281_t *chip = gameport_get_port_data(gameport);
snd_assert(chip, return 0);
return snd_cs4281_peekBA0(chip, BA0_JSPT);
@@ -1257,7 +1257,7 @@
#ifdef COOKED_MODE
static int snd_cs4281_gameport_cooked_read(struct gameport *gameport, int
*axes, int *buttons)
{
- cs4281_t *chip = gameport->port_data;
+ cs4281_t *chip = gameport_get_port_data(gameport);
unsigned js1, js2, jst;
snd_assert(chip, return 0);
@@ -1308,12 +1308,12 @@
gameport_set_name(gp, "CS4281 Gameport");
gameport_set_phys(gp, "pci%s/gameport0", pci_name(chip->pci));
- gp->dev.parent = &chip->pci->dev;
+ gameport_set_dev_parent(gp, &chip->pci->dev);
gp->open = snd_cs4281_gameport_open;
gp->read = snd_cs4281_gameport_read;
gp->trigger = snd_cs4281_gameport_trigger;
gp->cooked_read = snd_cs4281_gameport_cooked_read;
- gp->port_data = chip;
+ gameport_set_port_data(gp, chip);
snd_cs4281_pokeBA0(chip, BA0_JSIO, 0xFF); // ?
snd_cs4281_pokeBA0(chip, BA0_JSCTL, JSCTL_SP_MEDIUM_SLOW);
diff -Nru a/sound/pci/cs46xx/cs46xx_lib.c b/sound/pci/cs46xx/cs46xx_lib.c
--- a/sound/pci/cs46xx/cs46xx_lib.c 2005-03-30 16:18:39 -08:00
+++ b/sound/pci/cs46xx/cs46xx_lib.c 2005-03-30 16:18:39 -08:00
@@ -2690,7 +2690,7 @@
static void snd_cs46xx_gameport_trigger(struct gameport *gameport)
{
- cs46xx_t *chip = gameport->port_data;
+ cs46xx_t *chip = gameport_get_port_data(gameport);
snd_assert(chip, return);
snd_cs46xx_pokeBA0(chip, BA0_JSPT, 0xFF); //outb(gameport->io, 0xFF);
@@ -2698,7 +2698,7 @@
static unsigned char snd_cs46xx_gameport_read(struct gameport *gameport)
{
- cs46xx_t *chip = gameport->port_data;
+ cs46xx_t *chip = gameport_get_port_data(gameport);
snd_assert(chip, return 0);
return snd_cs46xx_peekBA0(chip, BA0_JSPT); //inb(gameport->io);
@@ -2706,7 +2706,7 @@
static int snd_cs46xx_gameport_cooked_read(struct gameport *gameport, int
*axes, int *buttons)
{
- cs46xx_t *chip = gameport->port_data;
+ cs46xx_t *chip = gameport_get_port_data(gameport);
unsigned js1, js2, jst;
snd_assert(chip, return 0);
@@ -2752,8 +2752,8 @@
gameport_set_name(gp, "CS46xx Gameport");
gameport_set_phys(gp, "pci%s/gameport0", pci_name(chip->pci));
- gp->dev.parent = &chip->pci->dev;
- gp->port_data = chip;
+ gameport_set_dev_parent(gp, &chip->pci->dev);
+ gameport_set_port_data(gp, chip);
gp->open = snd_cs46xx_gameport_open;
gp->read = snd_cs46xx_gameport_read;
diff -Nru a/sound/pci/ens1370.c b/sound/pci/ens1370.c
--- a/sound/pci/ens1370.c 2005-03-30 16:18:39 -08:00
+++ b/sound/pci/ens1370.c 2005-03-30 16:18:39 -08:00
@@ -1797,7 +1797,7 @@
gameport_set_name(gp, "ES137x");
gameport_set_phys(gp, "pci%s/gameport0", pci_name(ensoniq->pci));
- gp->dev.parent = &ensoniq->pci->dev;
+ gameport_set_dev_parent(gp, &ensoniq->pci->dev);
gp->io = io_port;
ensoniq->ctrl |= ES_JYSTK_EN;
diff -Nru a/sound/pci/es1938.c b/sound/pci/es1938.c
--- a/sound/pci/es1938.c 2005-03-30 16:18:39 -08:00
+++ b/sound/pci/es1938.c 2005-03-30 16:18:39 -08:00
@@ -1435,7 +1435,7 @@
gameport_set_name(gp, "ES1938");
gameport_set_phys(gp, "pci%s/gameport0", pci_name(chip->pci));
- gp->dev.parent = &chip->pci->dev;
+ gameport_set_dev_parent(gp, &chip->pci->dev);
gp->io = chip->game_port;
gameport_register_port(gp);
diff -Nru a/sound/pci/es1968.c b/sound/pci/es1968.c
--- a/sound/pci/es1968.c 2005-03-30 16:18:39 -08:00
+++ b/sound/pci/es1968.c 2005-03-30 16:18:39 -08:00
@@ -2496,9 +2496,9 @@
gameport_set_name(gp, "ES1968 Gameport");
gameport_set_phys(gp, "pci%s/gameport0", pci_name(chip->pci));
- gp->dev.parent = &chip->pci->dev;
+ gameport_set_dev_parent(gp, &chip->pci->dev);
gp->io = JOYSTICK_ADDR;
- gp->port_data = r;
+ gameport_set_port_data(gp, r);
gameport_register_port(gp);
@@ -2508,7 +2508,7 @@
static void snd_es1968_free_gameport(es1968_t *chip)
{
if (chip->gameport) {
- struct resource *r = chip->gameport->port_data;
+ struct resource *r = gameport_get_port_data(chip->gameport);
gameport_unregister_port(chip->gameport);
chip->gameport = NULL;
diff -Nru a/sound/pci/sonicvibes.c b/sound/pci/sonicvibes.c
--- a/sound/pci/sonicvibes.c 2005-03-30 16:18:39 -08:00
+++ b/sound/pci/sonicvibes.c 2005-03-30 16:18:39 -08:00
@@ -1183,7 +1183,7 @@
gameport_set_name(gp, "SonicVibes Gameport");
gameport_set_phys(gp, "pci%s/gameport0", pci_name(sonic->pci));
- gp->dev.parent = &sonic->pci->dev;
+ gameport_set_dev_parent(gp, &sonic->pci->dev);
gp->io = sonic->game_port;
gameport_register_port(gp);
diff -Nru a/sound/pci/trident/trident_main.c b/sound/pci/trident/trident_main.c
--- a/sound/pci/trident/trident_main.c 2005-03-30 16:18:39 -08:00
+++ b/sound/pci/trident/trident_main.c 2005-03-30 16:18:39 -08:00
@@ -3112,7 +3112,7 @@
static unsigned char snd_trident_gameport_read(struct gameport *gameport)
{
- trident_t *chip = gameport->port_data;
+ trident_t *chip = gameport_get_port_data(gameport);
snd_assert(chip, return 0);
return inb(TRID_REG(chip, GAMEPORT_LEGACY));
@@ -3120,7 +3120,7 @@
static void snd_trident_gameport_trigger(struct gameport *gameport)
{
- trident_t *chip = gameport->port_data;
+ trident_t *chip = gameport_get_port_data(gameport);
snd_assert(chip, return);
outb(0xff, TRID_REG(chip, GAMEPORT_LEGACY));
@@ -3128,7 +3128,7 @@
static int snd_trident_gameport_cooked_read(struct gameport *gameport, int
*axes, int *buttons)
{
- trident_t *chip = gameport->port_data;
+ trident_t *chip = gameport_get_port_data(gameport);
int i;
snd_assert(chip, return 0);
@@ -3145,7 +3145,7 @@
static int snd_trident_gameport_open(struct gameport *gameport, int mode)
{
- trident_t *chip = gameport->port_data;
+ trident_t *chip = gameport_get_port_data(gameport);
snd_assert(chip, return 0);
@@ -3175,9 +3175,9 @@
gameport_set_name(gp, "Trident 4DWave");
gameport_set_phys(gp, "pci%s/gameport0", pci_name(chip->pci));
- gp->dev.parent = &chip->pci->dev;
+ gameport_set_dev_parent(gp, &chip->pci->dev);
- gp->port_data = chip;
+ gameport_set_port_data(gp, chip);
gp->fuzz = 64;
gp->read = snd_trident_gameport_read;
gp->trigger = snd_trident_gameport_trigger;
diff -Nru a/sound/pci/via82xx.c b/sound/pci/via82xx.c
--- a/sound/pci/via82xx.c 2005-03-30 16:18:39 -08:00
+++ b/sound/pci/via82xx.c 2005-03-30 16:18:39 -08:00
@@ -1660,9 +1660,9 @@
gameport_set_name(gp, "VIA686 Gameport");
gameport_set_phys(gp, "pci%s/gameport0", pci_name(chip->pci));
- gp->dev.parent = &chip->pci->dev;
+ gameport_set_dev_parent(gp, &chip->pci->dev);
gp->io = JOYSTICK_ADDR;
- gp->port_data = r;
+ gameport_set_port_data(gp, r);
/* Enable legacy joystick port */
*legacy |= VIA_FUNC_ENABLE_GAME;
@@ -1676,7 +1676,7 @@
static void snd_via686_free_gameport(via82xx_t *chip)
{
if (chip->gameport) {
- struct resource *r = chip->gameport->port_data;
+ struct resource *r = gameport_get_port_data(chip->gameport);
gameport_unregister_port(chip->gameport);
chip->gameport = NULL;
diff -Nru a/sound/pci/ymfpci/ymfpci.c b/sound/pci/ymfpci/ymfpci.c
--- a/sound/pci/ymfpci/ymfpci.c 2005-03-30 16:18:39 -08:00
+++ b/sound/pci/ymfpci/ymfpci.c 2005-03-30 16:18:39 -08:00
@@ -138,9 +138,9 @@
gameport_set_name(gp, "Yamaha YMF Gameport");
gameport_set_phys(gp, "pci%s/gameport0", pci_name(chip->pci));
- gp->dev.parent = &chip->pci->dev;
+ gameport_set_dev_parent(gp, &chip->pci->dev);
gp->io = io_port;
- gp->port_data = r;
+ gameport_set_port_data(gp, r);
if (chip->pci->device >= 0x0010) /* YMF 744/754 */
pci_write_config_word(chip->pci, PCIR_DSXG_JOYBASE, io_port);
@@ -156,7 +156,7 @@
void snd_ymfpci_free_gameport(ymfpci_t *chip)
{
if (chip->gameport) {
- struct resource *r = chip->gameport->port_data;
+ struct resource *r = gameport_get_port_data(chip->gameport);
gameport_unregister_port(chip->gameport);
chip->gameport = NULL;
-
To unsubscribe from this list: send the line "unsubscribe bk-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html