diff options
author | Álvaro Fernández Rojas <noltari@gmail.com> | 2019-08-09 19:50:30 +0200 |
---|---|---|
committer | Álvaro Fernández Rojas <noltari@gmail.com> | 2019-08-27 11:10:01 +0200 |
commit | 2340c646e6a5da658e114be2f721ff90853588d4 (patch) | |
tree | df9744d2344e71e8c5d1b75c3e1528bc474313fe /target/linux/brcm2708/patches-4.19/950-0457-staging-bcm2835-audio-Use-card-private_data.patch | |
parent | 81d0da118694feb874f992093063a2852285d194 (diff) | |
download | upstream-2340c646e6a5da658e114be2f721ff90853588d4.tar.gz upstream-2340c646e6a5da658e114be2f721ff90853588d4.tar.bz2 upstream-2340c646e6a5da658e114be2f721ff90853588d4.zip |
brcm2708: update to latest patches from RPi foundation
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Diffstat (limited to 'target/linux/brcm2708/patches-4.19/950-0457-staging-bcm2835-audio-Use-card-private_data.patch')
-rw-r--r-- | target/linux/brcm2708/patches-4.19/950-0457-staging-bcm2835-audio-Use-card-private_data.patch | 138 |
1 files changed, 0 insertions, 138 deletions
diff --git a/target/linux/brcm2708/patches-4.19/950-0457-staging-bcm2835-audio-Use-card-private_data.patch b/target/linux/brcm2708/patches-4.19/950-0457-staging-bcm2835-audio-Use-card-private_data.patch deleted file mode 100644 index 37b02c1993..0000000000 --- a/target/linux/brcm2708/patches-4.19/950-0457-staging-bcm2835-audio-Use-card-private_data.patch +++ /dev/null @@ -1,138 +0,0 @@ -From 45a6f73971c5e20f256ad2faa1c17d3525affa15 Mon Sep 17 00:00:00 2001 -From: Takashi Iwai <tiwai@suse.de> -Date: Tue, 4 Sep 2018 17:58:50 +0200 -Subject: [PATCH 457/725] staging: bcm2835-audio: Use card->private_data - -commit 898001a0c845cefe5d47d133485712412853f0a8 upstream. - -Instead of allocating a separate snd_device object, let snd_card_new() -allocate the private resource. This simplifies the code. - -Signed-off-by: Takashi Iwai <tiwai@suse.de> -Tested-by: Stefan Wahren <stefan.wahren@i2se.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> ---- - .../vc04_services/bcm2835-audio/bcm2835.c | 91 +++---------------- - 1 file changed, 13 insertions(+), 78 deletions(-) - ---- a/drivers/staging/vc04_services/bcm2835-audio/bcm2835.c -+++ b/drivers/staging/vc04_services/bcm2835-audio/bcm2835.c -@@ -86,9 +86,6 @@ static int bcm2835_devm_add_vchi_ctx(str - - static void snd_bcm2835_release(struct device *dev) - { -- struct bcm2835_chip *chip = dev_get_drvdata(dev); -- -- kfree(chip); - } - - static struct device * -@@ -117,69 +114,6 @@ snd_create_device(struct device *parent, - return device; - } - --/* component-destructor -- * (see "Management of Cards and Components") -- */ --static int snd_bcm2835_dev_free(struct snd_device *device) --{ -- struct bcm2835_chip *chip = device->device_data; -- struct snd_card *card = chip->card; -- -- snd_device_free(card, chip); -- -- return 0; --} -- --/* chip-specific constructor -- * (see "Management of Cards and Components") -- */ --static int snd_bcm2835_create(struct snd_card *card, -- struct bcm2835_chip **rchip) --{ -- struct bcm2835_chip *chip; -- int err; -- static struct snd_device_ops ops = { -- .dev_free = snd_bcm2835_dev_free, -- }; -- -- *rchip = NULL; -- -- chip = kzalloc(sizeof(*chip), GFP_KERNEL); -- if (!chip) -- return -ENOMEM; -- -- chip->card = card; -- mutex_init(&chip->audio_mutex); -- -- chip->vchi_ctx = devres_find(card->dev->parent, -- bcm2835_devm_free_vchi_ctx, NULL, NULL); -- if (!chip->vchi_ctx) { -- kfree(chip); -- return -ENODEV; -- } -- -- err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, chip, &ops); -- if (err) { -- kfree(chip); -- return err; -- } -- -- *rchip = chip; -- return 0; --} -- --static struct snd_card *snd_bcm2835_card_new(struct device *dev) --{ -- struct snd_card *card; -- int ret; -- -- ret = snd_card_new(dev, -1, NULL, THIS_MODULE, 0, &card); -- if (ret) -- return ERR_PTR(ret); -- -- return card; --} -- - typedef int (*bcm2835_audio_newpcm_func)(struct bcm2835_chip *chip, - const char *name, - enum snd_bcm2835_route route, -@@ -292,25 +226,26 @@ static int snd_add_child_device(struct d - return PTR_ERR(child); - } - -- card = snd_bcm2835_card_new(child); -- if (IS_ERR(card)) { -+ err = snd_card_new(child, -1, NULL, THIS_MODULE, sizeof(*chip), &card); -+ if (err < 0) { - dev_err(child, "Failed to create card"); -- return PTR_ERR(card); -+ return err; - } - -- snd_card_set_dev(card, child); -+ chip = card->private_data; -+ chip->card = card; -+ chip->dev = child; -+ mutex_init(&chip->audio_mutex); -+ -+ chip->vchi_ctx = devres_find(device, -+ bcm2835_devm_free_vchi_ctx, NULL, NULL); -+ if (!chip->vchi_ctx) -+ return -ENODEV; -+ - strcpy(card->driver, audio_driver->driver.name); - strcpy(card->shortname, audio_driver->shortname); - strcpy(card->longname, audio_driver->longname); - -- err = snd_bcm2835_create(card, &chip); -- if (err) { -- dev_err(child, "Failed to create chip, error %d\n", err); -- return err; -- } -- -- chip->dev = child; -- - err = audio_driver->newpcm(chip, audio_driver->shortname, - audio_driver->route, - numchans); |