From: Joe Perches on
On Fri, 2009-12-11 at 13:32 -0500, H Hartley Sweeten wrote:
> The i2c-iop3xx driver requires a resource region of 0x18 bytes and
> currently uses the magic number IOP3XX_I2C_IO_SIZE (defined in
> i2c-iop3xx.h) to indicate this. All of the users of this driver
> have a platform memory resource so use resource_size() instead of
> the magic number. This requires fixing a couple of the memory
> resources since they were either off by 1 or just wrong.
[]
> static struct resource iop13xx_i2c_0_resources[] = {
> [0] = {
> .start = IOP13XX_I2C0_PHYS,
> - .end = IOP13XX_I2C0_PHYS + 0x18,
> + .end = IOP13XX_I2C0_PHYS + 0x17,

etc.

> -#define IOP3XX_I2C_IO_SIZE 0x18

Maybe it's clearer to keep the IO_SIZE define
and let the compiler do the adding.

..start = FOO;
..end = FOO + IOP3XX_I2C_IO_SIZE - 1;

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: H Hartley Sweeten on
On Friday, December 11, 2009 11:41 AM, Joe Perches wrote:
> On Fri, 2009-12-11 at 13:32 -0500, H Hartley Sweeten wrote:
>> The i2c-iop3xx driver requires a resource region of 0x18 bytes and
>> currently uses the magic number IOP3XX_I2C_IO_SIZE (defined in
>> i2c-iop3xx.h) to indicate this. All of the users of this driver
>> have a platform memory resource so use resource_size() instead of
>> the magic number. This requires fixing a couple of the memory
>> resources since they were either off by 1 or just wrong.
>[]
>> static struct resource iop13xx_i2c_0_resources[] = {
>> [0] = {
>> .start = IOP13XX_I2C0_PHYS,
>> - .end = IOP13XX_I2C0_PHYS + 0x18,
>> + .end = IOP13XX_I2C0_PHYS + 0x17,
>
> etc.
>
>> -#define IOP3XX_I2C_IO_SIZE 0x18
>
> Maybe it's clearer to keep the IO_SIZE define
> and let the compiler do the adding.
>
> .start = FOO;
> .end = FOO + IOP3XX_I2C_IO_SIZE - 1;

The problem with that, right now, is that IOP3XX_I2C_IO_SIZE is
defined in drivers/i2c/busses/i2c-iop3xx.h. All the platform
users under arch/arm would have a pretty oddball include.

Also, that header really should just go away and all the information
in it just moved into the driver.

Regards,
Hartley