Message ID | 1350293428-24551-3-git-send-email-voice.shen@atmel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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.
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. >
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.
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. >
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.
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 --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), };
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(-)