All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/12] at91: 3.4-rc3 fixes
@ 2012-04-16  9:20 ` Nicolas Ferre
  0 siblings, 0 replies; 43+ messages in thread
From: Nicolas Ferre @ 2012-04-16  9:20 UTC (permalink / raw)
  To: linux-arm-kernel, arnd, olof
  Cc: plagnioj, ludovic.desroches, linux-kernel, Nicolas Ferre

Hi,

Here is another fixes series for AT91 that will go on top of 3.4-rc3.
We experienced some issues while compiling some drivers as modules: Joachim has
corrected several of them. We may reduce this number of exported values by
reworking some drivers, in the future.
Some drivers are also modified here, I would like to keep them in the series
as the modifications are really related with our recent move to irqdomains or
simply related with compiler annotations.

Jean-Christophe PLAGNIOL-VILLARD (2):
  ARM: at91: fix rm9200ek flash size
  ARM: at91: fix at91sam9261ek Ethernet dm9000 irq

Joachim Eastwood (5):
  ARM: at91: Export at91_st_base
  ARM: at91: Export at91_ramc_base
  ARM: at91: Export at91_pmc_base
  ARM: at91: Export at91_matrix_base
  ARM: at91: remove empty at91_init_serial function

Nicolas Ferre (5):
  ARM: at91: fix typo in at91_pmc_base assembly declaration
  ARM: at91/atmel-mci: remove unused setup_dma_addr() macro
  leds-atmel-pwm.c: Make pwmled_probe() __devinit
  USB: ohci-at91: change annotations for probe/remove functions
  USB: gadget/at91_udc: add gpio_to_irq() function to vbus interrupt

 arch/arm/mach-at91/at91rm9200_devices.c     |    1 -
 arch/arm/mach-at91/at91rm9200_time.c        |    2 ++
 arch/arm/mach-at91/board-rm9200ek.c         |    2 +-
 arch/arm/mach-at91/board-sam9261ek.c        |    5 +++--
 arch/arm/mach-at91/clock.c                  |    1 +
 arch/arm/mach-at91/include/mach/at91_pmc.h  |    2 +-
 arch/arm/mach-at91/include/mach/atmel-mci.h |    7 -------
 arch/arm/mach-at91/setup.c                  |    2 ++
 drivers/leds/leds-atmel-pwm.c               |    2 +-
 drivers/usb/gadget/at91_udc.c               |    8 ++++----
 drivers/usb/host/ohci-at91.c                |   12 ++++++------
 11 files changed, 21 insertions(+), 23 deletions(-)

Thanks, best regards,
-- 
1.7.10


^ permalink raw reply	[flat|nested] 43+ messages in thread

* [PATCH 00/12] at91: 3.4-rc3 fixes
@ 2012-04-16  9:20 ` Nicolas Ferre
  0 siblings, 0 replies; 43+ messages in thread
From: Nicolas Ferre @ 2012-04-16  9:20 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

Here is another fixes series for AT91 that will go on top of 3.4-rc3.
We experienced some issues while compiling some drivers as modules: Joachim has
corrected several of them. We may reduce this number of exported values by
reworking some drivers, in the future.
Some drivers are also modified here, I would like to keep them in the series
as the modifications are really related with our recent move to irqdomains or
simply related with compiler annotations.

Jean-Christophe PLAGNIOL-VILLARD (2):
  ARM: at91: fix rm9200ek flash size
  ARM: at91: fix at91sam9261ek Ethernet dm9000 irq

Joachim Eastwood (5):
  ARM: at91: Export at91_st_base
  ARM: at91: Export at91_ramc_base
  ARM: at91: Export at91_pmc_base
  ARM: at91: Export at91_matrix_base
  ARM: at91: remove empty at91_init_serial function

Nicolas Ferre (5):
  ARM: at91: fix typo in at91_pmc_base assembly declaration
  ARM: at91/atmel-mci: remove unused setup_dma_addr() macro
  leds-atmel-pwm.c: Make pwmled_probe() __devinit
  USB: ohci-at91: change annotations for probe/remove functions
  USB: gadget/at91_udc: add gpio_to_irq() function to vbus interrupt

 arch/arm/mach-at91/at91rm9200_devices.c     |    1 -
 arch/arm/mach-at91/at91rm9200_time.c        |    2 ++
 arch/arm/mach-at91/board-rm9200ek.c         |    2 +-
 arch/arm/mach-at91/board-sam9261ek.c        |    5 +++--
 arch/arm/mach-at91/clock.c                  |    1 +
 arch/arm/mach-at91/include/mach/at91_pmc.h  |    2 +-
 arch/arm/mach-at91/include/mach/atmel-mci.h |    7 -------
 arch/arm/mach-at91/setup.c                  |    2 ++
 drivers/leds/leds-atmel-pwm.c               |    2 +-
 drivers/usb/gadget/at91_udc.c               |    8 ++++----
 drivers/usb/host/ohci-at91.c                |   12 ++++++------
 11 files changed, 21 insertions(+), 23 deletions(-)

Thanks, best regards,
-- 
1.7.10

^ permalink raw reply	[flat|nested] 43+ messages in thread

* [PATCH 01/12] ARM: at91: Export at91_st_base
  2012-04-16  9:20 ` Nicolas Ferre
@ 2012-04-16  9:20   ` Nicolas Ferre
  -1 siblings, 0 replies; 43+ messages in thread
From: Nicolas Ferre @ 2012-04-16  9:20 UTC (permalink / raw)
  To: linux-arm-kernel, arnd, olof
  Cc: plagnioj, ludovic.desroches, linux-kernel, Joachim Eastwood,
	Nicolas Ferre

From: Joachim Eastwood <manabian@gmail.com>

After commit 5e9cf5e (ARM: at91: make ST (System Timer) soc independent)
building at91rm9200_wdt as a module fails with following message
  ERROR: "at91_st_base" [drivers/watchdog/at91rm9200_wdt.ko] undefined!
  make[1]: *** [__modpost] Error 1
  make: *** [modules] Error 2

Export symbol to allow wdt driver to be built as a module again.

Signed-off-by: Joachim Eastwood <joachim.eastwood@jotron.com>
[nicolas.ferre@atmel.com: use EXPORT_SYMBOL_GPL()]
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
---
 arch/arm/mach-at91/at91rm9200_time.c |    2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm/mach-at91/at91rm9200_time.c b/arch/arm/mach-at91/at91rm9200_time.c
index dd7f782..104ca40 100644
--- a/arch/arm/mach-at91/at91rm9200_time.c
+++ b/arch/arm/mach-at91/at91rm9200_time.c
@@ -23,6 +23,7 @@
 #include <linux/interrupt.h>
 #include <linux/irq.h>
 #include <linux/clockchips.h>
+#include <linux/export.h>
 
 #include <asm/mach/time.h>
 
@@ -176,6 +177,7 @@ static struct clock_event_device clkevt = {
 };
 
 void __iomem *at91_st_base;
+EXPORT_SYMBOL_GPL(at91_st_base);
 
 void __init at91rm9200_ioremap_st(u32 addr)
 {
-- 
1.7.10


^ permalink raw reply related	[flat|nested] 43+ messages in thread

* [PATCH 01/12] ARM: at91: Export at91_st_base
@ 2012-04-16  9:20   ` Nicolas Ferre
  0 siblings, 0 replies; 43+ messages in thread
From: Nicolas Ferre @ 2012-04-16  9:20 UTC (permalink / raw)
  To: linux-arm-kernel

From: Joachim Eastwood <manabian@gmail.com>

After commit 5e9cf5e (ARM: at91: make ST (System Timer) soc independent)
building at91rm9200_wdt as a module fails with following message
  ERROR: "at91_st_base" [drivers/watchdog/at91rm9200_wdt.ko] undefined!
  make[1]: *** [__modpost] Error 1
  make: *** [modules] Error 2

Export symbol to allow wdt driver to be built as a module again.

Signed-off-by: Joachim Eastwood <joachim.eastwood@jotron.com>
[nicolas.ferre at atmel.com: use EXPORT_SYMBOL_GPL()]
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
---
 arch/arm/mach-at91/at91rm9200_time.c |    2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm/mach-at91/at91rm9200_time.c b/arch/arm/mach-at91/at91rm9200_time.c
index dd7f782..104ca40 100644
--- a/arch/arm/mach-at91/at91rm9200_time.c
+++ b/arch/arm/mach-at91/at91rm9200_time.c
@@ -23,6 +23,7 @@
 #include <linux/interrupt.h>
 #include <linux/irq.h>
 #include <linux/clockchips.h>
+#include <linux/export.h>
 
 #include <asm/mach/time.h>
 
@@ -176,6 +177,7 @@ static struct clock_event_device clkevt = {
 };
 
 void __iomem *at91_st_base;
+EXPORT_SYMBOL_GPL(at91_st_base);
 
 void __init at91rm9200_ioremap_st(u32 addr)
 {
-- 
1.7.10

^ permalink raw reply related	[flat|nested] 43+ messages in thread

* [PATCH 02/12] ARM: at91: Export at91_ramc_base
  2012-04-16  9:20 ` Nicolas Ferre
@ 2012-04-16  9:20   ` Nicolas Ferre
  -1 siblings, 0 replies; 43+ messages in thread
From: Nicolas Ferre @ 2012-04-16  9:20 UTC (permalink / raw)
  To: linux-arm-kernel, arnd, olof
  Cc: plagnioj, ludovic.desroches, linux-kernel, Joachim Eastwood,
	Nicolas Ferre

From: Joachim Eastwood <joachim.eastwood@jotron.com>

After commit f363c40 (ARM: at91: make sdram/ddr register base soc independent)
building at91_cf as a module fails with:
  ERROR: "at91_ramc_base" [drivers/pcmcia/at91_cf.ko] undefined!
  make[1]: *** [__modpost] Error 1
  make: *** [modules] Error 2

Export at91_ramc_base symbol to allow drivers using at91_ramc_*
functions to be built as modules again.

Signed-off-by: Joachim Eastwood <joachim.eastwood@jotron.com>
[nicolas.ferre@atmel.com: modify slightly commit message]
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
---
 arch/arm/mach-at91/setup.c |    1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/mach-at91/setup.c b/arch/arm/mach-at91/setup.c
index 97cc04d..0607847 100644
--- a/arch/arm/mach-at91/setup.c
+++ b/arch/arm/mach-at91/setup.c
@@ -54,6 +54,7 @@ void __init at91_init_interrupts(unsigned int *priority)
 }
 
 void __iomem *at91_ramc_base[2];
+EXPORT_SYMBOL_GPL(at91_ramc_base);
 
 void __init at91_ioremap_ramc(int id, u32 addr, u32 size)
 {
-- 
1.7.10


^ permalink raw reply related	[flat|nested] 43+ messages in thread

* [PATCH 02/12] ARM: at91: Export at91_ramc_base
@ 2012-04-16  9:20   ` Nicolas Ferre
  0 siblings, 0 replies; 43+ messages in thread
From: Nicolas Ferre @ 2012-04-16  9:20 UTC (permalink / raw)
  To: linux-arm-kernel

From: Joachim Eastwood <joachim.eastwood@jotron.com>

After commit f363c40 (ARM: at91: make sdram/ddr register base soc independent)
building at91_cf as a module fails with:
  ERROR: "at91_ramc_base" [drivers/pcmcia/at91_cf.ko] undefined!
  make[1]: *** [__modpost] Error 1
  make: *** [modules] Error 2

Export at91_ramc_base symbol to allow drivers using at91_ramc_*
functions to be built as modules again.

Signed-off-by: Joachim Eastwood <joachim.eastwood@jotron.com>
[nicolas.ferre at atmel.com: modify slightly commit message]
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
---
 arch/arm/mach-at91/setup.c |    1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/mach-at91/setup.c b/arch/arm/mach-at91/setup.c
index 97cc04d..0607847 100644
--- a/arch/arm/mach-at91/setup.c
+++ b/arch/arm/mach-at91/setup.c
@@ -54,6 +54,7 @@ void __init at91_init_interrupts(unsigned int *priority)
 }
 
 void __iomem *at91_ramc_base[2];
+EXPORT_SYMBOL_GPL(at91_ramc_base);
 
 void __init at91_ioremap_ramc(int id, u32 addr, u32 size)
 {
-- 
1.7.10

^ permalink raw reply related	[flat|nested] 43+ messages in thread

* [PATCH 03/12] ARM: at91: Export at91_pmc_base
  2012-04-16  9:20 ` Nicolas Ferre
@ 2012-04-16  9:20   ` Nicolas Ferre
  -1 siblings, 0 replies; 43+ messages in thread
From: Nicolas Ferre @ 2012-04-16  9:20 UTC (permalink / raw)
  To: linux-arm-kernel, arnd, olof
  Cc: plagnioj, ludovic.desroches, linux-kernel, Joachim Eastwood,
	Nicolas Ferre

From: Joachim Eastwood <manabian@gmail.com>

After commit b55149529d26 (ARM: at91/PMC: make register base soc independent)
building atmel_usba_udc as a module fails with following message
  ERROR: "at91_pmc_base" [drivers/usb/gadget/atmel_usba_udc.ko] undefined!
  make[1]: *** [__modpost] Error 1
  make: *** [modules] Error 2

Export symbol to allow driver to be built as a module again.

Signed-off-by: Joachim Eastwood <joachim.eastwood@jotron.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
---
 arch/arm/mach-at91/clock.c |    1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/mach-at91/clock.c b/arch/arm/mach-at91/clock.c
index a0f4d74..6b69282 100644
--- a/arch/arm/mach-at91/clock.c
+++ b/arch/arm/mach-at91/clock.c
@@ -35,6 +35,7 @@
 #include "generic.h"
 
 void __iomem *at91_pmc_base;
+EXPORT_SYMBOL_GPL(at91_pmc_base);
 
 /*
  * There's a lot more which can be done with clocks, including cpufreq
-- 
1.7.10


^ permalink raw reply related	[flat|nested] 43+ messages in thread

* [PATCH 03/12] ARM: at91: Export at91_pmc_base
@ 2012-04-16  9:20   ` Nicolas Ferre
  0 siblings, 0 replies; 43+ messages in thread
From: Nicolas Ferre @ 2012-04-16  9:20 UTC (permalink / raw)
  To: linux-arm-kernel

From: Joachim Eastwood <manabian@gmail.com>

After commit b55149529d26 (ARM: at91/PMC: make register base soc independent)
building atmel_usba_udc as a module fails with following message
  ERROR: "at91_pmc_base" [drivers/usb/gadget/atmel_usba_udc.ko] undefined!
  make[1]: *** [__modpost] Error 1
  make: *** [modules] Error 2

Export symbol to allow driver to be built as a module again.

Signed-off-by: Joachim Eastwood <joachim.eastwood@jotron.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
---
 arch/arm/mach-at91/clock.c |    1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/mach-at91/clock.c b/arch/arm/mach-at91/clock.c
index a0f4d74..6b69282 100644
--- a/arch/arm/mach-at91/clock.c
+++ b/arch/arm/mach-at91/clock.c
@@ -35,6 +35,7 @@
 #include "generic.h"
 
 void __iomem *at91_pmc_base;
+EXPORT_SYMBOL_GPL(at91_pmc_base);
 
 /*
  * There's a lot more which can be done with clocks, including cpufreq
-- 
1.7.10

^ permalink raw reply related	[flat|nested] 43+ messages in thread

* [PATCH 04/12] ARM: at91: Export at91_matrix_base
  2012-04-16  9:20 ` Nicolas Ferre
@ 2012-04-16  9:20   ` Nicolas Ferre
  -1 siblings, 0 replies; 43+ messages in thread
From: Nicolas Ferre @ 2012-04-16  9:20 UTC (permalink / raw)
  To: linux-arm-kernel, arnd, olof
  Cc: plagnioj, ludovic.desroches, linux-kernel, Joachim Eastwood,
	Nicolas Ferre

From: Joachim Eastwood <manabian@gmail.com>

at91_matrix_* macro's are used by at91_udc usb gadget driver,
which can be built as module, therefore we need to export the
variable containing matrix base address.

Signed-off-by: Joachim Eastwood <joachim.eastwood@jotron.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
---
 arch/arm/mach-at91/setup.c |    1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/mach-at91/setup.c b/arch/arm/mach-at91/setup.c
index 0607847..f44a2e7 100644
--- a/arch/arm/mach-at91/setup.c
+++ b/arch/arm/mach-at91/setup.c
@@ -293,6 +293,7 @@ void __init at91_ioremap_rstc(u32 base_addr)
 }
 
 void __iomem *at91_matrix_base;
+EXPORT_SYMBOL_GPL(at91_matrix_base);
 
 void __init at91_ioremap_matrix(u32 base_addr)
 {
-- 
1.7.10


^ permalink raw reply related	[flat|nested] 43+ messages in thread

* [PATCH 04/12] ARM: at91: Export at91_matrix_base
@ 2012-04-16  9:20   ` Nicolas Ferre
  0 siblings, 0 replies; 43+ messages in thread
From: Nicolas Ferre @ 2012-04-16  9:20 UTC (permalink / raw)
  To: linux-arm-kernel

From: Joachim Eastwood <manabian@gmail.com>

at91_matrix_* macro's are used by at91_udc usb gadget driver,
which can be built as module, therefore we need to export the
variable containing matrix base address.

Signed-off-by: Joachim Eastwood <joachim.eastwood@jotron.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
---
 arch/arm/mach-at91/setup.c |    1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/mach-at91/setup.c b/arch/arm/mach-at91/setup.c
index 0607847..f44a2e7 100644
--- a/arch/arm/mach-at91/setup.c
+++ b/arch/arm/mach-at91/setup.c
@@ -293,6 +293,7 @@ void __init at91_ioremap_rstc(u32 base_addr)
 }
 
 void __iomem *at91_matrix_base;
+EXPORT_SYMBOL_GPL(at91_matrix_base);
 
 void __init at91_ioremap_matrix(u32 base_addr)
 {
-- 
1.7.10

^ permalink raw reply related	[flat|nested] 43+ messages in thread

* [PATCH 05/12] ARM: at91: fix typo in at91_pmc_base assembly declaration
  2012-04-16  9:20 ` Nicolas Ferre
@ 2012-04-16  9:20   ` Nicolas Ferre
  -1 siblings, 0 replies; 43+ messages in thread
From: Nicolas Ferre @ 2012-04-16  9:20 UTC (permalink / raw)
  To: linux-arm-kernel, arnd, olof
  Cc: plagnioj, ludovic.desroches, linux-kernel, Nicolas Ferre

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
---
 arch/arm/mach-at91/include/mach/at91_pmc.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/mach-at91/include/mach/at91_pmc.h b/arch/arm/mach-at91/include/mach/at91_pmc.h
index 3660478..ea2c57a 100644
--- a/arch/arm/mach-at91/include/mach/at91_pmc.h
+++ b/arch/arm/mach-at91/include/mach/at91_pmc.h
@@ -25,7 +25,7 @@ extern void __iomem *at91_pmc_base;
 #define at91_pmc_write(field, value) \
 	__raw_writel(value, at91_pmc_base + field)
 #else
-.extern at91_aic_base
+.extern at91_pmc_base
 #endif
 
 #define	AT91_PMC_SCER		0x00			/* System Clock Enable Register */
-- 
1.7.10


^ permalink raw reply related	[flat|nested] 43+ messages in thread

* [PATCH 05/12] ARM: at91: fix typo in at91_pmc_base assembly declaration
@ 2012-04-16  9:20   ` Nicolas Ferre
  0 siblings, 0 replies; 43+ messages in thread
From: Nicolas Ferre @ 2012-04-16  9:20 UTC (permalink / raw)
  To: linux-arm-kernel

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
---
 arch/arm/mach-at91/include/mach/at91_pmc.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/mach-at91/include/mach/at91_pmc.h b/arch/arm/mach-at91/include/mach/at91_pmc.h
index 3660478..ea2c57a 100644
--- a/arch/arm/mach-at91/include/mach/at91_pmc.h
+++ b/arch/arm/mach-at91/include/mach/at91_pmc.h
@@ -25,7 +25,7 @@ extern void __iomem *at91_pmc_base;
 #define at91_pmc_write(field, value) \
 	__raw_writel(value, at91_pmc_base + field)
 #else
-.extern at91_aic_base
+.extern at91_pmc_base
 #endif
 
 #define	AT91_PMC_SCER		0x00			/* System Clock Enable Register */
-- 
1.7.10

^ permalink raw reply related	[flat|nested] 43+ messages in thread

* [PATCH 06/12] ARM: at91: remove empty at91_init_serial function
  2012-04-16  9:20 ` Nicolas Ferre
@ 2012-04-16  9:20   ` Nicolas Ferre
  -1 siblings, 0 replies; 43+ messages in thread
From: Nicolas Ferre @ 2012-04-16  9:20 UTC (permalink / raw)
  To: linux-arm-kernel, arnd, olof
  Cc: plagnioj, ludovic.desroches, linux-kernel, Joachim Eastwood,
	Nicolas Ferre

From: Joachim Eastwood <manabian@gmail.com>

The real function is long gone and the empty one will generate warnings
when configured without Atmel serial:
  arch/arm/mach-at91/at91rm9200_devices.c:1176: warning: 'struct at91_uart_config' declared inside parameter list
  arch/arm/mach-at91/at91rm9200_devices.c:1176: warning: its scope is only this definition or declaration, which is probably not what you want

Signed-off-by: Joachim Eastwood <joachim.eastwood@jotron.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
---
 arch/arm/mach-at91/at91rm9200_devices.c |    1 -
 1 file changed, 1 deletion(-)

diff --git a/arch/arm/mach-at91/at91rm9200_devices.c b/arch/arm/mach-at91/at91rm9200_devices.c
index 99ce5c9..05774e5 100644
--- a/arch/arm/mach-at91/at91rm9200_devices.c
+++ b/arch/arm/mach-at91/at91rm9200_devices.c
@@ -1173,7 +1173,6 @@ void __init at91_add_device_serial(void)
 		printk(KERN_INFO "AT91: No default serial console defined.\n");
 }
 #else
-void __init __deprecated at91_init_serial(struct at91_uart_config *config) {}
 void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) {}
 void __init at91_set_serial_console(unsigned portnr) {}
 void __init at91_add_device_serial(void) {}
-- 
1.7.10


^ permalink raw reply related	[flat|nested] 43+ messages in thread

* [PATCH 06/12] ARM: at91: remove empty at91_init_serial function
@ 2012-04-16  9:20   ` Nicolas Ferre
  0 siblings, 0 replies; 43+ messages in thread
From: Nicolas Ferre @ 2012-04-16  9:20 UTC (permalink / raw)
  To: linux-arm-kernel

From: Joachim Eastwood <manabian@gmail.com>

The real function is long gone and the empty one will generate warnings
when configured without Atmel serial:
  arch/arm/mach-at91/at91rm9200_devices.c:1176: warning: 'struct at91_uart_config' declared inside parameter list
  arch/arm/mach-at91/at91rm9200_devices.c:1176: warning: its scope is only this definition or declaration, which is probably not what you want

Signed-off-by: Joachim Eastwood <joachim.eastwood@jotron.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
---
 arch/arm/mach-at91/at91rm9200_devices.c |    1 -
 1 file changed, 1 deletion(-)

diff --git a/arch/arm/mach-at91/at91rm9200_devices.c b/arch/arm/mach-at91/at91rm9200_devices.c
index 99ce5c9..05774e5 100644
--- a/arch/arm/mach-at91/at91rm9200_devices.c
+++ b/arch/arm/mach-at91/at91rm9200_devices.c
@@ -1173,7 +1173,6 @@ void __init at91_add_device_serial(void)
 		printk(KERN_INFO "AT91: No default serial console defined.\n");
 }
 #else
-void __init __deprecated at91_init_serial(struct at91_uart_config *config) {}
 void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) {}
 void __init at91_set_serial_console(unsigned portnr) {}
 void __init at91_add_device_serial(void) {}
-- 
1.7.10

^ permalink raw reply related	[flat|nested] 43+ messages in thread

* [PATCH 07/12] ARM: at91: fix rm9200ek flash size
  2012-04-16  9:20 ` Nicolas Ferre
@ 2012-04-16  9:20   ` Nicolas Ferre
  -1 siblings, 0 replies; 43+ messages in thread
From: Nicolas Ferre @ 2012-04-16  9:20 UTC (permalink / raw)
  To: linux-arm-kernel, arnd, olof; +Cc: plagnioj, ludovic.desroches, linux-kernel

From: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>

The flash size is 8MiB.

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
---
 arch/arm/mach-at91/board-rm9200ek.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/mach-at91/board-rm9200ek.c b/arch/arm/mach-at91/board-rm9200ek.c
index 11cbaa8..b2e4fe2 100644
--- a/arch/arm/mach-at91/board-rm9200ek.c
+++ b/arch/arm/mach-at91/board-rm9200ek.c
@@ -117,7 +117,7 @@ static struct i2c_board_info __initdata ek_i2c_devices[] = {
 };
 
 #define EK_FLASH_BASE	AT91_CHIPSELECT_0
-#define EK_FLASH_SIZE	SZ_2M
+#define EK_FLASH_SIZE	SZ_8M
 
 static struct physmap_flash_data ek_flash_data = {
 	.width		= 2,
-- 
1.7.10


^ permalink raw reply related	[flat|nested] 43+ messages in thread

* [PATCH 07/12] ARM: at91: fix rm9200ek flash size
@ 2012-04-16  9:20   ` Nicolas Ferre
  0 siblings, 0 replies; 43+ messages in thread
From: Nicolas Ferre @ 2012-04-16  9:20 UTC (permalink / raw)
  To: linux-arm-kernel

From: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>

The flash size is 8MiB.

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
---
 arch/arm/mach-at91/board-rm9200ek.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/mach-at91/board-rm9200ek.c b/arch/arm/mach-at91/board-rm9200ek.c
index 11cbaa8..b2e4fe2 100644
--- a/arch/arm/mach-at91/board-rm9200ek.c
+++ b/arch/arm/mach-at91/board-rm9200ek.c
@@ -117,7 +117,7 @@ static struct i2c_board_info __initdata ek_i2c_devices[] = {
 };
 
 #define EK_FLASH_BASE	AT91_CHIPSELECT_0
-#define EK_FLASH_SIZE	SZ_2M
+#define EK_FLASH_SIZE	SZ_8M
 
 static struct physmap_flash_data ek_flash_data = {
 	.width		= 2,
-- 
1.7.10

^ permalink raw reply related	[flat|nested] 43+ messages in thread

* [PATCH 08/12] ARM: at91: fix at91sam9261ek Ethernet dm9000 irq
  2012-04-16  9:20 ` Nicolas Ferre
@ 2012-04-16  9:20   ` Nicolas Ferre
  -1 siblings, 0 replies; 43+ messages in thread
From: Nicolas Ferre @ 2012-04-16  9:20 UTC (permalink / raw)
  To: linux-arm-kernel, arnd, olof; +Cc: plagnioj, ludovic.desroches, linux-kernel

From: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>

You need to setup the dm9000 irq via gpio_to_irq() since
d0fbda9add (ARM: at91/gpio: drop PIN_BASE).

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: stable <stable@vger.kernel.org>	[3.2+]
---
 arch/arm/mach-at91/board-sam9261ek.c |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-at91/board-sam9261ek.c b/arch/arm/mach-at91/board-sam9261ek.c
index c3f9944..065fed3 100644
--- a/arch/arm/mach-at91/board-sam9261ek.c
+++ b/arch/arm/mach-at91/board-sam9261ek.c
@@ -85,8 +85,6 @@ static struct resource dm9000_resource[] = {
 		.flags	= IORESOURCE_MEM
 	},
 	[2] = {
-		.start	= AT91_PIN_PC11,
-		.end	= AT91_PIN_PC11,
 		.flags	= IORESOURCE_IRQ
 			| IORESOURCE_IRQ_LOWEDGE | IORESOURCE_IRQ_HIGHEDGE,
 	}
@@ -130,6 +128,8 @@ static struct sam9_smc_config __initdata dm9000_smc_config = {
 
 static void __init ek_add_device_dm9000(void)
 {
+	struct resource *r = &dm9000_resource[2];
+
 	/* Configure chip-select 2 (DM9000) */
 	sam9_smc_configure(0, 2, &dm9000_smc_config);
 
@@ -139,6 +139,7 @@ static void __init ek_add_device_dm9000(void)
 	/* Configure Interrupt pin as input, no pull-up */
 	at91_set_gpio_input(AT91_PIN_PC11, 0);
 
+	r->start = r->end = gpio_to_irq(AT91_PIN_PC11);
 	platform_device_register(&dm9000_device);
 }
 #else
-- 
1.7.10


^ permalink raw reply related	[flat|nested] 43+ messages in thread

* [PATCH 08/12] ARM: at91: fix at91sam9261ek Ethernet dm9000 irq
@ 2012-04-16  9:20   ` Nicolas Ferre
  0 siblings, 0 replies; 43+ messages in thread
From: Nicolas Ferre @ 2012-04-16  9:20 UTC (permalink / raw)
  To: linux-arm-kernel

From: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>

You need to setup the dm9000 irq via gpio_to_irq() since
d0fbda9add (ARM: at91/gpio: drop PIN_BASE).

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: stable <stable@vger.kernel.org>	[3.2+]
---
 arch/arm/mach-at91/board-sam9261ek.c |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-at91/board-sam9261ek.c b/arch/arm/mach-at91/board-sam9261ek.c
index c3f9944..065fed3 100644
--- a/arch/arm/mach-at91/board-sam9261ek.c
+++ b/arch/arm/mach-at91/board-sam9261ek.c
@@ -85,8 +85,6 @@ static struct resource dm9000_resource[] = {
 		.flags	= IORESOURCE_MEM
 	},
 	[2] = {
-		.start	= AT91_PIN_PC11,
-		.end	= AT91_PIN_PC11,
 		.flags	= IORESOURCE_IRQ
 			| IORESOURCE_IRQ_LOWEDGE | IORESOURCE_IRQ_HIGHEDGE,
 	}
@@ -130,6 +128,8 @@ static struct sam9_smc_config __initdata dm9000_smc_config = {
 
 static void __init ek_add_device_dm9000(void)
 {
+	struct resource *r = &dm9000_resource[2];
+
 	/* Configure chip-select 2 (DM9000) */
 	sam9_smc_configure(0, 2, &dm9000_smc_config);
 
@@ -139,6 +139,7 @@ static void __init ek_add_device_dm9000(void)
 	/* Configure Interrupt pin as input, no pull-up */
 	at91_set_gpio_input(AT91_PIN_PC11, 0);
 
+	r->start = r->end = gpio_to_irq(AT91_PIN_PC11);
 	platform_device_register(&dm9000_device);
 }
 #else
-- 
1.7.10

^ permalink raw reply related	[flat|nested] 43+ messages in thread

* [PATCH 09/12] ARM: at91/atmel-mci: remove unused setup_dma_addr() macro
  2012-04-16  9:20 ` Nicolas Ferre
  (?)
@ 2012-04-16  9:20   ` Nicolas Ferre
  -1 siblings, 0 replies; 43+ messages in thread
From: Nicolas Ferre @ 2012-04-16  9:20 UTC (permalink / raw)
  To: linux-arm-kernel, arnd, olof
  Cc: plagnioj, ludovic.desroches, linux-kernel, Nicolas Ferre,
	Chris Ball, linux-mmc

This macro is not used anymove in atmel-mci driver. It has been removed
by a patch that was dealing with dw_dmac.c e2b35f3:
(dmaengine/dw_dmac: Fix dw_dmac user drivers to adapt to slave_config changes)

We are now using the dmaengine API to specify the slave DMA parameters:
dmaengine_slave_config().

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Ludovic Desroches <ludovic.desroches@atmel.com>
Cc: Chris Ball <cjb@laptop.org>
Cc: <linux-mmc@vger.kernel.org>
---
 arch/arm/mach-at91/include/mach/atmel-mci.h |    7 -------
 1 file changed, 7 deletions(-)

diff --git a/arch/arm/mach-at91/include/mach/atmel-mci.h b/arch/arm/mach-at91/include/mach/atmel-mci.h
index 998cb0c..5d84fe3 100644
--- a/arch/arm/mach-at91/include/mach/atmel-mci.h
+++ b/arch/arm/mach-at91/include/mach/atmel-mci.h
@@ -14,11 +14,4 @@ struct mci_dma_data {
 #define	slave_data_ptr(s)	(&(s)->sdata)
 #define find_slave_dev(s)	((s)->sdata.dma_dev)
 
-#define	setup_dma_addr(s, t, r)	do {		\
-	if (s) {				\
-		(s)->sdata.tx_reg = (t);	\
-		(s)->sdata.rx_reg = (r);	\
-	}					\
-} while (0)
-
 #endif /* __MACH_ATMEL_MCI_H */
-- 
1.7.10


^ permalink raw reply related	[flat|nested] 43+ messages in thread

* [PATCH 09/12] ARM: at91/atmel-mci: remove unused setup_dma_addr() macro
@ 2012-04-16  9:20   ` Nicolas Ferre
  0 siblings, 0 replies; 43+ messages in thread
From: Nicolas Ferre @ 2012-04-16  9:20 UTC (permalink / raw)
  To: linux-arm-kernel, arnd, olof
  Cc: Nicolas Ferre, linux-mmc, linux-kernel, ludovic.desroches,
	Chris Ball, plagnioj

This macro is not used anymove in atmel-mci driver. It has been removed
by a patch that was dealing with dw_dmac.c e2b35f3:
(dmaengine/dw_dmac: Fix dw_dmac user drivers to adapt to slave_config changes)

We are now using the dmaengine API to specify the slave DMA parameters:
dmaengine_slave_config().

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Ludovic Desroches <ludovic.desroches@atmel.com>
Cc: Chris Ball <cjb@laptop.org>
Cc: <linux-mmc@vger.kernel.org>
---
 arch/arm/mach-at91/include/mach/atmel-mci.h |    7 -------
 1 file changed, 7 deletions(-)

diff --git a/arch/arm/mach-at91/include/mach/atmel-mci.h b/arch/arm/mach-at91/include/mach/atmel-mci.h
index 998cb0c..5d84fe3 100644
--- a/arch/arm/mach-at91/include/mach/atmel-mci.h
+++ b/arch/arm/mach-at91/include/mach/atmel-mci.h
@@ -14,11 +14,4 @@ struct mci_dma_data {
 #define	slave_data_ptr(s)	(&(s)->sdata)
 #define find_slave_dev(s)	((s)->sdata.dma_dev)
 
-#define	setup_dma_addr(s, t, r)	do {		\
-	if (s) {				\
-		(s)->sdata.tx_reg = (t);	\
-		(s)->sdata.rx_reg = (r);	\
-	}					\
-} while (0)
-
 #endif /* __MACH_ATMEL_MCI_H */
-- 
1.7.10

^ permalink raw reply related	[flat|nested] 43+ messages in thread

* [PATCH 09/12] ARM: at91/atmel-mci: remove unused setup_dma_addr() macro
@ 2012-04-16  9:20   ` Nicolas Ferre
  0 siblings, 0 replies; 43+ messages in thread
From: Nicolas Ferre @ 2012-04-16  9:20 UTC (permalink / raw)
  To: linux-arm-kernel

This macro is not used anymove in atmel-mci driver. It has been removed
by a patch that was dealing with dw_dmac.c e2b35f3:
(dmaengine/dw_dmac: Fix dw_dmac user drivers to adapt to slave_config changes)

We are now using the dmaengine API to specify the slave DMA parameters:
dmaengine_slave_config().

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Ludovic Desroches <ludovic.desroches@atmel.com>
Cc: Chris Ball <cjb@laptop.org>
Cc: <linux-mmc@vger.kernel.org>
---
 arch/arm/mach-at91/include/mach/atmel-mci.h |    7 -------
 1 file changed, 7 deletions(-)

diff --git a/arch/arm/mach-at91/include/mach/atmel-mci.h b/arch/arm/mach-at91/include/mach/atmel-mci.h
index 998cb0c..5d84fe3 100644
--- a/arch/arm/mach-at91/include/mach/atmel-mci.h
+++ b/arch/arm/mach-at91/include/mach/atmel-mci.h
@@ -14,11 +14,4 @@ struct mci_dma_data {
 #define	slave_data_ptr(s)	(&(s)->sdata)
 #define find_slave_dev(s)	((s)->sdata.dma_dev)
 
-#define	setup_dma_addr(s, t, r)	do {		\
-	if (s) {				\
-		(s)->sdata.tx_reg = (t);	\
-		(s)->sdata.rx_reg = (r);	\
-	}					\
-} while (0)
-
 #endif /* __MACH_ATMEL_MCI_H */
-- 
1.7.10

^ permalink raw reply related	[flat|nested] 43+ messages in thread

* [PATCH 10/12] leds-atmel-pwm.c: Make pwmled_probe() __devinit
  2012-04-16  9:20 ` Nicolas Ferre
@ 2012-04-16  9:20   ` Nicolas Ferre
  -1 siblings, 0 replies; 43+ messages in thread
From: Nicolas Ferre @ 2012-04-16  9:20 UTC (permalink / raw)
  To: linux-arm-kernel, arnd, olof
  Cc: plagnioj, ludovic.desroches, linux-kernel, Nicolas Ferre,
	Richard Purdie, Andrew Morton

Commit 892a884 (leds: convert led platform drivers to module_platform_driver)
is omitting the section mismatch error: so change annotation of the probe
function to __devinit instead of __init.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
---
 drivers/leds/leds-atmel-pwm.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/leds/leds-atmel-pwm.c b/drivers/leds/leds-atmel-pwm.c
index 800243b..64ad702 100644
--- a/drivers/leds/leds-atmel-pwm.c
+++ b/drivers/leds/leds-atmel-pwm.c
@@ -35,7 +35,7 @@ static void pwmled_brightness(struct led_classdev *cdev, enum led_brightness b)
  * NOTE:  we reuse the platform_data structure of GPIO leds,
  * but repurpose its "gpio" number as a PWM channel number.
  */
-static int __init pwmled_probe(struct platform_device *pdev)
+static int __devinit pwmled_probe(struct platform_device *pdev)
 {
 	const struct gpio_led_platform_data	*pdata;
 	struct pwmled				*leds;
-- 
1.7.10


^ permalink raw reply related	[flat|nested] 43+ messages in thread

* [PATCH 10/12] leds-atmel-pwm.c: Make pwmled_probe() __devinit
@ 2012-04-16  9:20   ` Nicolas Ferre
  0 siblings, 0 replies; 43+ messages in thread
From: Nicolas Ferre @ 2012-04-16  9:20 UTC (permalink / raw)
  To: linux-arm-kernel

Commit 892a884 (leds: convert led platform drivers to module_platform_driver)
is omitting the section mismatch error: so change annotation of the probe
function to __devinit instead of __init.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
---
 drivers/leds/leds-atmel-pwm.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/leds/leds-atmel-pwm.c b/drivers/leds/leds-atmel-pwm.c
index 800243b..64ad702 100644
--- a/drivers/leds/leds-atmel-pwm.c
+++ b/drivers/leds/leds-atmel-pwm.c
@@ -35,7 +35,7 @@ static void pwmled_brightness(struct led_classdev *cdev, enum led_brightness b)
  * NOTE:  we reuse the platform_data structure of GPIO leds,
  * but repurpose its "gpio" number as a PWM channel number.
  */
-static int __init pwmled_probe(struct platform_device *pdev)
+static int __devinit pwmled_probe(struct platform_device *pdev)
 {
 	const struct gpio_led_platform_data	*pdata;
 	struct pwmled				*leds;
-- 
1.7.10

^ permalink raw reply related	[flat|nested] 43+ messages in thread

* [PATCH 11/12] USB: ohci-at91: change annotations for probe/remove functions
  2012-04-16  9:20 ` Nicolas Ferre
@ 2012-04-16  9:20   ` Nicolas Ferre
  -1 siblings, 0 replies; 43+ messages in thread
From: Nicolas Ferre @ 2012-04-16  9:20 UTC (permalink / raw)
  To: linux-arm-kernel, arnd, olof
  Cc: plagnioj, ludovic.desroches, linux-kernel, Nicolas Ferre,
	Alan Stern, linux-usb

Add __devinit and __devexit on *_probe() and *_remove() functions
with proper modification of struct platform_driver.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: Alan Stern <stern@rowland.harvard.edu>
Cc: linux-usb@vger.kernel.org
---
 drivers/usb/host/ohci-at91.c |   12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/usb/host/ohci-at91.c b/drivers/usb/host/ohci-at91.c
index 09f597a..13ebeca 100644
--- a/drivers/usb/host/ohci-at91.c
+++ b/drivers/usb/host/ohci-at91.c
@@ -94,7 +94,7 @@ static void at91_stop_hc(struct platform_device *pdev)
 
 /*-------------------------------------------------------------------------*/
 
-static void usb_hcd_at91_remove (struct usb_hcd *, struct platform_device *);
+static void __devexit usb_hcd_at91_remove (struct usb_hcd *, struct platform_device *);
 
 /* configure so an HC device and id are always provided */
 /* always called with process context; sleeping is OK */
@@ -108,7 +108,7 @@ static void usb_hcd_at91_remove (struct usb_hcd *, struct platform_device *);
  * then invokes the start() method for the HCD associated with it
  * through the hotplug entry's driver_data.
  */
-static int usb_hcd_at91_probe(const struct hc_driver *driver,
+static int __devinit usb_hcd_at91_probe(const struct hc_driver *driver,
 			struct platform_device *pdev)
 {
 	int retval;
@@ -203,7 +203,7 @@ static int usb_hcd_at91_probe(const struct hc_driver *driver,
  * context, "rmmod" or something similar.
  *
  */
-static void usb_hcd_at91_remove(struct usb_hcd *hcd,
+static void __devexit usb_hcd_at91_remove(struct usb_hcd *hcd,
 				struct platform_device *pdev)
 {
 	usb_remove_hcd(hcd);
@@ -545,7 +545,7 @@ static int __devinit ohci_at91_of_init(struct platform_device *pdev)
 
 /*-------------------------------------------------------------------------*/
 
-static int ohci_hcd_at91_drv_probe(struct platform_device *pdev)
+static int __devinit ohci_hcd_at91_drv_probe(struct platform_device *pdev)
 {
 	struct at91_usbh_data	*pdata;
 	int			i;
@@ -620,7 +620,7 @@ static int ohci_hcd_at91_drv_probe(struct platform_device *pdev)
 	return usb_hcd_at91_probe(&ohci_at91_hc_driver, pdev);
 }
 
-static int ohci_hcd_at91_drv_remove(struct platform_device *pdev)
+static int __devexit ohci_hcd_at91_drv_remove(struct platform_device *pdev)
 {
 	struct at91_usbh_data	*pdata = pdev->dev.platform_data;
 	int			i;
@@ -696,7 +696,7 @@ MODULE_ALIAS("platform:at91_ohci");
 
 static struct platform_driver ohci_hcd_at91_driver = {
 	.probe		= ohci_hcd_at91_drv_probe,
-	.remove		= ohci_hcd_at91_drv_remove,
+	.remove		= __devexit_p(ohci_hcd_at91_drv_remove),
 	.shutdown	= usb_hcd_platform_shutdown,
 	.suspend	= ohci_hcd_at91_drv_suspend,
 	.resume		= ohci_hcd_at91_drv_resume,
-- 
1.7.10


^ permalink raw reply related	[flat|nested] 43+ messages in thread

* [PATCH 11/12] USB: ohci-at91: change annotations for probe/remove functions
@ 2012-04-16  9:20   ` Nicolas Ferre
  0 siblings, 0 replies; 43+ messages in thread
From: Nicolas Ferre @ 2012-04-16  9:20 UTC (permalink / raw)
  To: linux-arm-kernel

Add __devinit and __devexit on *_probe() and *_remove() functions
with proper modification of struct platform_driver.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: Alan Stern <stern@rowland.harvard.edu>
Cc: linux-usb at vger.kernel.org
---
 drivers/usb/host/ohci-at91.c |   12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/usb/host/ohci-at91.c b/drivers/usb/host/ohci-at91.c
index 09f597a..13ebeca 100644
--- a/drivers/usb/host/ohci-at91.c
+++ b/drivers/usb/host/ohci-at91.c
@@ -94,7 +94,7 @@ static void at91_stop_hc(struct platform_device *pdev)
 
 /*-------------------------------------------------------------------------*/
 
-static void usb_hcd_at91_remove (struct usb_hcd *, struct platform_device *);
+static void __devexit usb_hcd_at91_remove (struct usb_hcd *, struct platform_device *);
 
 /* configure so an HC device and id are always provided */
 /* always called with process context; sleeping is OK */
@@ -108,7 +108,7 @@ static void usb_hcd_at91_remove (struct usb_hcd *, struct platform_device *);
  * then invokes the start() method for the HCD associated with it
  * through the hotplug entry's driver_data.
  */
-static int usb_hcd_at91_probe(const struct hc_driver *driver,
+static int __devinit usb_hcd_at91_probe(const struct hc_driver *driver,
 			struct platform_device *pdev)
 {
 	int retval;
@@ -203,7 +203,7 @@ static int usb_hcd_at91_probe(const struct hc_driver *driver,
  * context, "rmmod" or something similar.
  *
  */
-static void usb_hcd_at91_remove(struct usb_hcd *hcd,
+static void __devexit usb_hcd_at91_remove(struct usb_hcd *hcd,
 				struct platform_device *pdev)
 {
 	usb_remove_hcd(hcd);
@@ -545,7 +545,7 @@ static int __devinit ohci_at91_of_init(struct platform_device *pdev)
 
 /*-------------------------------------------------------------------------*/
 
-static int ohci_hcd_at91_drv_probe(struct platform_device *pdev)
+static int __devinit ohci_hcd_at91_drv_probe(struct platform_device *pdev)
 {
 	struct at91_usbh_data	*pdata;
 	int			i;
@@ -620,7 +620,7 @@ static int ohci_hcd_at91_drv_probe(struct platform_device *pdev)
 	return usb_hcd_at91_probe(&ohci_at91_hc_driver, pdev);
 }
 
-static int ohci_hcd_at91_drv_remove(struct platform_device *pdev)
+static int __devexit ohci_hcd_at91_drv_remove(struct platform_device *pdev)
 {
 	struct at91_usbh_data	*pdata = pdev->dev.platform_data;
 	int			i;
@@ -696,7 +696,7 @@ MODULE_ALIAS("platform:at91_ohci");
 
 static struct platform_driver ohci_hcd_at91_driver = {
 	.probe		= ohci_hcd_at91_drv_probe,
-	.remove		= ohci_hcd_at91_drv_remove,
+	.remove		= __devexit_p(ohci_hcd_at91_drv_remove),
 	.shutdown	= usb_hcd_platform_shutdown,
 	.suspend	= ohci_hcd_at91_drv_suspend,
 	.resume		= ohci_hcd_at91_drv_resume,
-- 
1.7.10

^ permalink raw reply related	[flat|nested] 43+ messages in thread

* [PATCH 12/12] USB: gadget/at91_udc: add gpio_to_irq() function to vbus interrupt
  2012-04-16  9:20 ` Nicolas Ferre
@ 2012-04-16  9:20   ` Nicolas Ferre
  -1 siblings, 0 replies; 43+ messages in thread
From: Nicolas Ferre @ 2012-04-16  9:20 UTC (permalink / raw)
  To: linux-arm-kernel, arnd, olof
  Cc: plagnioj, ludovic.desroches, linux-kernel, Nicolas Ferre,
	Felipe Balbi, linux-usb

Now that we are using irqdomains, we need to convert GPIO pins to Linux
IRQ numbers using the gpio_to_irq() function.
This call is added to request/free_irq calls.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: Felipe Balbi <balbi@ti.com>
Cc: linux-usb@vger.kernel.org
---
 drivers/usb/gadget/at91_udc.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/usb/gadget/at91_udc.c b/drivers/usb/gadget/at91_udc.c
index 0c935d7..9d7bcd9 100644
--- a/drivers/usb/gadget/at91_udc.c
+++ b/drivers/usb/gadget/at91_udc.c
@@ -1863,8 +1863,8 @@ static int __devinit at91udc_probe(struct platform_device *pdev)
 			mod_timer(&udc->vbus_timer,
 				  jiffies + VBUS_POLL_TIMEOUT);
 		} else {
-			if (request_irq(udc->board.vbus_pin, at91_vbus_irq,
-					0, driver_name, udc)) {
+			if (request_irq(gpio_to_irq(udc->board.vbus_pin),
+					at91_vbus_irq, 0, driver_name, udc)) {
 				DBG("request vbus irq %d failed\n",
 				    udc->board.vbus_pin);
 				retval = -EBUSY;
@@ -1886,7 +1886,7 @@ static int __devinit at91udc_probe(struct platform_device *pdev)
 	return 0;
 fail4:
 	if (gpio_is_valid(udc->board.vbus_pin) && !udc->board.vbus_polled)
-		free_irq(udc->board.vbus_pin, udc);
+		free_irq(gpio_to_irq(udc->board.vbus_pin), udc);
 fail3:
 	if (gpio_is_valid(udc->board.vbus_pin))
 		gpio_free(udc->board.vbus_pin);
@@ -1924,7 +1924,7 @@ static int __exit at91udc_remove(struct platform_device *pdev)
 	device_init_wakeup(&pdev->dev, 0);
 	remove_debug_file(udc);
 	if (gpio_is_valid(udc->board.vbus_pin)) {
-		free_irq(udc->board.vbus_pin, udc);
+		free_irq(gpio_to_irq(udc->board.vbus_pin), udc);
 		gpio_free(udc->board.vbus_pin);
 	}
 	free_irq(udc->udp_irq, udc);
-- 
1.7.10


^ permalink raw reply related	[flat|nested] 43+ messages in thread

* [PATCH 12/12] USB: gadget/at91_udc: add gpio_to_irq() function to vbus interrupt
@ 2012-04-16  9:20   ` Nicolas Ferre
  0 siblings, 0 replies; 43+ messages in thread
From: Nicolas Ferre @ 2012-04-16  9:20 UTC (permalink / raw)
  To: linux-arm-kernel

Now that we are using irqdomains, we need to convert GPIO pins to Linux
IRQ numbers using the gpio_to_irq() function.
This call is added to request/free_irq calls.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: Felipe Balbi <balbi@ti.com>
Cc: linux-usb at vger.kernel.org
---
 drivers/usb/gadget/at91_udc.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/usb/gadget/at91_udc.c b/drivers/usb/gadget/at91_udc.c
index 0c935d7..9d7bcd9 100644
--- a/drivers/usb/gadget/at91_udc.c
+++ b/drivers/usb/gadget/at91_udc.c
@@ -1863,8 +1863,8 @@ static int __devinit at91udc_probe(struct platform_device *pdev)
 			mod_timer(&udc->vbus_timer,
 				  jiffies + VBUS_POLL_TIMEOUT);
 		} else {
-			if (request_irq(udc->board.vbus_pin, at91_vbus_irq,
-					0, driver_name, udc)) {
+			if (request_irq(gpio_to_irq(udc->board.vbus_pin),
+					at91_vbus_irq, 0, driver_name, udc)) {
 				DBG("request vbus irq %d failed\n",
 				    udc->board.vbus_pin);
 				retval = -EBUSY;
@@ -1886,7 +1886,7 @@ static int __devinit at91udc_probe(struct platform_device *pdev)
 	return 0;
 fail4:
 	if (gpio_is_valid(udc->board.vbus_pin) && !udc->board.vbus_polled)
-		free_irq(udc->board.vbus_pin, udc);
+		free_irq(gpio_to_irq(udc->board.vbus_pin), udc);
 fail3:
 	if (gpio_is_valid(udc->board.vbus_pin))
 		gpio_free(udc->board.vbus_pin);
@@ -1924,7 +1924,7 @@ static int __exit at91udc_remove(struct platform_device *pdev)
 	device_init_wakeup(&pdev->dev, 0);
 	remove_debug_file(udc);
 	if (gpio_is_valid(udc->board.vbus_pin)) {
-		free_irq(udc->board.vbus_pin, udc);
+		free_irq(gpio_to_irq(udc->board.vbus_pin), udc);
 		gpio_free(udc->board.vbus_pin);
 	}
 	free_irq(udc->udp_irq, udc);
-- 
1.7.10

^ permalink raw reply related	[flat|nested] 43+ messages in thread

* Re: [PATCH 12/12] USB: gadget/at91_udc: add gpio_to_irq() function to vbus interrupt
  2012-04-16  9:20   ` Nicolas Ferre
@ 2012-04-16  9:22     ` Felipe Balbi
  -1 siblings, 0 replies; 43+ messages in thread
From: Felipe Balbi @ 2012-04-16  9:22 UTC (permalink / raw)
  To: Nicolas Ferre
  Cc: linux-arm-kernel, arnd, olof, plagnioj, ludovic.desroches,
	linux-kernel, Felipe Balbi, linux-usb

[-- Attachment #1: Type: text/plain, Size: 2043 bytes --]

On Mon, Apr 16, 2012 at 11:20:56AM +0200, Nicolas Ferre wrote:
> Now that we are using irqdomains, we need to convert GPIO pins to Linux
> IRQ numbers using the gpio_to_irq() function.
> This call is added to request/free_irq calls.
> 
> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
> Cc: Felipe Balbi <balbi@ti.com>
> Cc: linux-usb@vger.kernel.org

Please carry on with your series, patches looks fine.

Acked-by: Felipe Balbi <balbi@ti.com>

> ---
>  drivers/usb/gadget/at91_udc.c |    8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/usb/gadget/at91_udc.c b/drivers/usb/gadget/at91_udc.c
> index 0c935d7..9d7bcd9 100644
> --- a/drivers/usb/gadget/at91_udc.c
> +++ b/drivers/usb/gadget/at91_udc.c
> @@ -1863,8 +1863,8 @@ static int __devinit at91udc_probe(struct platform_device *pdev)
>  			mod_timer(&udc->vbus_timer,
>  				  jiffies + VBUS_POLL_TIMEOUT);
>  		} else {
> -			if (request_irq(udc->board.vbus_pin, at91_vbus_irq,
> -					0, driver_name, udc)) {
> +			if (request_irq(gpio_to_irq(udc->board.vbus_pin),
> +					at91_vbus_irq, 0, driver_name, udc)) {
>  				DBG("request vbus irq %d failed\n",
>  				    udc->board.vbus_pin);
>  				retval = -EBUSY;
> @@ -1886,7 +1886,7 @@ static int __devinit at91udc_probe(struct platform_device *pdev)
>  	return 0;
>  fail4:
>  	if (gpio_is_valid(udc->board.vbus_pin) && !udc->board.vbus_polled)
> -		free_irq(udc->board.vbus_pin, udc);
> +		free_irq(gpio_to_irq(udc->board.vbus_pin), udc);
>  fail3:
>  	if (gpio_is_valid(udc->board.vbus_pin))
>  		gpio_free(udc->board.vbus_pin);
> @@ -1924,7 +1924,7 @@ static int __exit at91udc_remove(struct platform_device *pdev)
>  	device_init_wakeup(&pdev->dev, 0);
>  	remove_debug_file(udc);
>  	if (gpio_is_valid(udc->board.vbus_pin)) {
> -		free_irq(udc->board.vbus_pin, udc);
> +		free_irq(gpio_to_irq(udc->board.vbus_pin), udc);
>  		gpio_free(udc->board.vbus_pin);
>  	}
>  	free_irq(udc->udp_irq, udc);
> -- 
> 1.7.10
> 

-- 
balbi

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 43+ messages in thread

* [PATCH 12/12] USB: gadget/at91_udc: add gpio_to_irq() function to vbus interrupt
@ 2012-04-16  9:22     ` Felipe Balbi
  0 siblings, 0 replies; 43+ messages in thread
From: Felipe Balbi @ 2012-04-16  9:22 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Apr 16, 2012 at 11:20:56AM +0200, Nicolas Ferre wrote:
> Now that we are using irqdomains, we need to convert GPIO pins to Linux
> IRQ numbers using the gpio_to_irq() function.
> This call is added to request/free_irq calls.
> 
> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
> Cc: Felipe Balbi <balbi@ti.com>
> Cc: linux-usb at vger.kernel.org

Please carry on with your series, patches looks fine.

Acked-by: Felipe Balbi <balbi@ti.com>

> ---
>  drivers/usb/gadget/at91_udc.c |    8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/usb/gadget/at91_udc.c b/drivers/usb/gadget/at91_udc.c
> index 0c935d7..9d7bcd9 100644
> --- a/drivers/usb/gadget/at91_udc.c
> +++ b/drivers/usb/gadget/at91_udc.c
> @@ -1863,8 +1863,8 @@ static int __devinit at91udc_probe(struct platform_device *pdev)
>  			mod_timer(&udc->vbus_timer,
>  				  jiffies + VBUS_POLL_TIMEOUT);
>  		} else {
> -			if (request_irq(udc->board.vbus_pin, at91_vbus_irq,
> -					0, driver_name, udc)) {
> +			if (request_irq(gpio_to_irq(udc->board.vbus_pin),
> +					at91_vbus_irq, 0, driver_name, udc)) {
>  				DBG("request vbus irq %d failed\n",
>  				    udc->board.vbus_pin);
>  				retval = -EBUSY;
> @@ -1886,7 +1886,7 @@ static int __devinit at91udc_probe(struct platform_device *pdev)
>  	return 0;
>  fail4:
>  	if (gpio_is_valid(udc->board.vbus_pin) && !udc->board.vbus_polled)
> -		free_irq(udc->board.vbus_pin, udc);
> +		free_irq(gpio_to_irq(udc->board.vbus_pin), udc);
>  fail3:
>  	if (gpio_is_valid(udc->board.vbus_pin))
>  		gpio_free(udc->board.vbus_pin);
> @@ -1924,7 +1924,7 @@ static int __exit at91udc_remove(struct platform_device *pdev)
>  	device_init_wakeup(&pdev->dev, 0);
>  	remove_debug_file(udc);
>  	if (gpio_is_valid(udc->board.vbus_pin)) {
> -		free_irq(udc->board.vbus_pin, udc);
> +		free_irq(gpio_to_irq(udc->board.vbus_pin), udc);
>  		gpio_free(udc->board.vbus_pin);
>  	}
>  	free_irq(udc->udp_irq, udc);
> -- 
> 1.7.10
> 

-- 
balbi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20120416/31a8e606/attachment-0001.sig>

^ permalink raw reply	[flat|nested] 43+ messages in thread

* [PATCH 13/13] dmaengine: Kconfig: fix Atmel at_hdmac entry
  2012-04-16  9:20 ` Nicolas Ferre
@ 2012-04-16 10:46   ` Nicolas Ferre
  -1 siblings, 0 replies; 43+ messages in thread
From: Nicolas Ferre @ 2012-04-16 10:46 UTC (permalink / raw)
  To: linux-arm-kernel, arnd, olof
  Cc: plagnioj, ludovic.desroches, linux-kernel, Nicolas Ferre

Remove SoC dependency and make it generic for every Atmel ARM AT91. That will
allow to select this driver for newer chips. Keep dependency on AT91 because of
the use of an header file located in include/mach directory.
Modify the comment to reflect this.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Vinod Koul <vinod.koul@linux.intel.com>
---
I keep this Kconfig modification in this "fixes" series. The DMA
driver will not be available for 9x5 SoC family otherwise.

 drivers/dma/Kconfig |    5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig
index cf9da36..ef378b5 100644
--- a/drivers/dma/Kconfig
+++ b/drivers/dma/Kconfig
@@ -91,11 +91,10 @@ config DW_DMAC
 
 config AT_HDMAC
 	tristate "Atmel AHB DMA support"
-	depends on ARCH_AT91SAM9RL || ARCH_AT91SAM9G45
+	depends on ARCH_AT91
 	select DMA_ENGINE
 	help
-	  Support the Atmel AHB DMA controller.  This can be integrated in
-	  chips such as the Atmel AT91SAM9RL.
+	  Support the Atmel AHB DMA controller.
 
 config FSL_DMA
 	tristate "Freescale Elo and Elo Plus DMA support"
-- 
1.7.10


^ permalink raw reply related	[flat|nested] 43+ messages in thread

* [PATCH 13/13] dmaengine: Kconfig: fix Atmel at_hdmac entry
@ 2012-04-16 10:46   ` Nicolas Ferre
  0 siblings, 0 replies; 43+ messages in thread
From: Nicolas Ferre @ 2012-04-16 10:46 UTC (permalink / raw)
  To: linux-arm-kernel

Remove SoC dependency and make it generic for every Atmel ARM AT91. That will
allow to select this driver for newer chips. Keep dependency on AT91 because of
the use of an header file located in include/mach directory.
Modify the comment to reflect this.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Vinod Koul <vinod.koul@linux.intel.com>
---
I keep this Kconfig modification in this "fixes" series. The DMA
driver will not be available for 9x5 SoC family otherwise.

 drivers/dma/Kconfig |    5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig
index cf9da36..ef378b5 100644
--- a/drivers/dma/Kconfig
+++ b/drivers/dma/Kconfig
@@ -91,11 +91,10 @@ config DW_DMAC
 
 config AT_HDMAC
 	tristate "Atmel AHB DMA support"
-	depends on ARCH_AT91SAM9RL || ARCH_AT91SAM9G45
+	depends on ARCH_AT91
 	select DMA_ENGINE
 	help
-	  Support the Atmel AHB DMA controller.  This can be integrated in
-	  chips such as the Atmel AT91SAM9RL.
+	  Support the Atmel AHB DMA controller.
 
 config FSL_DMA
 	tristate "Freescale Elo and Elo Plus DMA support"
-- 
1.7.10

^ permalink raw reply related	[flat|nested] 43+ messages in thread

* Re: [PATCH 00/12] at91: 3.4-rc3 fixes
  2012-04-16  9:20 ` Nicolas Ferre
@ 2012-04-16 15:40   ` Arnd Bergmann
  -1 siblings, 0 replies; 43+ messages in thread
From: Arnd Bergmann @ 2012-04-16 15:40 UTC (permalink / raw)
  To: Nicolas Ferre
  Cc: linux-arm-kernel, olof, plagnioj, ludovic.desroches, linux-kernel

On Monday 16 April 2012, Nicolas Ferre wrote:
> Here is another fixes series for AT91 that will go on top of 3.4-rc3.
> We experienced some issues while compiling some drivers as modules: Joachim has
> corrected several of them. We may reduce this number of exported values by
> reworking some drivers, in the future.
> Some drivers are also modified here, I would like to keep them in the series
> as the modifications are really related with our recent move to irqdomains or
> simply related with compiler annotations.

I looked at all the patches, they look good to me, but patch 9 does not
seem to be an actual bug-fix rather than a cleanup, so you might want
to put that into a different series.

	Arnd

^ permalink raw reply	[flat|nested] 43+ messages in thread

* [PATCH 00/12] at91: 3.4-rc3 fixes
@ 2012-04-16 15:40   ` Arnd Bergmann
  0 siblings, 0 replies; 43+ messages in thread
From: Arnd Bergmann @ 2012-04-16 15:40 UTC (permalink / raw)
  To: linux-arm-kernel

On Monday 16 April 2012, Nicolas Ferre wrote:
> Here is another fixes series for AT91 that will go on top of 3.4-rc3.
> We experienced some issues while compiling some drivers as modules: Joachim has
> corrected several of them. We may reduce this number of exported values by
> reworking some drivers, in the future.
> Some drivers are also modified here, I would like to keep them in the series
> as the modifications are really related with our recent move to irqdomains or
> simply related with compiler annotations.

I looked at all the patches, they look good to me, but patch 9 does not
seem to be an actual bug-fix rather than a cleanup, so you might want
to put that into a different series.

	Arnd

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [PATCH 00/12] at91: 3.4-rc3 fixes
  2012-04-16 15:40   ` Arnd Bergmann
@ 2012-04-16 15:52     ` Nicolas Ferre
  -1 siblings, 0 replies; 43+ messages in thread
From: Nicolas Ferre @ 2012-04-16 15:52 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: olof, ludovic.desroches, plagnioj, linux-kernel, linux-arm-kernel

On 04/16/2012 05:40 PM, Arnd Bergmann :
> On Monday 16 April 2012, Nicolas Ferre wrote:
>> Here is another fixes series for AT91 that will go on top of 3.4-rc3.
>> We experienced some issues while compiling some drivers as modules: Joachim has
>> corrected several of them. We may reduce this number of exported values by
>> reworking some drivers, in the future.
>> Some drivers are also modified here, I would like to keep them in the series
>> as the modifications are really related with our recent move to irqdomains or
>> simply related with compiler annotations.
> 
> I looked at all the patches, they look good to me, but patch 9 does not
> seem to be an actual bug-fix rather than a cleanup, so you might want
> to put that into a different series.

Yes, it is dead code that can go in a cleanup series for 3.5...

I can remove it and build a "pull request" tomorrow.

Thanks for this review Arnd.

Cheers,
-- 
Nicolas Ferre

^ permalink raw reply	[flat|nested] 43+ messages in thread

* [PATCH 00/12] at91: 3.4-rc3 fixes
@ 2012-04-16 15:52     ` Nicolas Ferre
  0 siblings, 0 replies; 43+ messages in thread
From: Nicolas Ferre @ 2012-04-16 15:52 UTC (permalink / raw)
  To: linux-arm-kernel

On 04/16/2012 05:40 PM, Arnd Bergmann :
> On Monday 16 April 2012, Nicolas Ferre wrote:
>> Here is another fixes series for AT91 that will go on top of 3.4-rc3.
>> We experienced some issues while compiling some drivers as modules: Joachim has
>> corrected several of them. We may reduce this number of exported values by
>> reworking some drivers, in the future.
>> Some drivers are also modified here, I would like to keep them in the series
>> as the modifications are really related with our recent move to irqdomains or
>> simply related with compiler annotations.
> 
> I looked at all the patches, they look good to me, but patch 9 does not
> seem to be an actual bug-fix rather than a cleanup, so you might want
> to put that into a different series.

Yes, it is dead code that can go in a cleanup series for 3.5...

I can remove it and build a "pull request" tomorrow.

Thanks for this review Arnd.

Cheers,
-- 
Nicolas Ferre

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [PATCH 11/12] USB: ohci-at91: change annotations for probe/remove functions
  2012-04-16  9:20   ` Nicolas Ferre
@ 2012-04-17 12:41     ` Nicolas Ferre
  -1 siblings, 0 replies; 43+ messages in thread
From: Nicolas Ferre @ 2012-04-17 12:41 UTC (permalink / raw)
  To: linux-arm-kernel, Alan Stern
  Cc: arnd, olof, plagnioj, ludovic.desroches, linux-kernel, linux-usb

On 04/16/2012 11:20 AM, Nicolas Ferre :
> Add __devinit and __devexit on *_probe() and *_remove() functions
> with proper modification of struct platform_driver.
> 
> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
> Cc: Alan Stern <stern@rowland.harvard.edu>

Alan,

Can I have your "Acked-by" for this modification? I plan to push a
"fixes" series though arm-soc git tree.

Thanks, best regards,

> Cc: linux-usb@vger.kernel.org
> ---
>  drivers/usb/host/ohci-at91.c |   12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/usb/host/ohci-at91.c b/drivers/usb/host/ohci-at91.c
> index 09f597a..13ebeca 100644
> --- a/drivers/usb/host/ohci-at91.c
> +++ b/drivers/usb/host/ohci-at91.c
> @@ -94,7 +94,7 @@ static void at91_stop_hc(struct platform_device *pdev)
>  
>  /*-------------------------------------------------------------------------*/
>  
> -static void usb_hcd_at91_remove (struct usb_hcd *, struct platform_device *);
> +static void __devexit usb_hcd_at91_remove (struct usb_hcd *, struct platform_device *);
>  
>  /* configure so an HC device and id are always provided */
>  /* always called with process context; sleeping is OK */
> @@ -108,7 +108,7 @@ static void usb_hcd_at91_remove (struct usb_hcd *, struct platform_device *);
>   * then invokes the start() method for the HCD associated with it
>   * through the hotplug entry's driver_data.
>   */
> -static int usb_hcd_at91_probe(const struct hc_driver *driver,
> +static int __devinit usb_hcd_at91_probe(const struct hc_driver *driver,
>  			struct platform_device *pdev)
>  {
>  	int retval;
> @@ -203,7 +203,7 @@ static int usb_hcd_at91_probe(const struct hc_driver *driver,
>   * context, "rmmod" or something similar.
>   *
>   */
> -static void usb_hcd_at91_remove(struct usb_hcd *hcd,
> +static void __devexit usb_hcd_at91_remove(struct usb_hcd *hcd,
>  				struct platform_device *pdev)
>  {
>  	usb_remove_hcd(hcd);
> @@ -545,7 +545,7 @@ static int __devinit ohci_at91_of_init(struct platform_device *pdev)
>  
>  /*-------------------------------------------------------------------------*/
>  
> -static int ohci_hcd_at91_drv_probe(struct platform_device *pdev)
> +static int __devinit ohci_hcd_at91_drv_probe(struct platform_device *pdev)
>  {
>  	struct at91_usbh_data	*pdata;
>  	int			i;
> @@ -620,7 +620,7 @@ static int ohci_hcd_at91_drv_probe(struct platform_device *pdev)
>  	return usb_hcd_at91_probe(&ohci_at91_hc_driver, pdev);
>  }
>  
> -static int ohci_hcd_at91_drv_remove(struct platform_device *pdev)
> +static int __devexit ohci_hcd_at91_drv_remove(struct platform_device *pdev)
>  {
>  	struct at91_usbh_data	*pdata = pdev->dev.platform_data;
>  	int			i;
> @@ -696,7 +696,7 @@ MODULE_ALIAS("platform:at91_ohci");
>  
>  static struct platform_driver ohci_hcd_at91_driver = {
>  	.probe		= ohci_hcd_at91_drv_probe,
> -	.remove		= ohci_hcd_at91_drv_remove,
> +	.remove		= __devexit_p(ohci_hcd_at91_drv_remove),
>  	.shutdown	= usb_hcd_platform_shutdown,
>  	.suspend	= ohci_hcd_at91_drv_suspend,
>  	.resume		= ohci_hcd_at91_drv_resume,


-- 
Nicolas Ferre

^ permalink raw reply	[flat|nested] 43+ messages in thread

* [PATCH 11/12] USB: ohci-at91: change annotations for probe/remove functions
@ 2012-04-17 12:41     ` Nicolas Ferre
  0 siblings, 0 replies; 43+ messages in thread
From: Nicolas Ferre @ 2012-04-17 12:41 UTC (permalink / raw)
  To: linux-arm-kernel

On 04/16/2012 11:20 AM, Nicolas Ferre :
> Add __devinit and __devexit on *_probe() and *_remove() functions
> with proper modification of struct platform_driver.
> 
> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
> Cc: Alan Stern <stern@rowland.harvard.edu>

Alan,

Can I have your "Acked-by" for this modification? I plan to push a
"fixes" series though arm-soc git tree.

Thanks, best regards,

> Cc: linux-usb at vger.kernel.org
> ---
>  drivers/usb/host/ohci-at91.c |   12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/usb/host/ohci-at91.c b/drivers/usb/host/ohci-at91.c
> index 09f597a..13ebeca 100644
> --- a/drivers/usb/host/ohci-at91.c
> +++ b/drivers/usb/host/ohci-at91.c
> @@ -94,7 +94,7 @@ static void at91_stop_hc(struct platform_device *pdev)
>  
>  /*-------------------------------------------------------------------------*/
>  
> -static void usb_hcd_at91_remove (struct usb_hcd *, struct platform_device *);
> +static void __devexit usb_hcd_at91_remove (struct usb_hcd *, struct platform_device *);
>  
>  /* configure so an HC device and id are always provided */
>  /* always called with process context; sleeping is OK */
> @@ -108,7 +108,7 @@ static void usb_hcd_at91_remove (struct usb_hcd *, struct platform_device *);
>   * then invokes the start() method for the HCD associated with it
>   * through the hotplug entry's driver_data.
>   */
> -static int usb_hcd_at91_probe(const struct hc_driver *driver,
> +static int __devinit usb_hcd_at91_probe(const struct hc_driver *driver,
>  			struct platform_device *pdev)
>  {
>  	int retval;
> @@ -203,7 +203,7 @@ static int usb_hcd_at91_probe(const struct hc_driver *driver,
>   * context, "rmmod" or something similar.
>   *
>   */
> -static void usb_hcd_at91_remove(struct usb_hcd *hcd,
> +static void __devexit usb_hcd_at91_remove(struct usb_hcd *hcd,
>  				struct platform_device *pdev)
>  {
>  	usb_remove_hcd(hcd);
> @@ -545,7 +545,7 @@ static int __devinit ohci_at91_of_init(struct platform_device *pdev)
>  
>  /*-------------------------------------------------------------------------*/
>  
> -static int ohci_hcd_at91_drv_probe(struct platform_device *pdev)
> +static int __devinit ohci_hcd_at91_drv_probe(struct platform_device *pdev)
>  {
>  	struct at91_usbh_data	*pdata;
>  	int			i;
> @@ -620,7 +620,7 @@ static int ohci_hcd_at91_drv_probe(struct platform_device *pdev)
>  	return usb_hcd_at91_probe(&ohci_at91_hc_driver, pdev);
>  }
>  
> -static int ohci_hcd_at91_drv_remove(struct platform_device *pdev)
> +static int __devexit ohci_hcd_at91_drv_remove(struct platform_device *pdev)
>  {
>  	struct at91_usbh_data	*pdata = pdev->dev.platform_data;
>  	int			i;
> @@ -696,7 +696,7 @@ MODULE_ALIAS("platform:at91_ohci");
>  
>  static struct platform_driver ohci_hcd_at91_driver = {
>  	.probe		= ohci_hcd_at91_drv_probe,
> -	.remove		= ohci_hcd_at91_drv_remove,
> +	.remove		= __devexit_p(ohci_hcd_at91_drv_remove),
>  	.shutdown	= usb_hcd_platform_shutdown,
>  	.suspend	= ohci_hcd_at91_drv_suspend,
>  	.resume		= ohci_hcd_at91_drv_resume,


-- 
Nicolas Ferre

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [PATCH 11/12] USB: ohci-at91: change annotations for probe/remove functions
  2012-04-17 12:41     ` Nicolas Ferre
@ 2012-04-17 14:24       ` Alan Stern
  -1 siblings, 0 replies; 43+ messages in thread
From: Alan Stern @ 2012-04-17 14:24 UTC (permalink / raw)
  To: Nicolas Ferre
  Cc: linux-arm-kernel, arnd, olof, plagnioj, ludovic.desroches,
	linux-kernel, linux-usb

On Tue, 17 Apr 2012, Nicolas Ferre wrote:

> On 04/16/2012 11:20 AM, Nicolas Ferre :
> > Add __devinit and __devexit on *_probe() and *_remove() functions
> > with proper modification of struct platform_driver.
> > 
> > Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
> > Cc: Alan Stern <stern@rowland.harvard.edu>
> 
> Alan,
> 
> Can I have your "Acked-by" for this modification? I plan to push a
> "fixes" series though arm-soc git tree.

Yes, you can add it.

I tend not to respond to simple changes that are independent of the USB 
functionality, like this one.

Alan Stern


^ permalink raw reply	[flat|nested] 43+ messages in thread

* [PATCH 11/12] USB: ohci-at91: change annotations for probe/remove functions
@ 2012-04-17 14:24       ` Alan Stern
  0 siblings, 0 replies; 43+ messages in thread
From: Alan Stern @ 2012-04-17 14:24 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, 17 Apr 2012, Nicolas Ferre wrote:

> On 04/16/2012 11:20 AM, Nicolas Ferre :
> > Add __devinit and __devexit on *_probe() and *_remove() functions
> > with proper modification of struct platform_driver.
> > 
> > Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
> > Cc: Alan Stern <stern@rowland.harvard.edu>
> 
> Alan,
> 
> Can I have your "Acked-by" for this modification? I plan to push a
> "fixes" series though arm-soc git tree.

Yes, you can add it.

I tend not to respond to simple changes that are independent of the USB 
functionality, like this one.

Alan Stern

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [PATCH 10/12] leds-atmel-pwm.c: Make pwmled_probe() __devinit
  2012-04-16  9:20   ` Nicolas Ferre
@ 2012-04-20 21:34     ` Andrew Morton
  -1 siblings, 0 replies; 43+ messages in thread
From: Andrew Morton @ 2012-04-20 21:34 UTC (permalink / raw)
  To: Nicolas Ferre
  Cc: linux-arm-kernel, arnd, olof, plagnioj, ludovic.desroches,
	linux-kernel, Richard Purdie

On Mon, 16 Apr 2012 11:20:54 +0200
Nicolas Ferre <nicolas.ferre@atmel.com> wrote:

> Commit 892a884 (leds: convert led platform drivers to module_platform_driver)
> is omitting the section mismatch error: so change annotation of the probe
> function to __devinit instead of __init.
> 
> ...
>
> --- a/drivers/leds/leds-atmel-pwm.c
> +++ b/drivers/leds/leds-atmel-pwm.c
> @@ -35,7 +35,7 @@ static void pwmled_brightness(struct led_classdev *cdev, enum led_brightness b)
>   * NOTE:  we reuse the platform_data structure of GPIO leds,
>   * but repurpose its "gpio" number as a PWM channel number.
>   */
> -static int __init pwmled_probe(struct platform_device *pdev)
> +static int __devinit pwmled_probe(struct platform_device *pdev)
>  {
>  	const struct gpio_led_platform_data	*pdata;
>  	struct pwmled				*leds;

This is theoretically oopsable and the patch is probably needed in 3.4
and 3.3.x.

But you've applied it to linu-next via your own tree so I won't be
merging it.

^ permalink raw reply	[flat|nested] 43+ messages in thread

* [PATCH 10/12] leds-atmel-pwm.c: Make pwmled_probe() __devinit
@ 2012-04-20 21:34     ` Andrew Morton
  0 siblings, 0 replies; 43+ messages in thread
From: Andrew Morton @ 2012-04-20 21:34 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, 16 Apr 2012 11:20:54 +0200
Nicolas Ferre <nicolas.ferre@atmel.com> wrote:

> Commit 892a884 (leds: convert led platform drivers to module_platform_driver)
> is omitting the section mismatch error: so change annotation of the probe
> function to __devinit instead of __init.
> 
> ...
>
> --- a/drivers/leds/leds-atmel-pwm.c
> +++ b/drivers/leds/leds-atmel-pwm.c
> @@ -35,7 +35,7 @@ static void pwmled_brightness(struct led_classdev *cdev, enum led_brightness b)
>   * NOTE:  we reuse the platform_data structure of GPIO leds,
>   * but repurpose its "gpio" number as a PWM channel number.
>   */
> -static int __init pwmled_probe(struct platform_device *pdev)
> +static int __devinit pwmled_probe(struct platform_device *pdev)
>  {
>  	const struct gpio_led_platform_data	*pdata;
>  	struct pwmled				*leds;

This is theoretically oopsable and the patch is probably needed in 3.4
and 3.3.x.

But you've applied it to linu-next via your own tree so I won't be
merging it.

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [PATCH 10/12] leds-atmel-pwm.c: Make pwmled_probe() __devinit
  2012-04-20 21:34     ` Andrew Morton
@ 2012-04-23  8:21       ` Nicolas Ferre
  -1 siblings, 0 replies; 43+ messages in thread
From: Nicolas Ferre @ 2012-04-23  8:21 UTC (permalink / raw)
  To: Andrew Morton
  Cc: linux-arm-kernel, arnd, olof, plagnioj, ludovic.desroches,
	linux-kernel, Richard Purdie

On 04/20/2012 11:34 PM, Andrew Morton :
> On Mon, 16 Apr 2012 11:20:54 +0200
> Nicolas Ferre <nicolas.ferre@atmel.com> wrote:
> 
>> Commit 892a884 (leds: convert led platform drivers to module_platform_driver)
>> is omitting the section mismatch error: so change annotation of the probe
>> function to __devinit instead of __init.
>>
>> ...
>>
>> --- a/drivers/leds/leds-atmel-pwm.c
>> +++ b/drivers/leds/leds-atmel-pwm.c
>> @@ -35,7 +35,7 @@ static void pwmled_brightness(struct led_classdev *cdev, enum led_brightness b)
>>   * NOTE:  we reuse the platform_data structure of GPIO leds,
>>   * but repurpose its "gpio" number as a PWM channel number.
>>   */
>> -static int __init pwmled_probe(struct platform_device *pdev)
>> +static int __devinit pwmled_probe(struct platform_device *pdev)
>>  {
>>  	const struct gpio_led_platform_data	*pdata;
>>  	struct pwmled				*leds;
> 
> This is theoretically oopsable and the patch is probably needed in 3.4
> and 3.3.x.

Absolutely, I will request it to be included in stable tree then.

> But you've applied it to linu-next via your own tree so I won't be
> merging it.

Ok, thanks for having taken this patch into account Andrew.

Best regards,
-- 
Nicolas Ferre

^ permalink raw reply	[flat|nested] 43+ messages in thread

* [PATCH 10/12] leds-atmel-pwm.c: Make pwmled_probe() __devinit
@ 2012-04-23  8:21       ` Nicolas Ferre
  0 siblings, 0 replies; 43+ messages in thread
From: Nicolas Ferre @ 2012-04-23  8:21 UTC (permalink / raw)
  To: linux-arm-kernel

On 04/20/2012 11:34 PM, Andrew Morton :
> On Mon, 16 Apr 2012 11:20:54 +0200
> Nicolas Ferre <nicolas.ferre@atmel.com> wrote:
> 
>> Commit 892a884 (leds: convert led platform drivers to module_platform_driver)
>> is omitting the section mismatch error: so change annotation of the probe
>> function to __devinit instead of __init.
>>
>> ...
>>
>> --- a/drivers/leds/leds-atmel-pwm.c
>> +++ b/drivers/leds/leds-atmel-pwm.c
>> @@ -35,7 +35,7 @@ static void pwmled_brightness(struct led_classdev *cdev, enum led_brightness b)
>>   * NOTE:  we reuse the platform_data structure of GPIO leds,
>>   * but repurpose its "gpio" number as a PWM channel number.
>>   */
>> -static int __init pwmled_probe(struct platform_device *pdev)
>> +static int __devinit pwmled_probe(struct platform_device *pdev)
>>  {
>>  	const struct gpio_led_platform_data	*pdata;
>>  	struct pwmled				*leds;
> 
> This is theoretically oopsable and the patch is probably needed in 3.4
> and 3.3.x.

Absolutely, I will request it to be included in stable tree then.

> But you've applied it to linu-next via your own tree so I won't be
> merging it.

Ok, thanks for having taken this patch into account Andrew.

Best regards,
-- 
Nicolas Ferre

^ permalink raw reply	[flat|nested] 43+ messages in thread

end of thread, other threads:[~2012-04-23  8:27 UTC | newest]

Thread overview: 43+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-04-16  9:20 [PATCH 00/12] at91: 3.4-rc3 fixes Nicolas Ferre
2012-04-16  9:20 ` Nicolas Ferre
2012-04-16  9:20 ` [PATCH 01/12] ARM: at91: Export at91_st_base Nicolas Ferre
2012-04-16  9:20   ` Nicolas Ferre
2012-04-16  9:20 ` [PATCH 02/12] ARM: at91: Export at91_ramc_base Nicolas Ferre
2012-04-16  9:20   ` Nicolas Ferre
2012-04-16  9:20 ` [PATCH 03/12] ARM: at91: Export at91_pmc_base Nicolas Ferre
2012-04-16  9:20   ` Nicolas Ferre
2012-04-16  9:20 ` [PATCH 04/12] ARM: at91: Export at91_matrix_base Nicolas Ferre
2012-04-16  9:20   ` Nicolas Ferre
2012-04-16  9:20 ` [PATCH 05/12] ARM: at91: fix typo in at91_pmc_base assembly declaration Nicolas Ferre
2012-04-16  9:20   ` Nicolas Ferre
2012-04-16  9:20 ` [PATCH 06/12] ARM: at91: remove empty at91_init_serial function Nicolas Ferre
2012-04-16  9:20   ` Nicolas Ferre
2012-04-16  9:20 ` [PATCH 07/12] ARM: at91: fix rm9200ek flash size Nicolas Ferre
2012-04-16  9:20   ` Nicolas Ferre
2012-04-16  9:20 ` [PATCH 08/12] ARM: at91: fix at91sam9261ek Ethernet dm9000 irq Nicolas Ferre
2012-04-16  9:20   ` Nicolas Ferre
2012-04-16  9:20 ` [PATCH 09/12] ARM: at91/atmel-mci: remove unused setup_dma_addr() macro Nicolas Ferre
2012-04-16  9:20   ` Nicolas Ferre
2012-04-16  9:20   ` Nicolas Ferre
2012-04-16  9:20 ` [PATCH 10/12] leds-atmel-pwm.c: Make pwmled_probe() __devinit Nicolas Ferre
2012-04-16  9:20   ` Nicolas Ferre
2012-04-20 21:34   ` Andrew Morton
2012-04-20 21:34     ` Andrew Morton
2012-04-23  8:21     ` Nicolas Ferre
2012-04-23  8:21       ` Nicolas Ferre
2012-04-16  9:20 ` [PATCH 11/12] USB: ohci-at91: change annotations for probe/remove functions Nicolas Ferre
2012-04-16  9:20   ` Nicolas Ferre
2012-04-17 12:41   ` Nicolas Ferre
2012-04-17 12:41     ` Nicolas Ferre
2012-04-17 14:24     ` Alan Stern
2012-04-17 14:24       ` Alan Stern
2012-04-16  9:20 ` [PATCH 12/12] USB: gadget/at91_udc: add gpio_to_irq() function to vbus interrupt Nicolas Ferre
2012-04-16  9:20   ` Nicolas Ferre
2012-04-16  9:22   ` Felipe Balbi
2012-04-16  9:22     ` Felipe Balbi
2012-04-16 10:46 ` [PATCH 13/13] dmaengine: Kconfig: fix Atmel at_hdmac entry Nicolas Ferre
2012-04-16 10:46   ` Nicolas Ferre
2012-04-16 15:40 ` [PATCH 00/12] at91: 3.4-rc3 fixes Arnd Bergmann
2012-04-16 15:40   ` Arnd Bergmann
2012-04-16 15:52   ` Nicolas Ferre
2012-04-16 15:52     ` Nicolas Ferre

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.