aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuenter Roeck <linux@roeck-us.net>2013-03-08 10:42:00 -0500
committerGuenter Roeck <linux@roeck-us.net>2013-04-08 00:16:40 -0400
commit236d9039480059f97dc9d3cd75e3651582b62997 (patch)
tree7d125f7bdacd47efe221c4190a48275e2d33e232
parent0fc1f8fc614ca0fef78011b34ef8da638eb9acea (diff)
hwmon: (nct6775) Drop read/write lock
The read/write lock is acquired for each read/write operation from/to the chip. This occurs either during initialization, when it is not needed, or during updates, when the update_lock is held as well, and it is not needed either. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
-rw-r--r--drivers/hwmon/nct6775.c10
1 files changed, 0 insertions, 10 deletions
diff --git a/drivers/hwmon/nct6775.c b/drivers/hwmon/nct6775.c
index 752fbd7efb32..2269bb241b83 100644
--- a/drivers/hwmon/nct6775.c
+++ b/drivers/hwmon/nct6775.c
@@ -554,7 +554,6 @@ struct nct6775_data {
554 const char *name; 554 const char *name;
555 555
556 struct device *hwmon_dev; 556 struct device *hwmon_dev;
557 struct mutex lock;
558 557
559 u16 reg_temp[4][NUM_TEMP]; /* 0=temp, 1=temp_over, 2=temp_hyst, 558 u16 reg_temp[4][NUM_TEMP]; /* 0=temp, 1=temp_over, 2=temp_hyst,
560 * 3=temp_crit 559 * 3=temp_crit
@@ -745,8 +744,6 @@ static u16 nct6775_read_value(struct nct6775_data *data, u16 reg)
745{ 744{
746 int res, word_sized = is_word_sized(data, reg); 745 int res, word_sized = is_word_sized(data, reg);
747 746
748 mutex_lock(&data->lock);
749
750 nct6775_set_bank(data, reg); 747 nct6775_set_bank(data, reg);
751 outb_p(reg & 0xff, data->addr + ADDR_REG_OFFSET); 748 outb_p(reg & 0xff, data->addr + ADDR_REG_OFFSET);
752 res = inb_p(data->addr + DATA_REG_OFFSET); 749 res = inb_p(data->addr + DATA_REG_OFFSET);
@@ -755,8 +752,6 @@ static u16 nct6775_read_value(struct nct6775_data *data, u16 reg)
755 data->addr + ADDR_REG_OFFSET); 752 data->addr + ADDR_REG_OFFSET);
756 res = (res << 8) + inb_p(data->addr + DATA_REG_OFFSET); 753 res = (res << 8) + inb_p(data->addr + DATA_REG_OFFSET);
757 } 754 }
758
759 mutex_unlock(&data->lock);
760 return res; 755 return res;
761} 756}
762 757
@@ -764,8 +759,6 @@ static int nct6775_write_value(struct nct6775_data *data, u16 reg, u16 value)
764{ 759{
765 int word_sized = is_word_sized(data, reg); 760 int word_sized = is_word_sized(data, reg);
766 761
767 mutex_lock(&data->lock);
768
769 nct6775_set_bank(data, reg); 762 nct6775_set_bank(data, reg);
770 outb_p(reg & 0xff, data->addr + ADDR_REG_OFFSET); 763 outb_p(reg & 0xff, data->addr + ADDR_REG_OFFSET);
771 if (word_sized) { 764 if (word_sized) {
@@ -774,8 +767,6 @@ static int nct6775_write_value(struct nct6775_data *data, u16 reg, u16 value)
774 data->addr + ADDR_REG_OFFSET); 767 data->addr + ADDR_REG_OFFSET);
775 } 768 }
776 outb_p(value & 0xff, data->addr + DATA_REG_OFFSET); 769 outb_p(value & 0xff, data->addr + DATA_REG_OFFSET);
777
778 mutex_unlock(&data->lock);
779 return 0; 770 return 0;
780} 771}
781 772
@@ -3416,7 +3407,6 @@ static int nct6775_probe(struct platform_device *pdev)
3416 3407
3417 data->kind = sio_data->kind; 3408 data->kind = sio_data->kind;
3418 data->addr = res->start; 3409 data->addr = res->start;
3419 mutex_init(&data->lock);
3420 mutex_init(&data->update_lock); 3410 mutex_init(&data->update_lock);
3421 data->name = nct6775_device_names[data->kind]; 3411 data->name = nct6775_device_names[data->kind];
3422 data->bank = 0xff; /* Force initial bank selection */ 3412 data->bank = 0xff; /* Force initial bank selection */