In sysfs methods struct device is guaranteed to not be NULL thus bd will
not be NULL in any way. Also, checking for bd->magic != DGNC_BOARD_MAGIC
and bd->state != BOARD_READY is redundant because we already don't
initialize broken boards since "dgnc: Don't save boards in memory that
have failed to initialize" and make sysfs files after initializing the
board in dgnc_driver.c or IOW they are already set for successfully
initialized boards before their sysfs files created (412 and 593 lines
in dgnc_driver.c).

Signed-off-by: Giedrius Statkevičius <giedrius.statkevic...@gmail.com>
---
 drivers/staging/dgnc/dgnc_sysfs.c | 96 ++++++++++-----------------------------
 1 file changed, 23 insertions(+), 73 deletions(-)

diff --git a/drivers/staging/dgnc/dgnc_sysfs.c 
b/drivers/staging/dgnc/dgnc_sysfs.c
index a72e353..be13eb0 100644
--- a/drivers/staging/dgnc/dgnc_sysfs.c
+++ b/drivers/staging/dgnc/dgnc_sysfs.c
@@ -105,28 +105,10 @@ void dgnc_remove_driver_sysfiles(struct pci_driver 
*dgnc_driver)
        driver_remove_file(driverfs, &driver_attr_pollrate);
 }
 
-
-#define DGNC_VERIFY_BOARD(p, bd)                               \
-       do {                                                    \
-               if (!p)                                         \
-                       return 0;                               \
-                                                               \
-               bd = dev_get_drvdata(p);                        \
-               if (!bd || bd->magic != DGNC_BOARD_MAGIC)       \
-                       return 0;                               \
-               if (bd->state != BOARD_READY)                   \
-                       return 0;                               \
-       } while (0)
-
-
-
 static ssize_t dgnc_vpd_show(struct device *p, struct device_attribute *attr, 
char *buf)
 {
-       struct dgnc_board *bd;
-       int count = 0;
-       int i = 0;
-
-       DGNC_VERIFY_BOARD(p, bd);
+       int count = 0, i = 0;
+       struct dgnc_board *bd = dev_get_drvdata(p);
 
        count += sprintf(buf + count, "\n      0  1  2  3  4  5  6  7  8  9  A  
B  C  D  E  F");
        for (i = 0; i < 0x40 * 2; i++) {
@@ -142,10 +124,8 @@ static DEVICE_ATTR(vpd, S_IRUSR, dgnc_vpd_show, NULL);
 
 static ssize_t dgnc_serial_number_show(struct device *p, struct 
device_attribute *attr, char *buf)
 {
-       struct dgnc_board *bd;
        int count = 0;
-
-       DGNC_VERIFY_BOARD(p, bd);
+       struct dgnc_board *bd = dev_get_drvdata(p);
 
        if (bd->serial_num[0] == '\0')
                count += sprintf(buf + count, "<UNKNOWN>\n");
@@ -159,11 +139,8 @@ static DEVICE_ATTR(serial_number, S_IRUSR, 
dgnc_serial_number_show, NULL);
 
 static ssize_t dgnc_ports_state_show(struct device *p, struct device_attribute 
*attr, char *buf)
 {
-       struct dgnc_board *bd;
-       int count = 0;
-       int i = 0;
-
-       DGNC_VERIFY_BOARD(p, bd);
+       int count = 0, i = 0;
+       struct dgnc_board *bd = dev_get_drvdata(p);
 
        for (i = 0; i < bd->nasync; i++) {
                count += snprintf(buf + count, PAGE_SIZE - count,
@@ -177,11 +154,8 @@ static DEVICE_ATTR(ports_state, S_IRUSR, 
dgnc_ports_state_show, NULL);
 
 static ssize_t dgnc_ports_baud_show(struct device *p, struct device_attribute 
*attr, char *buf)
 {
-       struct dgnc_board *bd;
-       int count = 0;
-       int i = 0;
-
-       DGNC_VERIFY_BOARD(p, bd);
+       int count = 0, i = 0;
+       struct dgnc_board *bd = dev_get_drvdata(p);
 
        for (i = 0; i < bd->nasync; i++) {
                count +=  snprintf(buf + count, PAGE_SIZE - count,
@@ -194,11 +168,8 @@ static DEVICE_ATTR(ports_baud, S_IRUSR, 
dgnc_ports_baud_show, NULL);
 
 static ssize_t dgnc_ports_msignals_show(struct device *p, struct 
device_attribute *attr, char *buf)
 {
-       struct dgnc_board *bd;
-       int count = 0;
-       int i = 0;
-
-       DGNC_VERIFY_BOARD(p, bd);
+       int count = 0, i = 0;
+       struct dgnc_board *bd = dev_get_drvdata(p);
 
        for (i = 0; i < bd->nasync; i++) {
                if (bd->channels[i]->ch_open_count) {
@@ -222,11 +193,8 @@ static DEVICE_ATTR(ports_msignals, S_IRUSR, 
dgnc_ports_msignals_show, NULL);
 
 static ssize_t dgnc_ports_iflag_show(struct device *p, struct device_attribute 
*attr, char *buf)
 {
-       struct dgnc_board *bd;
-       int count = 0;
-       int i = 0;
-
-       DGNC_VERIFY_BOARD(p, bd);
+       int count = 0, i = 0;
+       struct dgnc_board *bd = dev_get_drvdata(p);
 
        for (i = 0; i < bd->nasync; i++) {
                count += snprintf(buf + count, PAGE_SIZE - count, "%d %x\n",
@@ -239,11 +207,8 @@ static DEVICE_ATTR(ports_iflag, S_IRUSR, 
dgnc_ports_iflag_show, NULL);
 
 static ssize_t dgnc_ports_cflag_show(struct device *p, struct device_attribute 
*attr, char *buf)
 {
-       struct dgnc_board *bd;
-       int count = 0;
-       int i = 0;
-
-       DGNC_VERIFY_BOARD(p, bd);
+       int count = 0, i = 0;
+       struct dgnc_board *bd = dev_get_drvdata(p);
 
        for (i = 0; i < bd->nasync; i++) {
                count += snprintf(buf + count, PAGE_SIZE - count, "%d %x\n",
@@ -256,11 +221,8 @@ static DEVICE_ATTR(ports_cflag, S_IRUSR, 
dgnc_ports_cflag_show, NULL);
 
 static ssize_t dgnc_ports_oflag_show(struct device *p, struct device_attribute 
*attr, char *buf)
 {
-       struct dgnc_board *bd;
-       int count = 0;
-       int i = 0;
-
-       DGNC_VERIFY_BOARD(p, bd);
+       int count = 0, i = 0;
+       struct dgnc_board *bd = dev_get_drvdata(p);
 
        for (i = 0; i < bd->nasync; i++) {
                count += snprintf(buf + count, PAGE_SIZE - count, "%d %x\n",
@@ -273,11 +235,8 @@ static DEVICE_ATTR(ports_oflag, S_IRUSR, 
dgnc_ports_oflag_show, NULL);
 
 static ssize_t dgnc_ports_lflag_show(struct device *p, struct device_attribute 
*attr, char *buf)
 {
-       struct dgnc_board *bd;
-       int count = 0;
-       int i = 0;
-
-       DGNC_VERIFY_BOARD(p, bd);
+       int count = 0, i = 0;
+       struct dgnc_board *bd = dev_get_drvdata(p);
 
        for (i = 0; i < bd->nasync; i++) {
                count += snprintf(buf + count, PAGE_SIZE - count, "%d %x\n",
@@ -290,11 +249,8 @@ static DEVICE_ATTR(ports_lflag, S_IRUSR, 
dgnc_ports_lflag_show, NULL);
 
 static ssize_t dgnc_ports_digi_flag_show(struct device *p, struct 
device_attribute *attr, char *buf)
 {
-       struct dgnc_board *bd;
-       int count = 0;
-       int i = 0;
-
-       DGNC_VERIFY_BOARD(p, bd);
+       int count = 0, i = 0;
+       struct dgnc_board *bd = dev_get_drvdata(p);
 
        for (i = 0; i < bd->nasync; i++) {
                count += snprintf(buf + count, PAGE_SIZE - count, "%d %x\n",
@@ -307,11 +263,8 @@ static DEVICE_ATTR(ports_digi_flag, S_IRUSR, 
dgnc_ports_digi_flag_show, NULL);
 
 static ssize_t dgnc_ports_rxcount_show(struct device *p, struct 
device_attribute *attr, char *buf)
 {
-       struct dgnc_board *bd;
-       int count = 0;
-       int i = 0;
-
-       DGNC_VERIFY_BOARD(p, bd);
+       int count = 0, i = 0;
+       struct dgnc_board *bd = dev_get_drvdata(p);
 
        for (i = 0; i < bd->nasync; i++) {
                count += snprintf(buf + count, PAGE_SIZE - count, "%d %ld\n",
@@ -324,11 +277,8 @@ static DEVICE_ATTR(ports_rxcount, S_IRUSR, 
dgnc_ports_rxcount_show, NULL);
 
 static ssize_t dgnc_ports_txcount_show(struct device *p, struct 
device_attribute *attr, char *buf)
 {
-       struct dgnc_board *bd;
-       int count = 0;
-       int i = 0;
-
-       DGNC_VERIFY_BOARD(p, bd);
+       int count = 0, i = 0;
+       struct dgnc_board *bd = dev_get_drvdata(p);
 
        for (i = 0; i < bd->nasync; i++) {
                count += snprintf(buf + count, PAGE_SIZE - count, "%d %ld\n",
-- 
2.3.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to