|
@@ -57,7 +57,7 @@ SENSORS_INSMOD_2(pcf8574, pcf8574a);
|
|
struct pcf8574_data {
|
|
struct pcf8574_data {
|
|
struct i2c_client client;
|
|
struct i2c_client client;
|
|
|
|
|
|
- u8 read, write; /* Register values */
|
|
|
|
|
|
+ u8 write; /* Remember last written value */
|
|
};
|
|
};
|
|
|
|
|
|
static int pcf8574_attach_adapter(struct i2c_adapter *adapter);
|
|
static int pcf8574_attach_adapter(struct i2c_adapter *adapter);
|
|
@@ -79,9 +79,7 @@ static struct i2c_driver pcf8574_driver = {
|
|
static ssize_t show_read(struct device *dev, struct device_attribute *attr, char *buf)
|
|
static ssize_t show_read(struct device *dev, struct device_attribute *attr, char *buf)
|
|
{
|
|
{
|
|
struct i2c_client *client = to_i2c_client(dev);
|
|
struct i2c_client *client = to_i2c_client(dev);
|
|
- struct pcf8574_data *data = i2c_get_clientdata(client);
|
|
|
|
- data->read = i2c_smbus_read_byte(client);
|
|
|
|
- return sprintf(buf, "%u\n", data->read);
|
|
|
|
|
|
+ return sprintf(buf, "%u\n", i2c_smbus_read_byte(client));
|
|
}
|
|
}
|
|
|
|
|
|
static DEVICE_ATTR(read, S_IRUGO, show_read, NULL);
|
|
static DEVICE_ATTR(read, S_IRUGO, show_read, NULL);
|