From: Sasha Levin Date: Wed, 25 Aug 2021 01:15:10 +0000 (-0400) Subject: Drop vdpa-extend-routine-to-accept-vdpa-device-name.patch X-Git-Tag: v5.13.13~4 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=becfb0ad7a82a551b55b8e1f42b963a73cb7c1b1;p=thirdparty%2Fkernel%2Fstable-queue.git Drop vdpa-extend-routine-to-accept-vdpa-device-name.patch Signed-off-by: Sasha Levin --- diff --git a/queue-5.10/series b/queue-5.10/series index adeb74fa02d..21c1d6ca331 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -6,7 +6,6 @@ ath9k-postpone-key-cache-entry-deletion-for-txq-frames-reference-it.patch mtd-cfi_cmdset_0002-fix-crash-when-erasing-writing-amd-cards.patch media-zr364xx-propagate-errors-from-zr364xx_start_re.patch media-zr364xx-fix-memory-leaks-in-probe.patch -vdpa-extend-routine-to-accept-vdpa-device-name.patch vdpa-define-vdpa-mgmt-device-ops-and-a-netlink-inter.patch media-drivers-media-usb-fix-memory-leak-in-zr364xx_p.patch kvm-x86-factor-out-x86-instruction-emulation-with-de.patch diff --git a/queue-5.10/vdpa-extend-routine-to-accept-vdpa-device-name.patch b/queue-5.10/vdpa-extend-routine-to-accept-vdpa-device-name.patch deleted file mode 100644 index 7a6db02e31d..00000000000 --- a/queue-5.10/vdpa-extend-routine-to-accept-vdpa-device-name.patch +++ /dev/null @@ -1,183 +0,0 @@ -From afa16171dec6abe830dfeb803c9cc18f28fe802c Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Tue, 5 Jan 2021 12:31:59 +0200 -Subject: vdpa: Extend routine to accept vdpa device name - -From: Parav Pandit - -[ Upstream commit fd70a406a344e084ac680c3f14e71d37d6023883 ] - -In a subsequent patch, when user initiated command creates a vdpa device, -the user chooses the name of the vdpa device. -To support it, extend the device allocation API to consider this name -specified by the caller driver. - -Signed-off-by: Parav Pandit -Reviewed-by: Eli Cohen -Acked-by: Jason Wang -Link: https://lore.kernel.org/r/20210105103203.82508-3-parav@nvidia.com -Signed-off-by: Michael S. Tsirkin -Signed-off-by: Sasha Levin ---- - drivers/vdpa/ifcvf/ifcvf_main.c | 2 +- - drivers/vdpa/mlx5/net/mlx5_vnet.c | 2 +- - drivers/vdpa/vdpa.c | 36 +++++++++++++++++++++++++++---- - drivers/vdpa/vdpa_sim/vdpa_sim.c | 2 +- - include/linux/vdpa.h | 7 +++--- - 5 files changed, 38 insertions(+), 11 deletions(-) - -diff --git a/drivers/vdpa/ifcvf/ifcvf_main.c b/drivers/vdpa/ifcvf/ifcvf_main.c -index 8b4028556cb6..23474af7da40 100644 ---- a/drivers/vdpa/ifcvf/ifcvf_main.c -+++ b/drivers/vdpa/ifcvf/ifcvf_main.c -@@ -439,7 +439,7 @@ static int ifcvf_probe(struct pci_dev *pdev, const struct pci_device_id *id) - - adapter = vdpa_alloc_device(struct ifcvf_adapter, vdpa, - dev, &ifc_vdpa_ops, -- IFCVF_MAX_QUEUE_PAIRS * 2); -+ IFCVF_MAX_QUEUE_PAIRS * 2, NULL); - if (adapter == NULL) { - IFCVF_ERR(pdev, "Failed to allocate vDPA structure"); - return -ENOMEM; -diff --git a/drivers/vdpa/mlx5/net/mlx5_vnet.c b/drivers/vdpa/mlx5/net/mlx5_vnet.c -index fbdc9468818d..b15d8552832a 100644 ---- a/drivers/vdpa/mlx5/net/mlx5_vnet.c -+++ b/drivers/vdpa/mlx5/net/mlx5_vnet.c -@@ -1982,7 +1982,7 @@ void *mlx5_vdpa_add_dev(struct mlx5_core_dev *mdev) - max_vqs = min_t(u32, max_vqs, MLX5_MAX_SUPPORTED_VQS); - - ndev = vdpa_alloc_device(struct mlx5_vdpa_net, mvdev.vdev, mdev->device, &mlx5_vdpa_ops, -- 2 * mlx5_vdpa_max_qps(max_vqs)); -+ 2 * mlx5_vdpa_max_qps(max_vqs), NULL); - if (IS_ERR(ndev)) - return ndev; - -diff --git a/drivers/vdpa/vdpa.c b/drivers/vdpa/vdpa.c -index a69ffc991e13..b3408cc8c63b 100644 ---- a/drivers/vdpa/vdpa.c -+++ b/drivers/vdpa/vdpa.c -@@ -12,6 +12,8 @@ - #include - #include - -+/* A global mutex that protects vdpa management device and device level operations. */ -+static DEFINE_MUTEX(vdpa_dev_mutex); - static DEFINE_IDA(vdpa_index_ida); - - static int vdpa_dev_probe(struct device *d) -@@ -63,6 +65,7 @@ static void vdpa_release_dev(struct device *d) - * @config: the bus operations that is supported by this device - * @nvqs: number of virtqueues supported by this device - * @size: size of the parent structure that contains private data -+ * @name: name of the vdpa device; optional. - * - * Driver should use vdpa_alloc_device() wrapper macro instead of - * using this directly. -@@ -72,8 +75,7 @@ static void vdpa_release_dev(struct device *d) - */ - struct vdpa_device *__vdpa_alloc_device(struct device *parent, - const struct vdpa_config_ops *config, -- int nvqs, -- size_t size) -+ int nvqs, size_t size, const char *name) - { - struct vdpa_device *vdev; - int err = -EINVAL; -@@ -101,7 +103,10 @@ struct vdpa_device *__vdpa_alloc_device(struct device *parent, - vdev->features_valid = false; - vdev->nvqs = nvqs; - -- err = dev_set_name(&vdev->dev, "vdpa%u", vdev->index); -+ if (name) -+ err = dev_set_name(&vdev->dev, "%s", name); -+ else -+ err = dev_set_name(&vdev->dev, "vdpa%u", vdev->index); - if (err) - goto err_name; - -@@ -118,6 +123,13 @@ struct vdpa_device *__vdpa_alloc_device(struct device *parent, - } - EXPORT_SYMBOL_GPL(__vdpa_alloc_device); - -+static int vdpa_name_match(struct device *dev, const void *data) -+{ -+ struct vdpa_device *vdev = container_of(dev, struct vdpa_device, dev); -+ -+ return (strcmp(dev_name(&vdev->dev), data) == 0); -+} -+ - /** - * vdpa_register_device - register a vDPA device - * Callers must have a succeed call of vdpa_alloc_device() before. -@@ -127,7 +139,21 @@ EXPORT_SYMBOL_GPL(__vdpa_alloc_device); - */ - int vdpa_register_device(struct vdpa_device *vdev) - { -- return device_add(&vdev->dev); -+ struct device *dev; -+ int err; -+ -+ mutex_lock(&vdpa_dev_mutex); -+ dev = bus_find_device(&vdpa_bus, NULL, dev_name(&vdev->dev), vdpa_name_match); -+ if (dev) { -+ put_device(dev); -+ err = -EEXIST; -+ goto name_err; -+ } -+ -+ err = device_add(&vdev->dev); -+name_err: -+ mutex_unlock(&vdpa_dev_mutex); -+ return err; - } - EXPORT_SYMBOL_GPL(vdpa_register_device); - -@@ -137,7 +163,9 @@ EXPORT_SYMBOL_GPL(vdpa_register_device); - */ - void vdpa_unregister_device(struct vdpa_device *vdev) - { -+ mutex_lock(&vdpa_dev_mutex); - device_unregister(&vdev->dev); -+ mutex_unlock(&vdpa_dev_mutex); - } - EXPORT_SYMBOL_GPL(vdpa_unregister_device); - -diff --git a/drivers/vdpa/vdpa_sim/vdpa_sim.c b/drivers/vdpa/vdpa_sim/vdpa_sim.c -index f2ad450db547..df1f585e08dc 100644 ---- a/drivers/vdpa/vdpa_sim/vdpa_sim.c -+++ b/drivers/vdpa/vdpa_sim/vdpa_sim.c -@@ -370,7 +370,7 @@ static struct vdpasim *vdpasim_create(struct vdpasim_dev_attr *dev_attr) - ops = &vdpasim_net_config_ops; - - vdpasim = vdpa_alloc_device(struct vdpasim, vdpa, NULL, ops, -- dev_attr->nvqs); -+ dev_attr->nvqs, NULL); - if (!vdpasim) - goto err_alloc; - -diff --git a/include/linux/vdpa.h b/include/linux/vdpa.h -index 30bc7a7223bb..ac58462e8aed 100644 ---- a/include/linux/vdpa.h -+++ b/include/linux/vdpa.h -@@ -244,15 +244,14 @@ struct vdpa_config_ops { - - struct vdpa_device *__vdpa_alloc_device(struct device *parent, - const struct vdpa_config_ops *config, -- int nvqs, -- size_t size); -+ int nvqs, size_t size, const char *name); - --#define vdpa_alloc_device(dev_struct, member, parent, config, nvqs) \ -+#define vdpa_alloc_device(dev_struct, member, parent, config, nvqs, name) \ - container_of(__vdpa_alloc_device( \ - parent, config, nvqs, \ - sizeof(dev_struct) + \ - BUILD_BUG_ON_ZERO(offsetof( \ -- dev_struct, member))), \ -+ dev_struct, member)), name), \ - dev_struct, member) - - int vdpa_register_device(struct vdpa_device *vdev); --- -2.30.2 -