[PATCH 9/9] staging: most: hdm-usb: remove repeated access to structure

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This patch removes the repeated access to a struct member by assigning
its value to a local variable once.

Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx>
---
 drivers/staging/most/hdm-usb/hdm_usb.c | 20 ++++++++++++--------
 1 file changed, 12 insertions(+), 8 deletions(-)

diff --git a/drivers/staging/most/hdm-usb/hdm_usb.c b/drivers/staging/most/hdm-usb/hdm_usb.c
index a01b0e6..2ea1488 100644
--- a/drivers/staging/most/hdm-usb/hdm_usb.c
+++ b/drivers/staging/most/hdm-usb/hdm_usb.c
@@ -1073,16 +1073,18 @@ static int get_stat_reg_addr(const struct regs *regs, int size,
 static ssize_t show_value(struct most_dci_obj *dci_obj,
 			  struct most_dci_attribute *attr, char *buf)
 {
+	const char *name = attr->attr.name;
 	u16 val;
 	u16 reg_addr;
 	int err;
 
-	if (!strcmp(attr->attr.name, "arb_address"))
+	if (!strcmp(name, "arb_address"))
 		return snprintf(buf, PAGE_SIZE, "%04x\n", dci_obj->reg_addr);
-	if (!strcmp(attr->attr.name, "arb_value"))
+
+	if (!strcmp(name, "arb_value"))
 		reg_addr = dci_obj->reg_addr;
-	else if (get_static_reg_addr(ro_regs, attr->attr.name, &reg_addr) &&
-		 get_static_reg_addr(rw_regs, attr->attr.name, &reg_addr))
+	else if (get_static_reg_addr(ro_regs, name, &reg_addr) &&
+		 get_static_reg_addr(rw_regs, name, &reg_addr))
 		return -EFAULT;
 
 	err = drci_rd_reg(dci_obj->usb_device, reg_addr, &val);
@@ -1098,23 +1100,25 @@ static ssize_t store_value(struct most_dci_obj *dci_obj,
 {
 	u16 val;
 	u16 reg_addr;
+	const char *name = attr->attr.name;
 	int err = kstrtou16(buf, 16, &val);
 
 	if (err)
 		return err;
 
-	if (!strcmp(attr->attr.name, "arb_address")) {
+	if (!strcmp(name, "arb_address")) {
 		dci_obj->reg_addr = val;
 		return count;
 	}
-	if (!strcmp(attr->attr.name, "arb_value")) {
+
+	if (!strcmp(name, "arb_value")) {
 		reg_addr = dci_obj->reg_addr;
-	} else if (!strcmp(attr->attr.name, "sync_ep")) {
+	} else if (!strcmp(name, "sync_ep")) {
 		u16 ep = val;
 
 		reg_addr = DRCI_REG_BASE + DRCI_COMMAND + ep * 16;
 		val = 1;
-	} else if (get_static_reg_addr(ro_regs, attr->attr.name, &reg_addr)) {
+	} else if (get_static_reg_addr(ro_regs, name, &reg_addr)) {
 		return -EFAULT;
 	}
 
-- 
1.9.1

_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel



[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux