From patchwork Fri Jun 14 17:54:17 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Suzuki K Poulose X-Patchwork-Id: 166902 Delivered-To: patch@linaro.org Received: by 2002:a92:4782:0:0:0:0:0 with SMTP id e2csp2353365ilk; Fri, 14 Jun 2019 10:55:53 -0700 (PDT) X-Google-Smtp-Source: APXvYqzAVTeX5VO7UNVWBwAPOuRXRRab+YGKy9xzGx4EvpNggjc/NQ+5AsCnUxq1dqBhcQD5iYsg X-Received: by 2002:a62:1c92:: with SMTP id c140mr100273482pfc.258.1560534953699; Fri, 14 Jun 2019 10:55:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1560534953; cv=none; d=google.com; s=arc-20160816; b=AffrKtoWAbqKZL7HVLSKmh7109KtWksWU8Zpz9Q2/jAB9m249VpDh79OB24ttnM6v2 9NzU0PjbHbRP6vB5r4LsvWyxA7iI3H/fmB7hhM3wgI99/fC0vTsaUuHDq64vVcXh3R52 lRawvPaWsURBMr+WQMHdMYMb1lD1oFPqBsCeRRP3E2huSgfajQ5ZElSrRPJDqZIEDZ7A AZDuLhAZofXUwiLDjEs4WLrCY6UMZxMgXYdcgG0L2Iem8Ib+AD5EsKj9HsvWhJzVPjiG FvdCYxRCQs6uMKSAe1LkIYUhpfXq7ZTLmICvbyvizEegPgoFrlWGCo14Mg8fvwnMToC9 ybaw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from; bh=nZzR5D/cF3amy0YKwfz7bRoj8p/i7dESOAEszHYSDoo=; b=sZAxtwIp7LV8Djr/PdXVo9UVxLDCA4Nx581EMIdgqpgfUVYHle1X87xx10GLQ+V1zm AI/UyCRBhj4JyNpvsUx3XMm92UM6c4bIWqeVNse85E3K2mSwQl0igfF1GPsj/yneV9b1 mueXMAgOAGee0jx22Omb++mw284LPgWZIIqdxxnyKMuLcC3E6PvRg28bqu3Cx7ALDr3w KHDh3GL2AykDaEWtFn/UHdM5+VnJM4A4A7GLtXooc/DgMj4+YuXrUfwndNr6tXQu3RAw 3gBI24EOQG6DEyIKn/cK5TtIqPVgT7NHG+Tc7CUhak4g0aSSo62Ry+trOQSjwrMRGlqb g/xw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t24si3143658pgm.502.2019.06.14.10.55.53; Fri, 14 Jun 2019 10:55:53 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727208AbfFNRzw (ORCPT + 17 others); Fri, 14 Jun 2019 13:55:52 -0400 Received: from foss.arm.com ([217.140.110.172]:39668 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727611AbfFNRz0 (ORCPT ); Fri, 14 Jun 2019 13:55:26 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 1686F11B3; Fri, 14 Jun 2019 10:55:25 -0700 (PDT) Received: from en101.cambridge.arm.com (en101.cambridge.arm.com [10.1.196.93]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id EC39D3F718; Fri, 14 Jun 2019 10:55:23 -0700 (PDT) From: Suzuki K Poulose To: linux-kernel@vger.kernel.org Cc: gregkh@linuxfoundation.org, rafael@kernel.org, suzuki.poulose@arm.com, Lee Jones , Arnd Bergmann , Heiko Carstens , Peter Oberparleiter Subject: [PATCH v2 22/28] drivers: Introduce driver_find_device_by_name() helper Date: Fri, 14 Jun 2019 18:54:17 +0100 Message-Id: <1560534863-15115-23-git-send-email-suzuki.poulose@arm.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1560534863-15115-1-git-send-email-suzuki.poulose@arm.com> References: <1560534863-15115-1-git-send-email-suzuki.poulose@arm.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Add a wrapper to driver_find_device() to search for a device by name, similar to the other iterators, reusing the generic match function. Also convert the existing users to make use of the new helper. Cc: Lee Jones Cc: Arnd Bergmann Cc: Heiko Carstens Cc: Peter Oberparleiter Cc: Greg Kroah-Hartman Cc: "Rafael J. Wysocki" Signed-off-by: Suzuki K Poulose --- drivers/s390/cio/ccwgroup.c | 10 +--------- drivers/s390/cio/device.c | 17 +---------------- include/linux/device.h | 12 ++++++++++++ 3 files changed, 14 insertions(+), 25 deletions(-) -- 2.7.4 diff --git a/drivers/s390/cio/ccwgroup.c b/drivers/s390/cio/ccwgroup.c index ea176157..d843e36 100644 --- a/drivers/s390/cio/ccwgroup.c +++ b/drivers/s390/cio/ccwgroup.c @@ -608,13 +608,6 @@ void ccwgroup_driver_unregister(struct ccwgroup_driver *cdriver) } EXPORT_SYMBOL(ccwgroup_driver_unregister); -static int __ccwgroupdev_check_busid(struct device *dev, const void *id) -{ - char *bus_id = id; - - return (strcmp(bus_id, dev_name(dev)) == 0); -} - /** * get_ccwgroupdev_by_busid() - obtain device from a bus id * @gdrv: driver the device is owned by @@ -631,8 +624,7 @@ struct ccwgroup_device *get_ccwgroupdev_by_busid(struct ccwgroup_driver *gdrv, { struct device *dev; - dev = driver_find_device(&gdrv->driver, NULL, bus_id, - __ccwgroupdev_check_busid); + dev = driver_find_device_by_name(&gdrv->driver, bus_id); return dev ? to_ccwgroupdev(dev) : NULL; } diff --git a/drivers/s390/cio/device.c b/drivers/s390/cio/device.c index f27536b..df29d7e 100644 --- a/drivers/s390/cio/device.c +++ b/drivers/s390/cio/device.c @@ -1649,20 +1649,6 @@ int ccw_device_force_console(struct ccw_device *cdev) EXPORT_SYMBOL_GPL(ccw_device_force_console); #endif -/* - * get ccw_device matching the busid, but only if owned by cdrv - */ -static int -__ccwdev_check_busid(struct device *dev, const void *id) -{ - char *bus_id; - - bus_id = id; - - return (strcmp(bus_id, dev_name(dev)) == 0); -} - - /** * get_ccwdev_by_busid() - obtain device from a bus id * @cdrv: driver the device is owned by @@ -1679,8 +1665,7 @@ struct ccw_device *get_ccwdev_by_busid(struct ccw_driver *cdrv, { struct device *dev; - dev = driver_find_device(&cdrv->driver, NULL, (void *)bus_id, - __ccwdev_check_busid); + dev = driver_find_device_by_name(&cdrv->driver, bus_id); return dev ? to_ccwdev(dev) : NULL; } diff --git a/include/linux/device.h b/include/linux/device.h index 6768e2b..0d3958e 100644 --- a/include/linux/device.h +++ b/include/linux/device.h @@ -425,6 +425,18 @@ struct device *driver_find_device(struct device_driver *drv, struct device *start, const void *data, int (*match)(struct device *dev, const void *data)); +/** + * driver_find_device_by_name - device iterator for locating a particular device + * of a specific name. + * @driver: the driver we're iterating + * @name: name of the device to match + */ +static inline struct device *driver_find_device_by_name(struct device_driver *drv, + const char *name) +{ + return driver_find_device(drv, NULL, name, device_match_name); +} + void driver_deferred_probe_add(struct device *dev); int driver_deferred_probe_check_state(struct device *dev);