Ignore:
Timestamp:
Apr 19, 2025, 8:08:37 PM (4 months ago)
Author:
David Azarewicz
Message:

Merge in changes from 6.6-LTS branch.
Fixed additional 25+ problems.

Location:
GPL/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • GPL/trunk

  • GPL/trunk/alsa-kernel/pci/ymfpci/ymfpci.c

    r717 r772  
    103103                case 0x205: legacy_ctrl2 |= 3 << 6; break;
    104104                default:
    105                         dev_err(chip->card->dev,
    106                                 "invalid joystick port %#x", io_port);
     105                        if (io_port > 0)
     106                                dev_err(chip->card->dev,
     107                                        "The %s does not support arbitrary IO ports for the game port (requested 0x%x)\n",
     108                                        chip->card->shortname, (unsigned int)io_port);
    107109                        return -EINVAL;
    108110                }
     
    155157#endif /* SUPPORT_JOYSTICK */
    156158
    157 static int snd_card_ymfpci_probe(struct pci_dev *pci,
    158                                  const struct pci_device_id *pci_id)
     159static int __snd_card_ymfpci_probe(struct pci_dev *pci,
     160                                   const struct pci_device_id *pci_id)
    159161{
    160162        static int dev;
     
    175177        }
    176178
    177         err = snd_card_new(&pci->dev, index[dev], id[dev], THIS_MODULE,
     179        err = snd_devm_card_new(&pci->dev, index[dev], id[dev], THIS_MODULE,
    178180                           sizeof(*chip), &card);
    179181        if (err < 0)
     
    191193        }
    192194
     195        strcpy(card->driver, str);
     196        sprintf(card->shortname, "Yamaha %s (%s)", model, str);
     197        sprintf(card->longname, "%s at 0x%lx, irq %i",
     198                card->shortname,
     199                chip->reg_area_phys,
     200                chip->irq);
     201
    193202        legacy_ctrl = 0;
    194203        legacy_ctrl2 = 0x0800;  /* SBEN = 0, SMOD = 01, LAD = 0 */
     
    223232                case 0x3a0: legacy_ctrl2 |= 2; break;
    224233                case 0x3a8: legacy_ctrl2 |= 3; break;
    225                 default: fm_port[dev] = 0; break;
     234                default:
     235                        if (fm_port[dev] > 0)
     236                                dev_err(card->dev,
     237                                        "The %s does not support arbitrary IO ports for FM (requested 0x%x)\n",
     238                                        card->shortname, (unsigned int)fm_port[dev]);
     239                        fm_port[dev] = 0;
     240                        break;
    226241                }
    227242                if (fm_port[dev] > 0)
     
    239254                case 0x332: legacy_ctrl2 |= 2 << 4; break;
    240255                case 0x334: legacy_ctrl2 |= 3 << 4; break;
    241                 default: mpu_port[dev] = 0; break;
     256                default:
     257                        if (mpu_port[dev] > 0)
     258                                dev_err(card->dev,
     259                                        "The %s does not support arbitrary IO ports for MPU-401 (requested 0x%x)\n",
     260                                        card->shortname, (unsigned int)mpu_port[dev]);
     261                        mpu_port[dev] = 0;
     262                        break;
    242263                }
    243264                if (mpu_port[dev] > 0)
     
    262283                return err;
    263284
    264         strcpy(card->driver, str);
    265         sprintf(card->shortname, "Yamaha %s (%s)", model, str);
    266         sprintf(card->longname, "%s at 0x%lx, irq %i",
    267                 card->shortname,
    268                 chip->reg_area_phys,
    269                 chip->irq);
    270285        err = snd_ymfpci_pcm(chip, 0);
    271286        if (err < 0)
     
    338353}
    339354
     355static int snd_card_ymfpci_probe(struct pci_dev *pci,
     356                                 const struct pci_device_id *pci_id)
     357{
     358        return snd_card_free_on_error(&pci->dev, __snd_card_ymfpci_probe(pci, pci_id));
     359}
     360
    340361static struct pci_driver ymfpci_driver = {
    341362        .name = KBUILD_MODNAME,
    342363        .id_table = snd_ymfpci_ids,
    343364        .probe = snd_card_ymfpci_probe,
    344 #ifdef CONFIG_PM_SLEEP
    345365        .driver = {
    346                 .pm = &snd_ymfpci_pm,
     366                .pm = pm_sleep_ptr(&snd_ymfpci_pm),
    347367        },
    348 #endif
    349368};
    350369
Note: See TracChangeset for help on using the changeset viewer.