diff mbox

[v3,2/2] i2c: change id to let i2c-at91 work

Message ID 1350293428-24551-3-git-send-email-voice.shen@atmel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Bo Shen Oct. 15, 2012, 9:30 a.m. UTC
The i2c core driver will turn the platform device ID to busnum
When using platfrom device ID as -1, it means dynamically assigned
the busnum. When writing code, we need to make sure the busnum,
and call i2c_register_board_info(int busnum, ...) to register device
if using -1, we do not know the value of busnum
	
In order to solve this issue, set the platform device ID as a fix number
Here using 0 to match the busnum used in i2c_regsiter_board_info()

Signed-off-by: Bo Shen <voice.shen@atmel.com>
---
 arch/arm/mach-at91/at91rm9200.c          |    2 +-
 arch/arm/mach-at91/at91rm9200_devices.c  |    2 +-
 arch/arm/mach-at91/at91sam9260.c         |    4 ++--
 arch/arm/mach-at91/at91sam9260_devices.c |    2 +-
 arch/arm/mach-at91/at91sam9261.c         |    4 ++--
 arch/arm/mach-at91/at91sam9261_devices.c |    2 +-
 arch/arm/mach-at91/at91sam9263.c         |    2 +-
 arch/arm/mach-at91/at91sam9263_devices.c |    2 +-
 arch/arm/mach-at91/at91sam9rl_devices.c  |    2 +-
 9 files changed, 11 insertions(+), 11 deletions(-)

Comments

Jean-Christophe PLAGNIOL-VILLARD Oct. 15, 2012, 3:02 p.m. UTC | #1
On 17:30 Mon 15 Oct     , Bo Shen wrote:
> The i2c core driver will turn the platform device ID to busnum
> When using platfrom device ID as -1, it means dynamically assigned
> the busnum. When writing code, we need to make sure the busnum,
> and call i2c_register_board_info(int busnum, ...) to register device
> if using -1, we do not know the value of busnum
> 	
> In order to solve this issue, set the platform device ID as a fix number
> Here using 0 to match the busnum used in i2c_regsiter_board_info()
> 
> Signed-off-by: Bo Shen <voice.shen@atmel.com>
> ---

can you check when this append for the first time to schedule a patch for stable too

Best Regards,
J.
Bo Shen Oct. 16, 2012, 3:13 a.m. UTC | #2
Hi J,

On 10/15/2012 23:02, Jean-Christophe PLAGNIOL-VILLARD wrote:
> On 17:30 Mon 15 Oct     , Bo Shen wrote:
>> The i2c core driver will turn the platform device ID to busnum
>> When using platfrom device ID as -1, it means dynamically assigned
>> the busnum. When writing code, we need to make sure the busnum,
>> and call i2c_register_board_info(int busnum, ...) to register device
>> if using -1, we do not know the value of busnum
>> 	
>> In order to solve this issue, set the platform device ID as a fix number
>> Here using 0 to match the busnum used in i2c_regsiter_board_info()
>>
>> Signed-off-by: Bo Shen <voice.shen@atmel.com>
>> ---
>
> can you check when this append for the first time to schedule a patch for stable too

OK. I will resend it and add linux stable into the cc list.

Thanks.

BRs,
Bo Shen

> Best Regards,
> J.
>
Jean-Christophe PLAGNIOL-VILLARD Oct. 16, 2012, 8:39 a.m. UTC | #3
On 11:13 Tue 16 Oct     , Bo Shen wrote:
> Hi J,
> 
> On 10/15/2012 23:02, Jean-Christophe PLAGNIOL-VILLARD wrote:
> >On 17:30 Mon 15 Oct     , Bo Shen wrote:
> >>The i2c core driver will turn the platform device ID to busnum
> >>When using platfrom device ID as -1, it means dynamically assigned
> >>the busnum. When writing code, we need to make sure the busnum,
> >>and call i2c_register_board_info(int busnum, ...) to register device
> >>if using -1, we do not know the value of busnum
> >>	
> >>In order to solve this issue, set the platform device ID as a fix number
> >>Here using 0 to match the busnum used in i2c_regsiter_board_info()
> >>
> >>Signed-off-by: Bo Shen <voice.shen@atmel.com>
> >>---
> >
> >can you check when this append for the first time to schedule a patch for stable too
> 
> OK. I will resend it and add linux stable into the cc list.
no this not how it work

I ask you to check which patch add the regression and then when this is
applied in the kernel we will request greg to apply it too to the stable

But before do that you MUST foudn the commit responsible

Best Regards,
J.
Bo Shen Oct. 16, 2012, 10:25 a.m. UTC | #4
Hi J,

On 10/16/2012 16:39, Jean-Christophe PLAGNIOL-VILLARD wrote:
> On 11:13 Tue 16 Oct     , Bo Shen wrote:
>> Hi J,
>>
>> On 10/15/2012 23:02, Jean-Christophe PLAGNIOL-VILLARD wrote:
>>> On 17:30 Mon 15 Oct     , Bo Shen wrote:
>>>> The i2c core driver will turn the platform device ID to busnum
>>>> When using platfrom device ID as -1, it means dynamically assigned
>>>> the busnum. When writing code, we need to make sure the busnum,
>>>> and call i2c_register_board_info(int busnum, ...) to register device
>>>> if using -1, we do not know the value of busnum
>>>> 	
>>>> In order to solve this issue, set the platform device ID as a fix number
>>>> Here using 0 to match the busnum used in i2c_regsiter_board_info()
>>>>
>>>> Signed-off-by: Bo Shen <voice.shen@atmel.com>
>>>> ---
>>>
>>> can you check when this append for the first time to schedule a patch for stable too
>>
>> OK. I will resend it and add linux stable into the cc list.
> no this not how it work
>
> I ask you to check which patch add the regression and then when this is
> applied in the kernel we will request greg to apply it too to the stable

The code is using id = -1 appear 4 years ago. And after dig, I don't 
find which patch cause this the regression.

Sorry for that.

> But before do that you MUST foudn the commit responsible
>
> Best Regards,
> J.
>
Jean-Christophe PLAGNIOL-VILLARD Oct. 16, 2012, 11:10 a.m. UTC | #5
On 18:25 Tue 16 Oct     , Bo Shen wrote:
> Hi J,
> 
> On 10/16/2012 16:39, Jean-Christophe PLAGNIOL-VILLARD wrote:
> >On 11:13 Tue 16 Oct     , Bo Shen wrote:
> >>Hi J,
> >>
> >>On 10/15/2012 23:02, Jean-Christophe PLAGNIOL-VILLARD wrote:
> >>>On 17:30 Mon 15 Oct     , Bo Shen wrote:
> >>>>The i2c core driver will turn the platform device ID to busnum
> >>>>When using platfrom device ID as -1, it means dynamically assigned
> >>>>the busnum. When writing code, we need to make sure the busnum,
> >>>>and call i2c_register_board_info(int busnum, ...) to register device
> >>>>if using -1, we do not know the value of busnum
> >>>>	
> >>>>In order to solve this issue, set the platform device ID as a fix number
> >>>>Here using 0 to match the busnum used in i2c_regsiter_board_info()
> >>>>
> >>>>Signed-off-by: Bo Shen <voice.shen@atmel.com>
> >>>>---
> >>>
> >>>can you check when this append for the first time to schedule a patch for stable too
> >>
> >>OK. I will resend it and add linux stable into the cc list.
> >no this not how it work
> >
> >I ask you to check which patch add the regression and then when this is
> >applied in the kernel we will request greg to apply it too to the stable
> 
> The code is using id = -1 appear 4 years ago. And after dig, I don't
> find which patch cause this the regression.
so use git bisect to find the commit responsible

Best Regards,
J.
Bo Shen Oct. 17, 2012, 2:19 a.m. UTC | #6
Hi J,

On 10/16/2012 19:10, Jean-Christophe PLAGNIOL-VILLARD wrote:
> On 18:25 Tue 16 Oct     , Bo Shen wrote:
>> Hi J,
>>
>> On 10/16/2012 16:39, Jean-Christophe PLAGNIOL-VILLARD wrote:
>>> On 11:13 Tue 16 Oct     , Bo Shen wrote:
>>>> Hi J,
>>>>
>>>> On 10/15/2012 23:02, Jean-Christophe PLAGNIOL-VILLARD wrote:
>>>>> On 17:30 Mon 15 Oct     , Bo Shen wrote:
>>>>>> The i2c core driver will turn the platform device ID to busnum
>>>>>> When using platfrom device ID as -1, it means dynamically assigned
>>>>>> the busnum. When writing code, we need to make sure the busnum,
>>>>>> and call i2c_register_board_info(int busnum, ...) to register device
>>>>>> if using -1, we do not know the value of busnum
>>>>>> 	
>>>>>> In order to solve this issue, set the platform device ID as a fix number
>>>>>> Here using 0 to match the busnum used in i2c_regsiter_board_info()
>>>>>>
>>>>>> Signed-off-by: Bo Shen <voice.shen@atmel.com>
>>>>>> ---
>>>>>
>>>>> can you check when this append for the first time to schedule a patch for stable too
>>>>
>>>> OK. I will resend it and add linux stable into the cc list.
>>> no this not how it work
>>>
>>> I ask you to check which patch add the regression and then when this is
>>> applied in the kernel we will request greg to apply it too to the stable
>>
>> The code is using id = -1 appear 4 years ago. And after dig, I don't
>> find which patch cause this the regression.
> so use git bisect to find the commit responsible

Thanks for your information.

Finally, I found the following commit add this:

3267c077e589bc146a0b45e220fcefafbf83fb80
[ARM] 3396/2: AT91RM9200 Platform devices update

BRs,
Bo Shen

> Best Regards,
> J.
>
diff mbox

Patch

diff --git a/arch/arm/mach-at91/at91rm9200.c b/arch/arm/mach-at91/at91rm9200.c
index b4f0565..5269825 100644
--- a/arch/arm/mach-at91/at91rm9200.c
+++ b/arch/arm/mach-at91/at91rm9200.c
@@ -187,7 +187,7 @@  static struct clk_lookup periph_clocks_lookups[] = {
 	CLKDEV_CON_DEV_ID("pclk", "ssc.0", &ssc0_clk),
 	CLKDEV_CON_DEV_ID("pclk", "ssc.1", &ssc1_clk),
 	CLKDEV_CON_DEV_ID("pclk", "ssc.2", &ssc2_clk),
-	CLKDEV_CON_DEV_ID(NULL, "i2c-at91rm9200", &twi_clk),
+	CLKDEV_CON_DEV_ID(NULL, "i2c-at91rm9200.0", &twi_clk),
 	/* fake hclk clock */
 	CLKDEV_CON_DEV_ID("hclk", "at91_ohci", &ohci_clk),
 	CLKDEV_CON_ID("pioA", &pioA_clk),
diff --git a/arch/arm/mach-at91/at91rm9200_devices.c b/arch/arm/mach-at91/at91rm9200_devices.c
index 7cd8053..1e122bc 100644
--- a/arch/arm/mach-at91/at91rm9200_devices.c
+++ b/arch/arm/mach-at91/at91rm9200_devices.c
@@ -512,7 +512,7 @@  static struct resource twi_resources[] = {
 
 static struct platform_device at91rm9200_twi_device = {
 	.name		= "i2c-at91rm9200",
-	.id		= -1,
+	.id		= 0,
 	.resource	= twi_resources,
 	.num_resources	= ARRAY_SIZE(twi_resources),
 };
diff --git a/arch/arm/mach-at91/at91sam9260.c b/arch/arm/mach-at91/at91sam9260.c
index ad29f93..f820261 100644
--- a/arch/arm/mach-at91/at91sam9260.c
+++ b/arch/arm/mach-at91/at91sam9260.c
@@ -211,8 +211,8 @@  static struct clk_lookup periph_clocks_lookups[] = {
 	CLKDEV_CON_DEV_ID("t1_clk", "atmel_tcb.1", &tc4_clk),
 	CLKDEV_CON_DEV_ID("t2_clk", "atmel_tcb.1", &tc5_clk),
 	CLKDEV_CON_DEV_ID("pclk", "ssc.0", &ssc_clk),
-	CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9260", &twi_clk),
-	CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9g20", &twi_clk),
+	CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9260.0", &twi_clk),
+	CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9g20.0", &twi_clk),
 	/* more usart lookup table for DT entries */
 	CLKDEV_CON_DEV_ID("usart", "fffff200.serial", &mck),
 	CLKDEV_CON_DEV_ID("usart", "fffb0000.serial", &usart0_clk),
diff --git a/arch/arm/mach-at91/at91sam9260_devices.c b/arch/arm/mach-at91/at91sam9260_devices.c
index 805ef95..46edfaf 100644
--- a/arch/arm/mach-at91/at91sam9260_devices.c
+++ b/arch/arm/mach-at91/at91sam9260_devices.c
@@ -421,7 +421,7 @@  static struct resource twi_resources[] = {
 };
 
 static struct platform_device at91sam9260_twi_device = {
-	.id		= -1,
+	.id		= 0,
 	.resource	= twi_resources,
 	.num_resources	= ARRAY_SIZE(twi_resources),
 };
diff --git a/arch/arm/mach-at91/at91sam9261.c b/arch/arm/mach-at91/at91sam9261.c
index 8d999eb..04295c0 100644
--- a/arch/arm/mach-at91/at91sam9261.c
+++ b/arch/arm/mach-at91/at91sam9261.c
@@ -178,8 +178,8 @@  static struct clk_lookup periph_clocks_lookups[] = {
 	CLKDEV_CON_DEV_ID("pclk", "ssc.1", &ssc1_clk),
 	CLKDEV_CON_DEV_ID("pclk", "ssc.2", &ssc2_clk),
 	CLKDEV_CON_DEV_ID("hclk", "at91_ohci", &hck0),
-	CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9261", &twi_clk),
-	CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9g10", &twi_clk),
+	CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9261.0", &twi_clk),
+	CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9g10.0", &twi_clk),
 	CLKDEV_CON_ID("pioA", &pioA_clk),
 	CLKDEV_CON_ID("pioB", &pioB_clk),
 	CLKDEV_CON_ID("pioC", &pioC_clk),
diff --git a/arch/arm/mach-at91/at91sam9261_devices.c b/arch/arm/mach-at91/at91sam9261_devices.c
index 0256a00..b948769 100644
--- a/arch/arm/mach-at91/at91sam9261_devices.c
+++ b/arch/arm/mach-at91/at91sam9261_devices.c
@@ -317,7 +317,7 @@  static struct resource twi_resources[] = {
 };
 
 static struct platform_device at91sam9261_twi_device = {
-	.id		= -1,
+	.id		= 0,
 	.resource	= twi_resources,
 	.num_resources	= ARRAY_SIZE(twi_resources),
 };
diff --git a/arch/arm/mach-at91/at91sam9263.c b/arch/arm/mach-at91/at91sam9263.c
index 6a01d03..d6f9c23 100644
--- a/arch/arm/mach-at91/at91sam9263.c
+++ b/arch/arm/mach-at91/at91sam9263.c
@@ -193,7 +193,7 @@  static struct clk_lookup periph_clocks_lookups[] = {
 	CLKDEV_CON_DEV_ID("spi_clk", "atmel_spi.0", &spi0_clk),
 	CLKDEV_CON_DEV_ID("spi_clk", "atmel_spi.1", &spi1_clk),
 	CLKDEV_CON_DEV_ID("t0_clk", "atmel_tcb.0", &tcb_clk),
-	CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9260", &twi_clk),
+	CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9260.0", &twi_clk),
 	/* fake hclk clock */
 	CLKDEV_CON_DEV_ID("hclk", "at91_ohci", &ohci_clk),
 	CLKDEV_CON_ID("pioA", &pioA_clk),
diff --git a/arch/arm/mach-at91/at91sam9263_devices.c b/arch/arm/mach-at91/at91sam9263_devices.c
index 23b6384..cb85da2 100644
--- a/arch/arm/mach-at91/at91sam9263_devices.c
+++ b/arch/arm/mach-at91/at91sam9263_devices.c
@@ -600,7 +600,7 @@  static struct resource twi_resources[] = {
 
 static struct platform_device at91sam9263_twi_device = {
 	.name		= "i2c-at91sam9260",
-	.id		= -1,
+	.id		= 0,
 	.resource	= twi_resources,
 	.num_resources	= ARRAY_SIZE(twi_resources),
 };
diff --git a/arch/arm/mach-at91/at91sam9rl_devices.c b/arch/arm/mach-at91/at91sam9rl_devices.c
index 3d2c81d..5047bdc 100644
--- a/arch/arm/mach-at91/at91sam9rl_devices.c
+++ b/arch/arm/mach-at91/at91sam9rl_devices.c
@@ -347,7 +347,7 @@  static struct resource twi_resources[] = {
 
 static struct platform_device at91sam9rl_twi_device = {
 	.name		= "i2c-at91sam9g20",
-	.id		= -1,
+	.id		= 0,
 	.resource	= twi_resources,
 	.num_resources	= ARRAY_SIZE(twi_resources),
 };