summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Sowden <jeremy@azazel.net>2019-05-21 11:35:23 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-05-22 14:44:22 +0200
commite416dad158f289ef2af48bf21fca53acc3935353 (patch)
treee130ef86eb55c775b9d470485f0e23793b036c41
parentf731540813474de5d371d650ef00443aa7811b92 (diff)
downloadlinux-e416dad158f289ef2af48bf21fca53acc3935353.tar.bz2
staging: kpc2000: simplified kp2000_device retrieval in device attribute call-backs.
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 <jeremy@azazel.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/staging/kpc2000/kpc2000/core.c28
1 files 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;