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

Commit f88609a0 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
  MAINTAINERS: List i2c-omap and i2c-davinci drivers
  MAINTAINERS: i2c: Add third maintainer
  i2c/gpio-i2cmux: Convert to use module_platform_driver()
  i2c/busses: Use module_platform_driver()
  i2c-dev: Use memdup_user
  i2c: Convert to DEFINE_PCI_DEVICE_TABLE
  i2c-ali1535: enable SPARC support
  i2c: Fix error value returned by several bus drivers
parents 2145199c 046d0a37
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -3193,6 +3193,7 @@ F: drivers/i2c/busses/i2c-stub.c
I2C SUBSYSTEM
M:	"Jean Delvare (PC drivers, core)" <khali@linux-fr.org>
M:	"Ben Dooks (embedded platforms)" <ben-linux@fluff.org>
M:	"Wolfram Sang (embedded platforms)" <w.sang@pengutronix.de>
L:	linux-i2c@vger.kernel.org
W:	http://i2c.wiki.kernel.org/
T:	quilt kernel.org/pub/linux/kernel/people/jdelvare/linux-2.6/jdelvare-i2c/
@@ -4683,6 +4684,8 @@ Q: http://patchwork.kernel.org/project/linux-omap/list/
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap.git
S:	Maintained
F:	arch/arm/*omap*/
F:	drivers/i2c/busses/i2c-omap.c
F:	include/linux/i2c-omap.h

OMAP CLOCK FRAMEWORK SUPPORT
M:	Paul Walmsley <paul@pwsan.com>
@@ -5956,6 +5959,7 @@ L: davinci-linux-open-source@linux.davincidsp.com (subscribers-only)
Q:	http://patchwork.kernel.org/project/linux-davinci/list/
S:	Supported
F:	arch/arm/mach-davinci
F:	drivers/i2c/busses/i2c-davinci.c

SIS 190 ETHERNET DRIVER
M:	Francois Romieu <romieu@fr.zoreil.com>
+27 −11
Original line number Diff line number Diff line
@@ -132,7 +132,8 @@
#define	ALI1535_SMBIO_EN	0x04	/* SMB I/O Space enable		*/

static struct pci_driver ali1535_driver;
static unsigned short ali1535_smba;
static unsigned long ali1535_smba;
static unsigned short ali1535_offset;

/* Detect whether a ALI1535 can be found, and initialize it, where necessary.
   Note the differences between kernels with the old PCI BIOS interface and
@@ -140,7 +141,7 @@ static unsigned short ali1535_smba;
   defined to make the transition easier. */
static int __devinit ali1535_setup(struct pci_dev *dev)
{
	int retval = -ENODEV;
	int retval;
	unsigned char temp;

	/* Check the following things:
@@ -149,15 +150,28 @@ static int __devinit ali1535_setup(struct pci_dev *dev)
		- We can use the addresses
	*/

	retval = pci_enable_device(dev);
	if (retval) {
		dev_err(&dev->dev, "ALI1535_smb can't enable device\n");
		goto exit;
	}

	/* Determine the address of the SMBus area */
	pci_read_config_word(dev, SMBBA, &ali1535_smba);
	ali1535_smba &= (0xffff & ~(ALI1535_SMB_IOSIZE - 1));
	if (ali1535_smba == 0) {
	pci_read_config_word(dev, SMBBA, &ali1535_offset);
	dev_dbg(&dev->dev, "ALI1535_smb is at offset 0x%04x\n", ali1535_offset);
	ali1535_offset &= (0xffff & ~(ALI1535_SMB_IOSIZE - 1));
	if (ali1535_offset == 0) {
		dev_warn(&dev->dev,
			"ALI1535_smb region uninitialized - upgrade BIOS?\n");
		retval = -ENODEV;
		goto exit;
	}

	if (pci_resource_flags(dev, 0) & IORESOURCE_IO)
		ali1535_smba = pci_resource_start(dev, 0) + ali1535_offset;
	else
		ali1535_smba = ali1535_offset;

	retval = acpi_check_region(ali1535_smba, ALI1535_SMB_IOSIZE,
				   ali1535_driver.name);
	if (retval)
@@ -165,8 +179,9 @@ static int __devinit ali1535_setup(struct pci_dev *dev)

	if (!request_region(ali1535_smba, ALI1535_SMB_IOSIZE,
			    ali1535_driver.name)) {
		dev_err(&dev->dev, "ALI1535_smb region 0x%x already in use!\n",
		dev_err(&dev->dev, "ALI1535_smb region 0x%lx already in use!\n",
			ali1535_smba);
		retval = -EBUSY;
		goto exit;
	}

@@ -174,6 +189,7 @@ static int __devinit ali1535_setup(struct pci_dev *dev)
	pci_read_config_byte(dev, SMBCFG, &temp);
	if ((temp & ALI1535_SMBIO_EN) == 0) {
		dev_err(&dev->dev, "SMB device not enabled - upgrade BIOS?\n");
		retval = -ENODEV;
		goto exit_free;
	}

@@ -181,6 +197,7 @@ static int __devinit ali1535_setup(struct pci_dev *dev)
	pci_read_config_byte(dev, SMBHSTCFG, &temp);
	if ((temp & 1) == 0) {
		dev_err(&dev->dev, "SMBus controller not enabled - upgrade BIOS?\n");
		retval = -ENODEV;
		goto exit_free;
	}

@@ -196,14 +213,13 @@ static int __devinit ali1535_setup(struct pci_dev *dev)
	*/
	pci_read_config_byte(dev, SMBREV, &temp);
	dev_dbg(&dev->dev, "SMBREV = 0x%X\n", temp);
	dev_dbg(&dev->dev, "ALI1535_smba = 0x%X\n", ali1535_smba);
	dev_dbg(&dev->dev, "ALI1535_smba = 0x%lx\n", ali1535_smba);

	retval = 0;
exit:
	return retval;
	return 0;

exit_free:
	release_region(ali1535_smba, ALI1535_SMB_IOSIZE);
exit:
	return retval;
}

@@ -498,7 +514,7 @@ static int __devinit ali1535_probe(struct pci_dev *dev, const struct pci_device_
	ali1535_adapter.dev.parent = &dev->dev;

	snprintf(ali1535_adapter.name, sizeof(ali1535_adapter.name),
		"SMBus ALI1535 adapter at %04x", ali1535_smba);
		"SMBus ALI1535 adapter at %04x", ali1535_offset);
	return i2c_add_adapter(&ali1535_adapter);
}

+1 −1
Original line number Diff line number Diff line
@@ -417,7 +417,7 @@ static void __devexit ali1563_remove(struct pci_dev * dev)
	ali1563_shutdown(dev);
}

static const struct pci_device_id ali1563_id_table[] __devinitconst = {
static DEFINE_PCI_DEVICE_TABLE(ali1563_id_table) = {
	{ PCI_DEVICE(PCI_VENDOR_ID_AL, PCI_DEVICE_ID_AL_M1563) },
	{},
};
+1 −1
Original line number Diff line number Diff line
@@ -477,7 +477,7 @@ static struct i2c_adapter ali15x3_adapter = {
	.algo		= &smbus_algorithm,
};

static const struct pci_device_id ali15x3_ids[] = {
static DEFINE_PCI_DEVICE_TABLE(ali15x3_ids) = {
	{ PCI_DEVICE(PCI_VENDOR_ID_AL, PCI_DEVICE_ID_AL_M7101) },
	{ 0, }
};
+1 −1
Original line number Diff line number Diff line
@@ -308,7 +308,7 @@ static const char* chipname[] = {
	"nVidia nForce", "AMD8111",
};

static const struct pci_device_id amd756_ids[] = {
static DEFINE_PCI_DEVICE_TABLE(amd756_ids) = {
	{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_VIPER_740B),
	  .driver_data = AMD756 },
	{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_VIPER_7413),
Loading