Subject: Re: [PATCH v4 1/1] i2c: Add support for Xilinx XPS IIC Bus Interface

From: Richard Röjfors <[email-masked]>
Date: Tue, 09 Mar 2010 09:17:36 +0100

On 03/08/2010 10:43 PM, Randy Dunlap wrote:
> On 03/08/10 07:01, Ben Dooks wrote:
>> On Mon, Mar 08, 2010 at 10:54:25AM +0100, Richard Röjfors wrote:
>>> Here is an updated patch due to build failure in linux-next.
>>>
>>> This patch also contains the header file that was missing in v3.
>>
>> Please just send what is missing, now the base is merged it is difficult
>> to get it removed.
>
> and sooner would be better than later since linus-mainline does not build cleanly
> due to this.

Attached (mail client issues) is the patch with the missing header file.

And as Randy mentioned his patch below is needed too.

>
> (more below)
>
>>> diff --git a/include/linux/i2c-xiic.h b/include/linux/i2c-xiic.h
>>> new file mode 100644
>>> index 0000000..4f9f225
>>> --- /dev/null
>>> +++ b/include/linux/i2c-xiic.h
>>> @@ -0,0 +1,43 @@
>>> +/*
>>> + * i2c-xiic.h
>>> + * Copyright (c) 2009 Intel Corporation
>>> + *
>>> + * This program is free software; you can redistribute it and/or modify
>>> + * it under the terms of the GNU General Public License version 2 as
>>> + * published by the Free Software Foundation.
>>> + *
>>> + * This program is distributed in the hope that it will be useful,
>>> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
>>> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>>> + * GNU General Public License for more details.
>>> + *
>>> + * You should have received a copy of the GNU General Public License
>>> + * along with this program; if not, write to the Free Software
>>> + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
>>> + */
>>> +
>>> +/* Supports:
>>> + * Xilinx IIC
>>> + */
>>> +
>>> +#ifndef _LINUX_I2C_XIIC_H
>>> +#define _LINUX_I2C_XIIC_H
>>> +
>>> +/**
>>> + * struct xiic_i2c_platform_data - Platform data of the Xilinx I2C driver
>>> + * @num_devices:	Number of devices that shall be added when the driver
>>> + *			is probed.
>>> + * @devices:		The actuall devices to add.
>
> 				actual
>
>>> + *
>>> + * This purpose of this platform data struct is to be able to provide a number
>>> + * of devices that should be added to the I2C bus. The reason is that sometimes
>>> + * the I2C board info is not enough, a new PCI board can for instance be
>>> + * plugged into a standard PC, and the bus number might be unknown at
>>> + * early init time.
>>> + */
>>> +struct xiic_i2c_platform_data {
>>> +	u8				num_devices;
>>> +	struct i2c_board_info const	*devices;
>>> +};
>>> +
>>> +#endif /* _LINUX_I2C_XIIC_H */
>
>
> And it still needs this patch that I have sent since Feb. 04-2010:
>
> ---
>
> From: Randy Dunlap<[email-masked]>
>
> Add header file to fix build error:
>
> drivers/i2c/busses/i2c-xiic.c:493: error: implicit declaration of function 'mdelay'
>
> Signed-off-by: Randy Dunlap<[email-masked]>
> Cc: "Ben Dooks (embedded platforms)"<[email-masked]>
> Cc: [email-masked]
> ---
>   drivers/i2c/busses/i2c-xiic.c |    1 +
>   1 file changed, 1 insertion(+)
>
> --- linux-next-20100204.orig/drivers/i2c/busses/i2c-xiic.c
> +++ linux-next-20100204/drivers/i2c/busses/i2c-xiic.c
> @@ -31,6 +31,7 @@
>   #include<linux/module.h>
>   #include<linux/init.h>
>   #include<linux/errno.h>
> +#include<linux/delay.h>
>   #include<linux/platform_device.h>
>   #include<linux/i2c.h>
>   #include<linux/interrupt.h>

This patch adds the platform data include for the Xilinx XPS IIC Bus Interface.

Signed-off-by: Richard Röjfors <[email-masked]>
---
diff --git a/include/linux/i2c-xiic.h b/include/linux/i2c-xiic.h
new file mode 100644
index 0000000..4f9f225
--- /dev/null
+++ b/include/linux/i2c-xiic.h
@@ -0,0 +1,43 @@
+/*
+ * i2c-xiic.h
+ * Copyright (c) 2009 Intel Corporation
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+/* Supports:
+ * Xilinx IIC
+ */
+
+#ifndef _LINUX_I2C_XIIC_H
+#define _LINUX_I2C_XIIC_H
+
+/**
+ * struct xiic_i2c_platform_data - Platform data of the Xilinx I2C driver
+ * @num_devices:	Number of devices that shall be added when the driver
+ *			is probed.
+ * @devices:		The actuall devices to add.
+ *
+ * This purpose of this platform data struct is to be able to provide a number
+ * of devices that should be added to the I2C bus. The reason is that sometimes
+ * the I2C board info is not enough, a new PCI board can for instance be
+ * plugged into a standard PC, and the bus number might be unknown at
+ * early init time.
+ */
+struct xiic_i2c_platform_data {
+	u8				num_devices;
+	struct i2c_board_info const	*devices;
+};
+
+#endif /* _LINUX_I2C_XIIC_H */