2018-09-21 15:27 +0200, Oliver Neukum :
>
> On Do, 2018-09-20 at 16:49 +0200, Romain Izard wrote:
> > When the ACM TTY port is disconnected, the URBs it uses must be killed,
> > and then the buffers must be freed. Unfortunately a previous refactor
> > removed the code fre
2018-09-21 10:08 GMT+02:00 Oliver Neukum :
> On Mi, 2018-09-19 at 16:11 +0200, Romain Izard wrote:
>> While trying to debug a memory leak problem, I encountered the following
>> problem:
>>
>> After plugging/unplugging an USB CDC-ACM device, kmemleak reports multiple
/unplug cycle of a
CDC-ACM device, that were detected by kmemleak.
Restore the missing code, and the memory leak is removed.
Fixes: ba8c931ded8d ("cdc-acm: refactor killing urbs")
Signed-off-by: Romain Izard
---
drivers/usb/class/cdc-acm.c | 6 ++
1 file changed, 6 insertions(+)
2018-09-19 22:32 GMT+02:00 Greg KH :
> On Wed, Sep 19, 2018 at 04:11:55PM +0200, Romain Izard wrote:
>> While trying to debug a memory leak problem, I encountered the following
>> problem:
>>
>> After plugging/unplugging an USB CDC-ACM device, kmemleak reports multiple
;] hub_event+0xa20/0x1154
For each additional plug/unplug cycle, around 30 such new leaks are created.
Tested on a SAMA5D2 Xplained demo board, with a v4.18.8 kernel.
The CDC-ACM device was another SAMA5D2 device, with a composite profile
including a CDC-ACM port implemented with configfs.
--
Romain Izard
the support of platform_data to declare USBA
controllers.
These changes have not been tested on any hardware, as I do not have
a board that needs to use inverted GPIOs.
--
Changes in v2:
- Use the correct format for the "Fixes:" tag
- Collect "Acked-by:" tags
Romain Izar
The include defines the private platform_data structure used with AVR
platforms. It has no user since 7c55984e191f. Remove it.
Acked-by: Ludovic Desroches
Acked-by: Nicolas Ferre
Signed-off-by: Romain Izard
---
drivers/usb/gadget/udc/atmel_usba_udc.c | 1 -
include/linux/usb/atmel_usba_udc.h
re
Signed-off-by: Romain Izard
---
drivers/usb/gadget/udc/atmel_usba_udc.c | 3 +--
drivers/usb/gadget/udc/atmel_usba_udc.h | 1 -
2 files changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/usb/gadget/udc/atmel_usba_udc.c
b/drivers/usb/gadget/udc/atmel_usba_udc.c
index 27c16399c7e8..0f
Fix the fallout of the conversion to GPIO descriptors in 3df034081021.
Acked-by: Ludovic Desroches
Acked-by: Nicolas Ferre
Signed-off-by: Romain Izard
---
drivers/usb/gadget/udc/atmel_usba_udc.c | 18 +-
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/drivers/usb
When converting to GPIO descriptors, gpiod_get_value automatically
handles the line inversion flags from the device tree.
Do not invert the line twice.
Fixes: 3df034081021fa4b6967ce3364bc7d867ec1c870
Signed-off-by: Romain Izard
---
drivers/usb/gadget/udc/atmel_usba_udc.c | 3 +--
drivers/usb
Fix the fallout of the conversion to GPIO descriptors in 3df034081021.
Signed-off-by: Romain Izard
---
drivers/usb/gadget/udc/atmel_usba_udc.c | 18 +-
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/drivers/usb/gadget/udc/atmel_usba_udc.c
b/drivers/usb/gadget/udc
The include defines the private platform_data structure used with AVR
platforms. It has no user since 7c55984e191f. Remove it.
Signed-off-by: Romain Izard
---
drivers/usb/gadget/udc/atmel_usba_udc.c | 1 -
include/linux/usb/atmel_usba_udc.h | 24
2 files changed
the support of platform_data to declare USBA
controllers.
These changes have not been tested on any hardware, as I do not have
a board that needs to use inverted GPIOs.
Romain Izard (3):
usb: gadget: udc: atmel: GPIO inversion is handled by gpiod
usb: gadget: udc: atmel: Remove obsolete
drop it immediately.
To prevent this problem, the URBs whose data did not reach the flip buffer
are placed in a waiting list, which is only processed when the serial port
is unthrottled.
Signed-off-by: Romain Izard
--
This is working when using the normal line discipline on ttyACM. But
there is a
2017-12-11 17:14 GMT+01:00 Bart Van Assche :
> On Mon, 2017-12-11 at 12:24 +0100, Romain Izard wrote:
>> As it reached Linus' tree with v4.15-rc3, I recently noticed the
>> following commit that triggered a Kconfig request. I believe that this
>> change does not make se
clocks will be impacted.
Fix the obvious typo in the suspend/resume code, as the IMR register
does not need to be saved twice.
Signed-off-by: Romain Izard
Acked-by: Nicolas Ferre
---
drivers/clk/at91/pmc.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/clk/at91
From: Romain Izard
When an AT91 programmable clock is declared in the device tree, register
it into the Power Management Controller driver. On entering suspend mode,
the driver saves and restores the Programmable Clock registers to support
the backup mode for these clocks.
Signed-off-by: Romain
Wait for the syncronization of all clocks when resuming, not only the
UPLL clock. Do not use regmap_read_poll_timeout, as it will call BUG()
when interrupts are masked, which is the case in here.
Signed-off-by: Romain Izard
Acked-by: Ludovic Desroches
Acked-by: Nicolas Ferre
---
drivers/clk
rt_suspend_port disappears, and suspending is 20ms shorter
for each enabled Atmel serial port.
Signed-off-by: Romain Izard
Tested-by: Nicolas Ferre
Acked-by: Nicolas Ferre
Acked-by: Richard Genoud
---
drivers/tty/serial/atmel_serial.c | 13 +
1 file changed, 13 insertions(+)
diff --gi
The controller used by a flexcom module is configured at boot, and left
alone after this. As the configuration will be lost after backup mode,
restore the state of the flexcom driver on resume.
Signed-off-by: Romain Izard
Acked-by: Nicolas Ferre
Tested-by: Nicolas Ferre
---
drivers/mfd/atmel
When an Atmel SoC is suspended with the backup mode, the USB bus will be
powered down. As this is expected, do not return an error to the driver
core when ehci_resume detects it.
Signed-off-by: Romain Izard
Acked-by: Nicolas Ferre
---
drivers/usb/host/ehci-atmel.c | 3 ++-
1 file changed, 2
ff-by: Romain Izard
---
Changes in v3:
* keep the PMECC disabled when not in use, and use atmel_pmecc_resume to
reset the controller after the bootloader has left it enabled.
Changes in v4:
* export atmel_pmecc_reset instead of atmel_pmecc_resume
* use the correct pointer in atmel_nand_controller_r
Save and restore registers for the PWM on suspend and resume, which
makes hibernation and backup modes possible.
Signed-off-by: Romain Izard
Acked-by: Nicolas Ferre
---
drivers/pwm/pwm-atmel-tcb.c | 63 +++--
1 file changed, 61 insertions(+), 2 deletions
variable in the tty/serial patch
Changes in v3:
* drop dev_printk changes for PMECC
* rework the resume code for PMECC
* improve comments on PMC clock handling
Changes in v4:
* fix a bug in the PMECC resume code
Romain Izard (8):
clk: at91: pmc: Wait for clocks when resuming
clk: at91: pmc
2017-09-27 17:08 GMT+02:00 Boris Brezillon :
> On Wed, 27 Sep 2017 10:35:51 +0200
> Romain Izard wrote:
>
>> During backup mode, the contents of all registers will be cleared as the
>> SoC will be completely powered down. For a product that boots on NAND
>> Flash
From: Romain Izard
When an AT91 programmable clock is declared in the device tree, register
it into the Power Management Controller driver. On entering suspend mode,
the driver saves and restores the Programmable Clock registers to support
the backup mode for these clocks.
Signed-off-by: Romain
clocks will be impacted.
Fix the obvious typo in the suspend/resume code, as the IMR register
does not need to be saved twice.
Signed-off-by: Romain Izard
Acked-by: Nicolas Ferre
---
drivers/clk/at91/pmc.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/clk/at91
variable in the tty/serial patch
Changes in v3:
* drop dev_printk changes for PMECC
* rework the resume code for PMECC
* improve comments on PMC clock handling
Romain Izard (8):
clk: at91: pmc: Wait for clocks when resuming
clk: at91: pmc: Save SCSR during suspend
clk: at91: pmc: Support
When an Atmel SoC is suspended with the backup mode, the USB bus will be
powered down. As this is expected, do not return an error to the driver
core when ehci_resume detects it.
Signed-off-by: Romain Izard
Acked-by: Nicolas Ferre
---
drivers/usb/host/ehci-atmel.c | 3 ++-
1 file changed, 2
ff-by: Romain Izard
---
Change in v3:
* keep the PMECC disabled when not in use, and use atmel_pmecc_resume to
reset the controller after the bootloader has left it enabled.
drivers/mtd/nand/atmel/nand-controller.c | 3 +++
drivers/mtd/nand/atmel/pmecc.c | 22 ++
dr
Wait for the syncronization of all clocks when resuming, not only the
UPLL clock. Do not use regmap_read_poll_timeout, as it will call BUG()
when interrupts are masked, which is the case in here.
Signed-off-by: Romain Izard
Acked-by: Ludovic Desroches
Acked-by: Nicolas Ferre
---
drivers/clk
Save and restore registers for the PWM on suspend and resume, which
makes hibernation and backup modes possible.
Signed-off-by: Romain Izard
Acked-by: Nicolas Ferre
---
drivers/pwm/pwm-atmel-tcb.c | 63 +++--
1 file changed, 61 insertions(+), 2 deletions
The controller used by a flexcom module is configured at boot, and left
alone after this. As the configuration will be lost after backup mode,
restore the state of the flexcom driver on resume.
Signed-off-by: Romain Izard
Acked-by: Nicolas Ferre
Tested-by: Nicolas Ferre
---
drivers/mfd/atmel
rt_suspend_port disappears, and suspending is 20ms shorter
for each enabled Atmel serial port.
Signed-off-by: Romain Izard
Tested-by: Nicolas Ferre
Acked-by: Nicolas Ferre
Acked-by: Richard Genoud
---
drivers/tty/serial/atmel_serial.c | 13 +
1 file changed, 13 insertions(+)
diff --gi
2017-09-22 12:31 GMT+02:00 Nicolas Ferre :
> On 15/09/2017 at 16:04, Romain Izard wrote:
>> From: Romain Izard
>>
>> When an AT91 programmable clock is declared in the device tree, register
>> it into the Power Management Controller driver. On entering suspend mo
2017-09-18 12:00 GMT+02:00 Boris Brezillon :
> Hi Romain,
>
> On Fri, 15 Sep 2017 16:04:07 +0200
> Romain Izard wrote:
>
>> It is not normal for the PMECC to fail when trying to fix ECC errors.
>> Report these cases as errors.
>
> I'm not sure we want to have
2017-09-19 17:25 GMT+02:00 Lee Jones :
> On Tue, 19 Sep 2017, Nicolas Ferre wrote:
>
>> On 15/09/2017 at 16:04, Romain Izard wrote:
>> > The controller used by a flexcom module is configured at boot, and left
>> > alone after this. As the configuration will be lost a
clocks will be impacted.
Fix the obvious typo in the suspend/resume code, as the IMR register
does not need to be saved twice.
Signed-off-by: Romain Izard
Acked-by: Nicolas Ferre
---
drivers/clk/at91/pmc.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/clk/at91
Wait for the syncronization of all clocks when resuming, not only the
UPLL clock. Do not use regmap_read_poll_timeout, as it will call BUG()
when interrupts are masked, which is the case in here.
Signed-off-by: Romain Izard
---
drivers/clk/at91/pmc.c | 24
1 file
It is not normal for the PMECC to fail when trying to fix ECC errors.
Report these cases as errors.
Signed-off-by: Romain Izard
---
drivers/mtd/nand/atmel/pmecc.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/mtd/nand/atmel/pmecc.c b/drivers/mtd/nand/atmel
ematically reset the PMECC controller before using
it.
Signed-off-by: Romain Izard
---
drivers/mtd/nand/atmel/pmecc.c | 11 +++
1 file changed, 3 insertions(+), 8 deletions(-)
diff --git a/drivers/mtd/nand/atmel/pmecc.c b/drivers/mtd/nand/atmel/pmecc.c
index 8c210a5776bc..8d1208f38025 10
When an Atmel SoC is suspended with the backup mode, the USB bus will be
powered down. As this is expected, do not return an error to the driver
core when ehci_resume detects it.
Signed-off-by: Romain Izard
---
drivers/usb/host/ehci-atmel.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion
From: Romain Izard
When an AT91 programmable clock is declared in the device tree, register
it into the Power Management Controller driver. On entering suspend mode,
the driver saves and restores the Programmable Clock registers to support
the backup mode for these clocks.
Signed-off-by: Romain
The controller used by a flexcom module is configured at boot, and left
alone after this. As the configuration will be lost after backup mode,
restore the state of the flexcom driver on resume.
Signed-off-by: Romain Izard
---
drivers/mfd/atmel-flexcom.c | 65
Save and restore registers for the PWM on suspend and resume, which
makes hibernation and backup modes possible.
Signed-off-by: Romain Izard
---
drivers/pwm/pwm-atmel-tcb.c | 63 +++--
1 file changed, 61 insertions(+), 2 deletions(-)
diff --git a/drivers
rt_suspend_port disappears, and suspending is 20ms shorter
for each enabled Atmel serial port.
Signed-off-by: Romain Izard
---
drivers/tty/serial/atmel_serial.c | 14 ++
1 file changed, 14 insertions(+)
diff --git a/drivers/tty/serial/atmel_serial.c
b/drivers/tty/serial/atmel_serial.c
ind
a
week without hanging.
Changes in v2:
* drop the IIO patch duplicating existing code
* determine the number of programmable clocks to save dynamically
* declare a required local variable in the tty/serial patch
Romain Izard (9):
clk: at91: pmc: Wait for clocks when resuming
clk: at91: pmc
2017-09-13 14:15 GMT+02:00 Nicolas Ferre :
> On 08/09/2017 at 17:35, Romain Izard wrote:
>> Wait for the syncronization of all clocks when resuming, not only the
>> UPLL clock. Do not use regmap_read_poll_timeout, as it will call BUG()
>> when interrupts are masked, whic
2017-09-13 19:03 GMT+02:00 Alexandre Belloni
:
> On 13/09/2017 at 14:29:35 +0200, Nicolas Ferre wrote:
>> On 08/09/2017 at 17:35, Romain Izard wrote:
>> > From: Romain Izard
>> >
>> > Save and restore the System Clock and Programmable Clock register for
>
2017-09-08 17:36 GMT+02:00 Romain Izard :
> The atmel serial port driver reported the following warning on suspend:
> atmel_usart f802.serial: ttyS1: Unable to drain transmitter
>
> As the ATMEL_US_TXEMPTY status bit in ATMEL_US_CSR is always cleared
> when the transmitter is di
2017-09-08 18:03 GMT+02:00 Nicolas Ferre :
> On 08/09/2017 at 17:36, Romain Izard wrote:
>> Support the backup mode for platform suspend, by restoring the hardware
>> registers on resume.
>>
>> Signed-off-by: Romain Izard
>
> Romain,
>
> Thanks for your se
clocks will be impacted.
Fix the obvious typo in the suspend/resume code, as the IMR register
does not need to be saved twice.
Signed-off-by: Romain Izard
---
drivers/clk/at91/pmc.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/clk/at91/pmc.c b/drivers/clk/at91
a
week without hanging.
Romain Izard (10):
clk: at91: pmc: Wait for clocks when resuming
clk: at91: pmc: Save SCSR during suspend
clk: at91: pmc: Support backup for programmable clocks
mtd: nand: atmel: Avoid ECC errors when leaving backup mode
mtd: nand: atmel: Report PMECC failures as
From: Romain Izard
Save and restore the System Clock and Programmable Clock register for
the backup use case.
Signed-off-by: Romain Izard
---
drivers/clk/at91/pmc.c | 5 +
1 file changed, 5 insertions(+)
diff --git a/drivers/clk/at91/pmc.c b/drivers/clk/at91/pmc.c
index 07dc2861ad3f
It is not normal for the PMECC to fail when trying to fix ECC errors.
Report these cases as errors.
Signed-off-by: Romain Izard
---
drivers/mtd/nand/atmel/pmecc.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/mtd/nand/atmel/pmecc.c b/drivers/mtd/nand/atmel
When an Atmel SoC is suspended with the backup mode, the USB bus will be
powered down. As this is expected, do not return an error to the driver
core when ehci_resume detects it.
Signed-off-by: Romain Izard
---
drivers/usb/host/ehci-atmel.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion
ematically reset the PMECC controller before using
it.
Signed-off-by: Romain Izard
---
drivers/mtd/nand/atmel/pmecc.c | 11 +++
1 file changed, 3 insertions(+), 8 deletions(-)
diff --git a/drivers/mtd/nand/atmel/pmecc.c b/drivers/mtd/nand/atmel/pmecc.c
index 8c210a5776bc..8d1208f38025 10
rt_suspend_port disappears, and suspending is 20ms shorter
for each enabled Atmel serial port.
Signed-off-by: Romain Izard
---
drivers/tty/serial/atmel_serial.c | 13 +
1 file changed, 13 insertions(+)
diff --git a/drivers/tty/serial/atmel_serial.c
b/drivers/tty/serial/atmel_serial.c
ind
Support the backup mode for platform suspend, by restoring the hardware
registers on resume.
Signed-off-by: Romain Izard
---
drivers/iio/adc/at91-sama5d2_adc.c | 71 --
1 file changed, 61 insertions(+), 10 deletions(-)
diff --git a/drivers/iio/adc/at91
The controller used by a flexcom module is configured at boot, and left
alone after this. As the configuration will be lost after backup mode,
restore the state of the flexcom driver on resume.
Signed-off-by: Romain Izard
---
drivers/mfd/atmel-flexcom.c | 65
Save and restore registers for the PWM on suspend and resume, which
makes hibernation and backup modes possible.
Signed-off-by: Romain Izard
---
drivers/pwm/pwm-atmel-tcb.c | 63 +++--
1 file changed, 61 insertions(+), 2 deletions(-)
diff --git a/drivers
Wait for the syncronization of all clocks when resuming, not only the
UPLL clock. Do not use regmap_read_poll_timeout, as it will call BUG()
when interrupts are masked, which is the case in here.
Signed-off-by: Romain Izard
---
drivers/clk/at91/pmc.c | 24
1 file
2017-03-09 18:02 GMT+01:00 Romain Izard :
> The local variable ept_cfg is not used anymore in usba_ep_enable.
> Use ep->ept_cfg in the debug function to remove a warning when building
> with dynamic debug enabled.
>
> Signed-off-by: Romain Izard
> Fixes: 741d2558bf0a (&qu
not the only
way to provice service as an USB gadget.
Signed-off-by: Romain Izard
---
Changes in v3:
- split from the functional patch
drivers/usb/gadget/Kconfig | 10 --
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfi
Fix some issues left when the configuration was updated to support
a built-in USB gadget configfs together with modular legacy gadget
drivers.
Changes in v2:
- Reword description
Changes in v3:
- Split functional and comment changes
Romain Izard (2):
usb: gadget: legacy gadgets are optional
gacy gadgets")
Cc: # 4.9+
Signed-off-by: Romain Izard
---
Changes in v2:
- Reword description
Changes in v3:
- Remove comment changes
drivers/usb/gadget/Kconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig
index 8ad203296
Hello Felipe,
2017-03-10 10:15 GMT+01:00 Felipe Balbi :
>
> Hi,
>
> Romain Izard writes:
>> With commit "usb: gadget: don't couple configfs to legacy gadgets"
>> it is possible to build a modular kernel with both built-in configfs
>> support and
The local variable ept_cfg is not used anymore in usba_ep_enable.
Use ep->ept_cfg in the debug function to remove a warning when building
with dynamic debug enabled.
Signed-off-by: Romain Izard
Fixes: 741d2558bf0a ("usb: gadget: udc: atmel: Update endpoint allocation
scheme")
---
but without any legacy gadget driver.
Mark the choice for legacy gadget drivers as optional.
Fixes: bc49d1d17dcf ("usb: gadget: don't couple configfs to legacy gadgets")
Cc: # 4.9+
Signed-off-by: Romain Izard
---
changes in v2:
- Reword description
drivers/usb/gadget/Kconfig | 11
RM: at91/dt: sama5d2: Use new compatible for ohci node")
Signed-off-by: Romain Izard
cc:
---
arch/arm/boot/dts/sama5d2.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/sama5d2.dtsi b/arch/arm/boot/dts/sama5d2.dtsi
index ceb9783ff7e1..ff7eae833a6d
When building without modules, it makes sense to configure the kernel to
only use configfs for USB Gadget drivers.
Mark the choice for legacy gadget drivers as optional.
Signed-off-by: Romain Izard
cc: # 4.9
---
drivers/usb/gadget/Kconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a
2016-08-29 11:07 GMT+02:00 Romain Izard :
> Disabling USB gadget functions configured through configfs is something
> that can happen in normal use cases. Keep the existing log for this type
> of event, but only as debug, not as an error.
>
> Signed-off-by: Romain Izard
> ---
&
Disabling USB gadget functions configured through configfs is something
that can happen in normal use cases. Keep the existing log for this type
of event, but only as debug, not as an error.
Signed-off-by: Romain Izard
---
v1 -> v2:
- use dev_dbg instead of dev_info
drivers/usb/gad
2016-08-29 10:13 GMT+02:00 Felipe Balbi :
>
> Hi,
>
> Romain Izard writes:
>> Disabling USB gadget functions configured through configfs is something
>> that can happen in normal use cases. Keep the existing log for this type
>> of event, but only as information, not
2016-07-26 18:21 GMT+02:00 Romain Izard :
> Disabling USB gadget functions configured through configfs is something
> that can happen in normal use cases. Keep the existing log for this type
> of event, but only as information, not as an error.
>
> Signed-off-by: Romain Izard
>
Disabling USB gadget functions configured through configfs is something
that can happen in normal use cases. Keep the existing log for this type
of event, but only as information, not as an error.
Signed-off-by: Romain Izard
---
drivers/usb/gadget/configfs.c | 5 +++--
1 file changed, 3
76 matches
Mail list logo