From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleksandr Andrushchenko Subject: [PATCH RESEND1 01/12] ALSA: vsnd: Introduce Xen para-virtualized sound frontend driver Date: Mon, 7 Aug 2017 15:22:46 +0300 Message-ID: <1502108577-8099-2-git-send-email-andr2000@gmail.com> References: <1502108577-8099-1-git-send-email-andr2000@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1502108577-8099-1-git-send-email-andr2000@gmail.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: alsa-devel@alsa-project.org, xen-devel@lists.xen.org, linux-kernel@vger.kernel.org Cc: andr2000@gmail.com, Oleksandr Andrushchenko , tiwai@suse.com, perex@perex.cz List-Id: alsa-devel@alsa-project.org RnJvbTogT2xla3NhbmRyIEFuZHJ1c2hjaGVua28gPG9sZWtzYW5kcl9hbmRydXNoY2hlbmtvQGVw YW0uY29tPgoKSW50cm9kdWNlIHNrZWxldG9uIG9mIHRoZSBwYXJhLXZpcnR1YWxpemVkIFhlbiBz b3VuZApmcm9udGVuZCBkcml2ZXIuIFRoaXMgcGF0Y2ggb25seSBhZGRzIHJlcXVpcmVkCmVzc2Vu dGlhbCBzdHVicy4KClNpZ25lZC1vZmYtYnk6IE9sZWtzYW5kciBBbmRydXNoY2hlbmtvIDxvbGVr c2FuZHJfYW5kcnVzaGNoZW5rb0BlcGFtLmNvbT4KLS0tCiBzb3VuZC9kcml2ZXJzL3hlbi1mcm9u dC5jIHwgNzggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK IDEgZmlsZSBjaGFuZ2VkLCA3OCBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgc291 bmQvZHJpdmVycy94ZW4tZnJvbnQuYwoKZGlmZiAtLWdpdCBhL3NvdW5kL2RyaXZlcnMveGVuLWZy b250LmMgYi9zb3VuZC9kcml2ZXJzL3hlbi1mcm9udC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAwMC4uNjE3NzljMzZjYWUzCi0tLSAvZGV2L251bGwKKysrIGIvc291bmQv ZHJpdmVycy94ZW4tZnJvbnQuYwpAQCAtMCwwICsxLDc4IEBACisvKgorICogWGVuIHBhcmEtdmly dHVhbCBzb3VuZCBkZXZpY2UKKyAqCisgKiAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJl OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiAgIGl0IHVuZGVyIHRo ZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5 CisgKiAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2Yg dGhlIExpY2Vuc2UsIG9yCisgKiAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u CisgKgorICogICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp dCB3aWxsIGJlIHVzZWZ1bCwKKyAqICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0 IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogICBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIEJhc2VkIG9uOiBzb3Vu ZC9kcml2ZXJzL2R1bW15LmMKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYtMjAxNyBFUEFNIFN5 c3RlbXMgSW5jLgorICoKKyAqIEF1dGhvcjogT2xla3NhbmRyIEFuZHJ1c2hjaGVua28gPG9sZWtz YW5kcl9hbmRydXNoY2hlbmtvQGVwYW0uY29tPgorICovCisKKyNpbmNsdWRlIDxsaW51eC9tb2R1 bGUuaD4KKworI2luY2x1ZGUgPHhlbi9wbGF0Zm9ybV9wY2kuaD4KKyNpbmNsdWRlIDx4ZW4veGVu Lmg+CisjaW5jbHVkZSA8eGVuL3hlbmJ1cy5oPgorCisjaW5jbHVkZSA8eGVuL2ludGVyZmFjZS9p by9zbmRpZi5oPgorCitzdGF0aWMgdm9pZCB4ZHJ2X2JlX29uX2NoYW5nZWQoc3RydWN0IHhlbmJ1 c19kZXZpY2UgKnhiX2RldiwKKwllbnVtIHhlbmJ1c19zdGF0ZSBiYWNrZW5kX3N0YXRlKQorewor fQorCitzdGF0aWMgaW50IHhkcnZfcHJvYmUoc3RydWN0IHhlbmJ1c19kZXZpY2UgKnhiX2RldiwK Kwljb25zdCBzdHJ1Y3QgeGVuYnVzX2RldmljZV9pZCAqaWQpCit7CisJcmV0dXJuIDA7Cit9CisK K3N0YXRpYyBpbnQgeGRydl9yZW1vdmUoc3RydWN0IHhlbmJ1c19kZXZpY2UgKmRldikKK3sKKwly ZXR1cm4gMDsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCB4ZW5idXNfZGV2aWNlX2lkIHhkcnZf aWRzW10gPSB7CisJeyBYRU5TTkRfRFJJVkVSX05BTUUgfSwKKwl7ICIiIH0KK307CisKK3N0YXRp YyBzdHJ1Y3QgeGVuYnVzX2RyaXZlciB4ZW5fZHJpdmVyID0geworCS5pZHMgPSB4ZHJ2X2lkcywK KwkucHJvYmUgPSB4ZHJ2X3Byb2JlLAorCS5yZW1vdmUgPSB4ZHJ2X3JlbW92ZSwKKwkub3RoZXJl bmRfY2hhbmdlZCA9IHhkcnZfYmVfb25fY2hhbmdlZCwKK307CisKK3N0YXRpYyBpbnQgX19pbml0 IHhkcnZfaW5pdCh2b2lkKQoreworCWlmICgheGVuX2RvbWFpbigpKQorCQlyZXR1cm4gLUVOT0RF VjsKKworCXByX2luZm8oIkluaXRpYWxpc2luZyBYZW4gIiBYRU5TTkRfRFJJVkVSX05BTUUgIiBm cm9udGVuZCBkcml2ZXJcbiIpOworCXJldHVybiB4ZW5idXNfcmVnaXN0ZXJfZnJvbnRlbmQoJnhl bl9kcml2ZXIpOworfQorCitzdGF0aWMgdm9pZCBfX2V4aXQgeGRydl9jbGVhbnVwKHZvaWQpCit7 CisJcHJfaW5mbygiVW5yZWdpc3RlcmluZyBYZW4gIiBYRU5TTkRfRFJJVkVSX05BTUUgIiBmcm9u dGVuZCBkcml2ZXJcbiIpOworCXhlbmJ1c191bnJlZ2lzdGVyX2RyaXZlcigmeGVuX2RyaXZlcik7 Cit9CisKK21vZHVsZV9pbml0KHhkcnZfaW5pdCk7Cittb2R1bGVfZXhpdCh4ZHJ2X2NsZWFudXAp OworCitNT0RVTEVfREVTQ1JJUFRJT04oIlhlbiB2aXJ0dWFsIHNvdW5kIGRldmljZSBmcm9udGVu ZCIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0FMSUFTKCJ4ZW46IlhFTlNORF9E UklWRVJfTkFNRSk7CitNT0RVTEVfU1VQUE9SVEVEX0RFVklDRSgie3tBTFNBLFZpcnR1YWwgc291 bmRjYXJkfX0iKTsKLS0gCjIuNy40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVu Lm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752403AbdHGM1Z (ORCPT ); Mon, 7 Aug 2017 08:27:25 -0400 Received: from mail-lf0-f66.google.com ([209.85.215.66]:35091 "EHLO mail-lf0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753158AbdHGMXF (ORCPT ); Mon, 7 Aug 2017 08:23:05 -0400 From: Oleksandr Andrushchenko To: alsa-devel@alsa-project.org, xen-devel@lists.xen.org, linux-kernel@vger.kernel.org Cc: perex@perex.cz, tiwai@suse.com, andr2000@gmail.com, Oleksandr Andrushchenko Subject: [PATCH RESEND1 01/12] ALSA: vsnd: Introduce Xen para-virtualized sound frontend driver Date: Mon, 7 Aug 2017 15:22:46 +0300 Message-Id: <1502108577-8099-2-git-send-email-andr2000@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1502108577-8099-1-git-send-email-andr2000@gmail.com> References: <1502108577-8099-1-git-send-email-andr2000@gmail.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Oleksandr Andrushchenko Introduce skeleton of the para-virtualized Xen sound frontend driver. This patch only adds required essential stubs. Signed-off-by: Oleksandr Andrushchenko --- sound/drivers/xen-front.c | 78 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 sound/drivers/xen-front.c diff --git a/sound/drivers/xen-front.c b/sound/drivers/xen-front.c new file mode 100644 index 000000000000..61779c36cae3 --- /dev/null +++ b/sound/drivers/xen-front.c @@ -0,0 +1,78 @@ +/* + * Xen para-virtual sound device + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * Based on: sound/drivers/dummy.c + * + * Copyright (C) 2016-2017 EPAM Systems Inc. + * + * Author: Oleksandr Andrushchenko + */ + +#include + +#include +#include +#include + +#include + +static void xdrv_be_on_changed(struct xenbus_device *xb_dev, + enum xenbus_state backend_state) +{ +} + +static int xdrv_probe(struct xenbus_device *xb_dev, + const struct xenbus_device_id *id) +{ + return 0; +} + +static int xdrv_remove(struct xenbus_device *dev) +{ + return 0; +} + +static const struct xenbus_device_id xdrv_ids[] = { + { XENSND_DRIVER_NAME }, + { "" } +}; + +static struct xenbus_driver xen_driver = { + .ids = xdrv_ids, + .probe = xdrv_probe, + .remove = xdrv_remove, + .otherend_changed = xdrv_be_on_changed, +}; + +static int __init xdrv_init(void) +{ + if (!xen_domain()) + return -ENODEV; + + pr_info("Initialising Xen " XENSND_DRIVER_NAME " frontend driver\n"); + return xenbus_register_frontend(&xen_driver); +} + +static void __exit xdrv_cleanup(void) +{ + pr_info("Unregistering Xen " XENSND_DRIVER_NAME " frontend driver\n"); + xenbus_unregister_driver(&xen_driver); +} + +module_init(xdrv_init); +module_exit(xdrv_cleanup); + +MODULE_DESCRIPTION("Xen virtual sound device frontend"); +MODULE_LICENSE("GPL"); +MODULE_ALIAS("xen:"XENSND_DRIVER_NAME); +MODULE_SUPPORTED_DEVICE("{{ALSA,Virtual soundcard}}"); -- 2.7.4