freebsd-dev/sys/arm/at91
Hans Petter Selasky d3bf5efc1f Fix device delete child function.
When detaching device trees parent devices must be detached prior to
detaching its children. This is because parent devices can have
pointers to the child devices in their softcs which are not
invalidated by device_delete_child(). This can cause use after free
issues and panic().

Device drivers implementing trees, must ensure its detach function
detaches or deletes all its children before returning.

While at it remove now redundant device_detach() calls before
device_delete_child() and device_delete_children(), mostly in
the USB controller drivers.

Tested by:		Jan Henrik Sylvester <me@janh.de>
Reviewed by:		jhb
Differential Revision:	https://reviews.freebsd.org/D8070
MFC after:		2 weeks
2016-10-17 10:20:38 +00:00
..
at91_aic.c ARM: Remove unused includes. 2016-10-09 10:25:47 +00:00
at91_aicreg.h
at91_cfata.c ARM: Remove unused includes. 2016-10-09 10:25:47 +00:00
at91_common.c Restrict where we need to define fdt_fixup_table to just PowerPC and 2016-09-23 14:11:23 +00:00
at91_gpio.h Provide a simplified way to specify GPIO pins for the Atmel port. 2014-01-15 19:49:12 +00:00
at91_machdep.c Use the new(-ish) CP15_SCTLR macro to generate system control reg accesses 2016-05-23 20:07:17 +00:00
at91_mci.c ARM: Remove unused includes. 2016-10-09 10:25:47 +00:00
at91_mcireg.h Print the symbolic bit names for the status when we get a timeout. 2014-08-14 23:17:33 +00:00
at91_ohci_fdt.c Fix device delete child function. 2016-10-17 10:20:38 +00:00
at91_ohci.c Fix device delete child function. 2016-10-17 10:20:38 +00:00
at91_pdcreg.h
at91_pinctrl.c Use OF_prop_free instead of direct call to free(9) 2016-05-13 22:05:16 +00:00
at91_pio_sam9g20.h
at91_pio_sam9g45.h
at91_pio.c arm: for pointers replace 0 with NULL. 2016-04-15 14:30:40 +00:00
at91_pioreg.h Add definitions for the additional PIO pins found on recent AT91 SoCs. 2013-12-02 02:33:03 +00:00
at91_piovar.h Implement the FDT static pinctl/pinmux spec for Atmel. This will 2014-08-15 16:08:52 +00:00
at91_pit.c ARM: Remove unused includes. 2016-10-09 10:25:47 +00:00
at91_pitreg.h
at91_pmc.c ARM: Remove unused includes. 2016-10-09 10:25:47 +00:00
at91_pmcreg.h
at91_pmcvar.h
at91_reset.S sys/arm: Minor spelling fixes. 2016-05-04 15:48:59 +00:00
at91_rst.c Add FDT attachment. Flag lost functionality with FDT_HACKS so we can 2014-02-09 20:59:46 +00:00
at91_rstreg.h
at91_rtc.c arm: for pointers replace 0 with NULL. 2016-04-15 14:30:40 +00:00
at91_rtcreg.h
at91_sdramc.c Add device node for SDRAMC device. Currently just claims device's 2014-02-28 02:59:51 +00:00
at91_shdwc.c shdwc device for fdt 2014-02-28 03:00:25 +00:00
at91_smc.c Add standard memory controller helper functions. 2014-01-19 17:45:13 +00:00
at91_smc.h Add standard memory controller helper functions. 2014-01-19 17:45:13 +00:00
at91_spi.c Honor the disabled status by only grabbing resources and returning 2014-02-13 16:50:08 +00:00
at91_spireg.h
at91_ssc.c arm: for pointers replace 0 with NULL. 2016-04-15 14:30:40 +00:00
at91_sscreg.h
at91_st.c ARM: Remove unused includes. 2016-10-09 10:25:47 +00:00
at91_streg.h
at91_tcb.c tcb device for fdt 2014-02-28 03:00:28 +00:00
at91_twi.c arm: for pointers replace 0 with NULL. 2016-04-15 14:30:40 +00:00
at91_twiio.h
at91_twireg.h
at91_usartreg.h
at91_wdt.c FDT attachment... 2014-02-09 21:01:53 +00:00
at91_wdtreg.h
at91.c Move arm's devmap to some generic place, so it can be used 2016-04-26 11:53:37 +00:00
at91board.h
at91reg.h sys/arm: Minor spelling fixes. 2016-05-04 15:48:59 +00:00
at91rm92reg.h Fix typos. 2014-09-26 09:07:02 +00:00
at91rm9200_devices.c
at91rm9200.c Remove a bogus AIC. 2014-09-27 02:15:45 +00:00
at91rm9200var.h
at91sam9g20.c Move AIC related stuff to own file. 2014-03-08 06:06:50 +00:00
at91sam9g20reg.h Fix typos. 2014-09-26 09:07:02 +00:00
at91sam9g45.c Add data so we can convert a PIO unit number into a base address. 2014-01-15 19:53:36 +00:00
at91sam9g45reg.h Fix the definitioin of AT91SAM9G45_IRQ_PIOE and rename it to 2014-09-27 14:39:00 +00:00
at91sam9x5.c Move AIC related stuff to own file. 2014-03-08 06:06:50 +00:00
at91sam9x5reg.h Fix typos. 2014-09-26 09:07:02 +00:00
at91sam9260.c sys/arm: Minor spelling fixes. 2016-05-04 15:48:59 +00:00
at91sam9260reg.h Fix the size of AT91SAM9260_PIT_SIZE. 2014-09-26 09:08:09 +00:00
at91soc.c
at91soc.h
at91var.h Make at91_soc_id() public. 2014-03-08 05:03:56 +00:00
board_bwct.c
board_eb9200.c Fix board ID too... 2014-02-13 15:47:41 +00:00
board_ethernut5.c
board_hl200.c
board_hl201.c Connect NAND for the SAM9260EK eval board, as well as the HotE HL-201. 2014-01-19 17:59:34 +00:00
board_kb920x.c
board_qila9g20.c
board_sam9g20ek.c
board_sam9x25ek.c
board_sam9260ek.c Fix gcc with -Wstrict-prototypes by telling it bi_emac takes no parameters. 2014-01-25 19:36:27 +00:00
board_sn9g45.c
board_tsc4370.c ARM: Teach LINUX_BOOT_ABI to recognize DT blob. 2016-03-26 06:55:55 +00:00
files.at91 We don't need at91_bs_tag. arm_base_bs_tag works now that we have 2016-01-16 05:47:34 +00:00
if_ate.c sys/arm: Minor spelling fixes. 2016-05-04 15:48:59 +00:00
if_atereg.h sys/arm: Minor spelling fixes. 2016-05-04 15:48:59 +00:00
if_macb.c Implement the phy-mode property for ate and macb. If it is set to 2015-11-07 22:52:06 +00:00
if_macbreg.h Add support for RMII in macb, cribbed slightly from the ate 2015-11-07 20:02:07 +00:00
if_macbvar.h Add support for RMII in macb, cribbed slightly from the ate 2015-11-07 20:02:07 +00:00
std.at91
std.at91sam9
std.at91sam9g45
std.atmel Remove the ARM_DEVICE_MULTIPASS option and make its effect be the default. 2014-10-26 18:30:35 +00:00
std.bwct Remove the arm KERNPHYSADDR option as it is no longer used. The make 2015-12-22 09:08:21 +00:00
std.eb9200 Remove the arm KERNPHYSADDR option as it is no longer used. The make 2015-12-22 09:08:21 +00:00
std.ethernut5 Remove the arm KERNPHYSADDR option as it is no longer used. The make 2015-12-22 09:08:21 +00:00
std.hl200 Remove the arm KERNPHYSADDR option as it is no longer used. The make 2015-12-22 09:08:21 +00:00
std.hl201 Remove the arm KERNPHYSADDR option as it is no longer used. The make 2015-12-22 09:08:21 +00:00
std.kb920x Remove the arm KERNPHYSADDR option as it is no longer used. The make 2015-12-22 09:08:21 +00:00
std.qila9g20 Remove the arm KERNPHYSADDR option as it is no longer used. The make 2015-12-22 09:08:21 +00:00
std.sam9g20ek Remove the arm KERNPHYSADDR option as it is no longer used. The make 2015-12-22 09:08:21 +00:00
std.sam9x25ek Remove the arm KERNPHYSADDR option as it is no longer used. The make 2015-12-22 09:08:21 +00:00
std.sam9260ek Remove the arm KERNPHYSADDR option as it is no longer used. The make 2015-12-22 09:08:21 +00:00
std.sn9g45 Remove the arm KERNPHYSADDR option as it is no longer used. The make 2015-12-22 09:08:21 +00:00
std.tsc4370 Remove the arm KERNPHYSADDR option as it is no longer used. The make 2015-12-22 09:08:21 +00:00
uart_bus_at91usart.c Move the uart_class definitions and fdt compat data into the individual 2015-03-07 15:24:15 +00:00
uart_cpu_at91usart.c We don't need at91_bs_tag. arm_base_bs_tag works now that we have 2016-01-16 05:47:34 +00:00
uart_dev_at91usart.c Move the uart_class definitions and fdt compat data into the individual 2015-03-07 15:24:15 +00:00