Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 969780f8 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/i2c-2.6

parents ad8f76be 8750197f
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -7,12 +7,10 @@ Supported adapters:
  * VIA Technologies, Inc. VT82C686A/B
    Datasheet: Sometimes available at the VIA website

  * VIA Technologies, Inc. VT8231, VT8233, VT8233A, VT8235, VT8237
    Datasheet: available on request from Via
  * VIA Technologies, Inc. VT8231, VT8233, VT8233A, VT8235, VT8237R
    Datasheet: available on request from VIA

Authors:
	Frodo Looijaard <frodol@dds.nl>,
	Philip Edelbrock <phil@netroedge.com>,
	Kysti Mlkki <kmalkki@cc.hut.fi>,
	Mark D. Studebaker <mdsxyz123@yahoo.com>,
	Jean Delvare <khali@linux-fr.org>
+2 −2
Original line number Diff line number Diff line
@@ -412,7 +412,7 @@ For now, you can ignore the `flags' parameter. It is there for future use.
        release_region(address,FOO_EXTENT);
    /* SENSORS ONLY END */
    ERROR1:
      kfree(new_client);
      kfree(data);
    ERROR0:
      return err;
  }
@@ -443,7 +443,7 @@ much simpler than the attachment code, fortunately!
      release_region(client->addr,LM78_EXTENT);
    /* HYBRID SENSORS CHIP ONLY END */

    kfree(data);
    kfree(i2c_get_clientdata(client));
    return 0;
  }

+4 −12
Original line number Diff line number Diff line
@@ -180,11 +180,10 @@ superio_exit(void)
#define W83781D_REG_BANK 0x4E

#define W83781D_REG_CONFIG 0x40
#define W83781D_REG_ALARM1 0x41
#define W83781D_REG_ALARM2 0x42
#define W83781D_REG_ALARM3 0x450
#define W83781D_REG_ALARM1 0x459
#define W83781D_REG_ALARM2 0x45A
#define W83781D_REG_ALARM3 0x45B

#define W83781D_REG_IRQ 0x4C
#define W83781D_REG_BEEP_CONFIG 0x4D
#define W83781D_REG_BEEP_INTS1 0x56
#define W83781D_REG_BEEP_INTS2 0x57
@@ -1370,13 +1369,6 @@ static void w83627hf_init_client(struct i2c_client *client)
					W83781D_REG_TEMP3_CONFIG, tmp & 0xfe);
			}
		}

		/* enable comparator mode for temp2 and temp3 so
	           alarm indication will work correctly */
		i = w83627hf_read_value(client, W83781D_REG_IRQ);
		if (!(i & 0x40))
			w83627hf_write_value(client, W83781D_REG_IRQ,
					    i | 0x40);
	}

	/* Start monitoring */
@@ -1400,7 +1392,7 @@ static struct w83627hf_data *w83627hf_update_device(struct device *dev)
			/* skip missing sensors */
			if (((data->type == w83697hf) && (i == 1)) ||
			    ((data->type == w83627thf || data->type == w83637hf)
			    && (i == 4 || i == 5)))
			    && (i == 5 || i == 6)))
				continue;
			data->in[i] =
			    w83627hf_read_value(client, W83781D_REG_IN(i));
+14 −13
Original line number Diff line number Diff line
@@ -142,19 +142,18 @@ static int vt596_transaction(u8 size)
	/* Make sure the SMBus host is ready to start transmitting */
	if ((temp = inb_p(SMBHSTSTS)) & 0x1F) {
		dev_dbg(&vt596_adapter.dev, "SMBus busy (0x%02x). "
			"Resetting... ", temp);
			"Resetting...\n", temp);

		outb_p(temp, SMBHSTSTS);
		if ((temp = inb_p(SMBHSTSTS)) & 0x1F) {
			printk("Failed! (0x%02x)\n", temp);
			dev_err(&vt596_adapter.dev, "SMBus reset failed! "
				"(0x%02x)\n", temp);
			return -1;
		} else {
			printk("Successful!\n");
		}
	}

	/* Start the transaction by setting bit 6 */
	outb_p(0x40 | (size & 0x3C), SMBHSTCNT);
	outb_p(0x40 | size, SMBHSTCNT);

	/* We will always wait for a fraction of a second */
	do {
@@ -171,7 +170,7 @@ static int vt596_transaction(u8 size)
	if (temp & 0x10) {
		result = -1;
		dev_err(&vt596_adapter.dev, "Transaction failed (0x%02x)\n",
			inb_p(SMBHSTCNT) & 0x3C);
			size);
	}

	if (temp & 0x08) {
@@ -180,11 +179,13 @@ static int vt596_transaction(u8 size)
	}

	if (temp & 0x04) {
		int read = inb_p(SMBHSTADD) & 0x01;
		result = -1;
		/* Quick commands are used to probe for chips, so
		   errors are expected, and we don't want to frighten the
		   user. */
		if ((inb_p(SMBHSTCNT) & 0x3C) != VT596_QUICK)
		/* The quick and receive byte commands are used to probe
		   for chips, so errors are expected, and we don't want
		   to frighten the user. */
		if (!((size == VT596_QUICK && !read) ||
		      (size == VT596_BYTE && read)))
			dev_err(&vt596_adapter.dev, "Transaction error!\n");
	}

@@ -462,9 +463,9 @@ static void __exit i2c_vt596_exit(void)
	}
}

MODULE_AUTHOR(
    "Frodo Looijaard <frodol@dds.nl> and "
    "Philip Edelbrock <phil@netroedge.com>");
MODULE_AUTHOR("Kyosti Malkki <kmalkki@cc.hut.fi>, "
	      "Mark D. Studebaker <mdsxyz123@yahoo.com> and "
	      "Jean Delvare <khali@linux-fr.org>");
MODULE_DESCRIPTION("vt82c596 SMBus driver");
MODULE_LICENSE("GPL");

+2 −2
Original line number Diff line number Diff line
@@ -164,9 +164,9 @@ static int ds1337_set_datetime(struct i2c_client *client, struct rtc_time *dt)
	buf[1] = BIN2BCD(dt->tm_sec);
	buf[2] = BIN2BCD(dt->tm_min);
	buf[3] = BIN2BCD(dt->tm_hour);
	buf[4] = BIN2BCD(dt->tm_wday) + 1;
	buf[4] = BIN2BCD(dt->tm_wday + 1);
	buf[5] = BIN2BCD(dt->tm_mday);
	buf[6] = BIN2BCD(dt->tm_mon) + 1;
	buf[6] = BIN2BCD(dt->tm_mon + 1);
	val = dt->tm_year;
	if (val >= 100) {
		val -= 100;