Le 07/09/2011 15:38, Jean-Christophe PLAGNIOL-VILLARD : > On 15:47 Wed 07 Sep , Nicolas Ferre wrote: >> Le 30/08/2011 03:29, Jean-Christophe PLAGNIOL-VILLARD : >>> drop the cpu_is in the driver >>> at91sam9261 and at91sam9g10 expect 3 clocks >>> >>> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@xxxxxxxxxxxx> >>> Cc: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> >>> --- >>> arch/arm/mach-at91/at91cap9.c | 2 ++ >>> arch/arm/mach-at91/at91rm9200.c | 2 ++ >>> arch/arm/mach-at91/at91sam9260.c | 2 ++ >>> arch/arm/mach-at91/at91sam9261.c | 29 +++++++++++++++-------------- >>> arch/arm/mach-at91/at91sam9263.c | 2 ++ >>> arch/arm/mach-at91/at91sam9g45.c | 2 ++ >> >> I know that I have signed the patch *but* there is an issue here... >> >> >>> drivers/usb/host/ohci-at91.c | 15 +++++---------- >>> 7 files changed, 30 insertions(+), 24 deletions(-) >>> >>> diff --git a/arch/arm/mach-at91/at91cap9.c b/arch/arm/mach-at91/at91cap9.c >>> index bfc6844..ecdd54d 100644 >>> --- a/arch/arm/mach-at91/at91cap9.c >>> +++ b/arch/arm/mach-at91/at91cap9.c >>> @@ -219,6 +219,8 @@ static struct clk_lookup periph_clocks_lookups[] = { >>> CLKDEV_CON_DEV_ID("t0_clk", "atmel_tcb.0", &tcb_clk), >>> CLKDEV_CON_DEV_ID("pclk", "ssc.0", &ssc0_clk), >>> CLKDEV_CON_DEV_ID("pclk", "ssc.1", &ssc1_clk), >>> + /* fake hclk clock */ >>> + CLKDEV_CON_DEV_ID("hclk", "at91_ohci", &ohci_clk), >>> }; >>> >>> static struct clk_lookup usart_clocks_lookups[] = { >>> diff --git a/arch/arm/mach-at91/at91rm9200.c b/arch/arm/mach-at91/at91rm9200.c >>> index f73302d..713d3bd 100644 >>> --- a/arch/arm/mach-at91/at91rm9200.c >>> +++ b/arch/arm/mach-at91/at91rm9200.c >>> @@ -193,6 +193,8 @@ 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), >>> + /* fake hclk clock */ >>> + CLKDEV_CON_DEV_ID("hclk", "at91_ohci", &ohci_clk), >>> }; >>> >>> static struct clk_lookup usart_clocks_lookups[] = { >>> diff --git a/arch/arm/mach-at91/at91sam9260.c b/arch/arm/mach-at91/at91sam9260.c >>> index cb397be..a9be758 100644 >>> --- a/arch/arm/mach-at91/at91sam9260.c >>> +++ b/arch/arm/mach-at91/at91sam9260.c >>> @@ -199,6 +199,8 @@ static struct clk_lookup periph_clocks_lookups[] = { >>> CLKDEV_CON_DEV_ID("t4_clk", "atmel_tcb.1", &tc4_clk), >>> CLKDEV_CON_DEV_ID("t5_clk", "atmel_tcb.1", &tc5_clk), >>> CLKDEV_CON_DEV_ID("pclk", "ssc.0", &ssc_clk), >>> + /* fake hclk clock */ >>> + CLKDEV_CON_DEV_ID("hclk", "at91_ohci", &ohci_clk), >>> }; >>> >>> static struct clk_lookup usart_clocks_lookups[] = { >>> diff --git a/arch/arm/mach-at91/at91sam9261.c b/arch/arm/mach-at91/at91sam9261.c >>> index 6c8e3b5..658a518 100644 >>> --- a/arch/arm/mach-at91/at91sam9261.c >>> +++ b/arch/arm/mach-at91/at91sam9261.c >>> @@ -129,6 +129,20 @@ static struct clk lcdc_clk = { >>> .type = CLK_TYPE_PERIPHERAL, >>> }; >>> >>> +/* HClocks */ >>> +static struct clk hck0 = { >>> + .name = "hck0", >>> + .pmc_mask = AT91_PMC_HCK0, >>> + .type = CLK_TYPE_SYSTEM, >>> + .id = 0, >>> +}; >>> +static struct clk hck1 = { >>> + .name = "hck1", >>> + .pmc_mask = AT91_PMC_HCK1, >>> + .type = CLK_TYPE_SYSTEM, >>> + .id = 1, >>> +}; >>> + >>> static struct clk *periph_clocks[] __initdata = { >>> &pioA_clk, >>> &pioB_clk, >>> @@ -161,6 +175,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("hclk", "at91_ohci", &hck0), >>> }; >>> >>> static struct clk_lookup usart_clocks_lookups[] = { >>> @@ -199,20 +214,6 @@ static struct clk pck3 = { >>> .id = 3, >>> }; >>> >>> -/* HClocks */ >>> -static struct clk hck0 = { >>> - .name = "hck0", >>> - .pmc_mask = AT91_PMC_HCK0, >>> - .type = CLK_TYPE_SYSTEM, >>> - .id = 0, >>> -}; >>> -static struct clk hck1 = { >>> - .name = "hck1", >>> - .pmc_mask = AT91_PMC_HCK1, >>> - .type = CLK_TYPE_SYSTEM, >>> - .id = 1, >>> -}; >>> - >>> static void __init at91sam9261_register_clocks(void) >>> { >>> int i; >>> diff --git a/arch/arm/mach-at91/at91sam9263.c b/arch/arm/mach-at91/at91sam9263.c >>> index 044f3c9..f83fbb0 100644 >>> --- a/arch/arm/mach-at91/at91sam9263.c >>> +++ b/arch/arm/mach-at91/at91sam9263.c >>> @@ -189,6 +189,8 @@ 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), >>> + /* fake hclk clock */ >>> + CLKDEV_CON_DEV_ID("hclk", "at91_ohci", &ohci_clk), >> >> We cannot do this: it does not even compiles. >> The ohci_clk clock is not existing on this device. Moreover, the "hclk" >> con_id is already existing for the *gadget* device... >> >> We have to correct this before I can send it upstream. > we can as the conid + devid are prioritary than just the conid > > so > CLKDEV_CON_DEV_ID("hclk", "at91_ohci", &uhphs_clk), Ok, I correct in the patch. Thanks for the quick answer. Bye, -- Nicolas Ferre -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html