From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136]) by ash.osuosl.org (Postfix) with ESMTP id D1FAC1BF299 for ; Tue, 21 May 2019 10:35:29 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id CB3A82379C for ; Tue, 21 May 2019 10:35:29 +0000 (UTC) Received: from silver.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2CPz-7T+LmZC for ; Tue, 21 May 2019 10:35:29 +0000 (UTC) Received: from kadath.azazel.net (kadath.azazel.net [81.187.231.250]) by silver.osuosl.org (Postfix) with ESMTPS id D18E623449 for ; Tue, 21 May 2019 10:35:28 +0000 (UTC) From: Jeremy Sowden Subject: [PATCH v6 5/6] staging: kpc2000: simplified kp2000_device retrieval in device attribute call-backs. Date: Tue, 21 May 2019 11:35:23 +0100 Message-Id: <20190521103524.2176-6-jeremy@azazel.net> In-Reply-To: <20190521103524.2176-1-jeremy@azazel.net> References: <20190521103524.2176-1-jeremy@azazel.net> MIME-Version: 1.0 List-Id: Linux Driver Project Developer List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: driverdev-devel-bounces@linuxdriverproject.org Sender: "devel" To: Linux Driver Project Developer List Cc: Greg KH All the call-backs used the same formula to retrieve the pcard from dev: struct pci_dev *pdev = to_pci_dev(dev); struct kp2000_device *pcard; if (!pdev) return NULL; pcard = pci_get_drvdata(pdev); Since to_pci_dev is a wrapper for container_of, it will not return NULL, and since pci_get_drvdata just calls dev_get_drvdata on the dev member of pdev, this is equivalent to: struct kp2000_device *pcard = dev_get_drvdata(&(container_of(dev, struct pci_dev, dev)->dev)); and we can simplify it to: struct kp2000_device *pcard = dev_get_drvdata(dev); Signed-off-by: Jeremy Sowden --- drivers/staging/kpc2000/kpc2000/core.c | 28 +++++++++----------------- 1 file changed, 9 insertions(+), 19 deletions(-) diff --git a/drivers/staging/kpc2000/kpc2000/core.c b/drivers/staging/kpc2000/kpc2000/core.c index 7d6b99fcd2bd..2af4170a0d68 100644 --- a/drivers/staging/kpc2000/kpc2000/core.c +++ b/drivers/staging/kpc2000/kpc2000/core.c @@ -32,20 +32,10 @@ static DEFINE_IDA(card_num_ida); * SysFS Attributes ******************************************************/ -static struct kp2000_device *get_pcard(struct device *dev) -{ - struct pci_dev *pdev = to_pci_dev(dev); - - if (!pdev) - return NULL; - - return pci_get_drvdata(pdev); -} - static ssize_t ssid_show(struct device *dev, struct device_attribute *attr, char *buf) { - struct kp2000_device *pcard = get_pcard(dev); + struct kp2000_device *pcard = dev_get_drvdata(dev); if (!pcard) return -ENXIO; @@ -57,7 +47,7 @@ static DEVICE_ATTR_RO(ssid); static ssize_t ddna_show(struct device *dev, struct device_attribute *attr, char *buf) { - struct kp2000_device *pcard = get_pcard(dev); + struct kp2000_device *pcard = dev_get_drvdata(dev); if (!pcard) return -ENXIO; @@ -69,7 +59,7 @@ static DEVICE_ATTR_RO(ddna); static ssize_t card_id_show(struct device *dev, struct device_attribute *attr, char *buf) { - struct kp2000_device *pcard = get_pcard(dev); + struct kp2000_device *pcard = dev_get_drvdata(dev); if (!pcard) return -ENXIO; @@ -81,7 +71,7 @@ static DEVICE_ATTR_RO(card_id); static ssize_t hw_rev_show(struct device *dev, struct device_attribute *attr, char *buf) { - struct kp2000_device *pcard = get_pcard(dev); + struct kp2000_device *pcard = dev_get_drvdata(dev); if (!pcard) return -ENXIO; @@ -93,7 +83,7 @@ static DEVICE_ATTR_RO(hw_rev); static ssize_t build_show(struct device *dev, struct device_attribute *attr, char *buf) { - struct kp2000_device *pcard = get_pcard(dev); + struct kp2000_device *pcard = dev_get_drvdata(dev); if (!pcard) return -ENXIO; @@ -105,7 +95,7 @@ static DEVICE_ATTR_RO(build); static ssize_t build_date_show(struct device *dev, struct device_attribute *attr, char *buf) { - struct kp2000_device *pcard = get_pcard(dev); + struct kp2000_device *pcard = dev_get_drvdata(dev); if (!pcard) return -ENXIO; @@ -117,7 +107,7 @@ static DEVICE_ATTR_RO(build_date); static ssize_t build_time_show(struct device *dev, struct device_attribute *attr, char *buf) { - struct kp2000_device *pcard = get_pcard(dev); + struct kp2000_device *pcard = dev_get_drvdata(dev); if (!pcard) return -ENXIO; @@ -129,7 +119,7 @@ static DEVICE_ATTR_RO(build_time); static ssize_t cpld_reg_show(struct device *dev, struct device_attribute *attr, char *buf) { - struct kp2000_device *pcard = get_pcard(dev); + struct kp2000_device *pcard = dev_get_drvdata(dev); u64 val; if (!pcard) @@ -144,7 +134,7 @@ static ssize_t cpld_reconfigure(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) { - struct kp2000_device *pcard = get_pcard(dev); + struct kp2000_device *pcard = dev_get_drvdata(dev); long wr_val; int rv; -- 2.20.1 _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel