Re: [PATCH] i2c-ali1535: enable SPARC support

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

 



From: Jean Delvare <khali@xxxxxxxxxxxx>
Date: Thu, 5 Jan 2012 20:51:05 +0100

> Hi David,
> 
> On Tue, 27 Dec 2011 14:17:59 -0500 (EST), David Miller wrote:
>> From: "corentin.labbe" <corentin.labbe@xxxxxxxxxxx>
>> Date: Thu, 24 Nov 2011 12:01:36 +0100
>> 
>> > The i2c-ali1535 driver don't work on SPARC, this is because it assumes that ioport address are 16bits wide (address stored with an unsigned short).
>> > But on SPARC arch, ioports are mapped in memory and so are stored with an unsigned long.
>> > 
>> > This patch corrects this by using pci_resource_start for getting IOMEM base address, then reading the SMBBA of the i2c busse and using together for I/O access.
>> > 
>> > I like to thanks Jean DELVARE for reviewing of my patch.
>> > 
>> > Thanks
>> > 
>> > Signed-off-by: LABBE Corentin <corentin.labbe@xxxxxxxxxxx>
>> 
>> Jean has asked for some more changes, please follow his suggestions and
>> resubmit, thanks.
> 
> Actually I ended up doing the changes myself, and the patch is queued
> for 3.3 already:
> http://khali.linux-fr.org/devel/linux-3/jdelvare-i2c/i2c-ali1535-enable-sparc-support.patch
> 
> Please let me know quickly if you see anything wrong there.

Using the raw PCI config register value in the non-IO case is always
wrong and non-portable.  You need to ioremap the thing using the PCI
resource if it's not IO and therefore MEM.

More easier, if non-IO is really not expected, would be to fail the
probe if we don't find IORESOURCE_IO set.
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux