From 1637a947e684dfdaae9e91b902297f65517259c9 Mon Sep 17 00:00:00 2001 From: Christian Gromm Date: Wed, 20 Nov 2019 15:05:38 +0100 Subject: [PATCH] staging: most: core: remove sysfs attr remove_link This patch removes the sysfs attribute remove_link, as it is not needed anymore since the introduction of the configfs configuration interface. Signed-off-by: Christian Gromm Link: https://lore.kernel.org/r/1574258738-12863-1-git-send-email-christian.gromm@microchip.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/most/core.c | 86 ------------------------------------- 1 file changed, 86 deletions(-) diff --git a/drivers/staging/most/core.c b/drivers/staging/most/core.c index 79e66eb396b8..51a6b41d5b82 100644 --- a/drivers/staging/most/core.c +++ b/drivers/staging/most/core.c @@ -520,48 +520,6 @@ static ssize_t components_show(struct device_driver *drv, char *buf) return offs; } -/** - * split_string - parses buf and extracts ':' separated substrings. - * - * @buf: complete string from attribute 'add_channel' - * @a: storage for 1st substring (=interface name) - * @b: storage for 2nd substring (=channel name) - * @c: storage for 3rd substring (=component name) - * @d: storage optional 4th substring (=user defined name) - * - * Examples: - * - * Input: "mdev0:ch6:cdev:my_channel\n" or - * "mdev0:ch6:cdev:my_channel" - * - * Output: *a -> "mdev0", *b -> "ch6", *c -> "cdev" *d -> "my_channel" - * - * Input: "mdev1:ep81:cdev\n" - * Output: *a -> "mdev1", *b -> "ep81", *c -> "cdev" *d -> "" - * - * Input: "mdev1:ep81" - * Output: *a -> "mdev1", *b -> "ep81", *c -> "cdev" *d == NULL - */ -static int split_string(char *buf, char **a, char **b, char **c, char **d) -{ - *a = strsep(&buf, ":"); - if (!*a) - return -EIO; - - *b = strsep(&buf, ":\n"); - if (!*b) - return -EIO; - - *c = strsep(&buf, ":\n"); - if (!*c) - return -EIO; - - if (d) - *d = strsep(&buf, ":\n"); - - return 0; -} - /** * get_channel - get pointer to channel * @mdev: name of the device interface @@ -723,48 +681,6 @@ int most_add_link(char *mdev, char *mdev_ch, char *comp_name, char *link_name, return link_channel_to_component(c, comp, link_name, comp_param); } -/** - * remove_link_store - store function for remove_link attribute - * @drv: device driver - * @buf: buffer - * @len: buffer length - * - * Example: - * echo "mdev0:ep81" >remove_link - */ -static ssize_t remove_link_store(struct device_driver *drv, - const char *buf, - size_t len) -{ - struct most_channel *c; - struct core_component *comp; - char buffer[STRING_SIZE]; - char *mdev; - char *mdev_ch; - char *comp_name; - int ret; - size_t max_len = min_t(size_t, len + 1, STRING_SIZE); - - strlcpy(buffer, buf, max_len); - ret = split_string(buffer, &mdev, &mdev_ch, &comp_name, NULL); - if (ret) - return ret; - comp = match_component(comp_name); - if (!comp) - return -ENODEV; - c = get_channel(mdev, mdev_ch); - if (!c) - return -ENODEV; - - if (comp->disconnect_channel(c->iface, c->channel_id)) - return -EIO; - if (c->pipe0.comp == comp) - c->pipe0.comp = NULL; - if (c->pipe1.comp == comp) - c->pipe1.comp = NULL; - return len; -} - int most_remove_link(char *mdev, char *mdev_ch, char *comp_name) { struct most_channel *c; @@ -790,12 +706,10 @@ int most_remove_link(char *mdev, char *mdev_ch, char *comp_name) static DRIVER_ATTR_RO(links); static DRIVER_ATTR_RO(components); -static DRIVER_ATTR_WO(remove_link); static struct attribute *mc_attrs[] = { DRV_ATTR(links), DRV_ATTR(components), - DRV_ATTR(remove_link), NULL, };