[PATCH RFC v2 0/14] Clean up debugging support
Andrew Lunn
andrew at lunn.ch
Mon Jul 22 11:53:33 EDT 2013
On Tue, Jul 16, 2013 at 05:32:43PM +0100, Russell King - ARM Linux wrote:
> This is the second posting of this series, with a few additional patches
> on top to go a little further. Changes since the last posting:
Hi Russell
I boot tested on Kirkwood.
Tested-by: Andrew Lunn <andrew at lunn.ch>
Andrew
>
> - we now provide a couple of generic options to allow the 8250 and PL01x
> ports to be configured via Kconfig manually. What this means is that
> I do not expect to see further entries to the debug menu for platforms
> which have PL01x or 8250 debug ports - use the generic options instead.
>
> - I've converted a bunch of the dependencies to select statements here
> to clean things up a little more.
>
> - Made the '8250 32-bit access size" option depend on a shift >= 2
> (it would be silly to do 32-bit accesses to byte offsets.)
>
> - Made all 8250 options available to the user when 8250 support is
> selected, allowing full configuration of 8250 options.
>
> - Removed DEBUG_ROCKCHIP_UART which wasn't doing anything after this
> cleanup.
>
> - Converted Keystone, Davinci, and Spear to also use the generic 8250/PL01x
> code; these had their own private implementations of the same without
> using the generic versions for no reason that I could see.
>
> The rest is the same boilerplate from last time with the exception of
> the diffstat.
>
> This patch series cleans up some aspects of the LL debug support by:
> - Removing the multi-level choice madness
> - Consolidating the 8250 debug UART support
> - Consolidating the PL01x debug UART support
>
> The differences between the various 8250 debug UART implementations are:
> - Physical/Virtual addresses
> - Register offset shift
> - Access size
> - Flow control
>
> These are now parameterised in the Kconfig. I've left OMAP because
> that's a complex case, but it looks like it can be adapted to it if
> some of the unnecessary complexity is eliminated.
>
> Similar is done with the PL01x implementation, except a few complex
> cases are left - automatic detection on Versatile Express, and the
> Ux500 support which looks like it'll take some picking through header
> files to work out what the base addresses are.
>
> The approach I've taken is to consolidate without losing any information
> - what that means it that the Kconfig parameters have rather a lot of
> dependencies/defaults associated with them, and the main choice
> statement keeps all its options.
>
> Nevertheless, even avoiding the loss of information, I think the diffstat
> is quite impressive:
>
> arch/arm/Kconfig.debug | 553 ++++++++++++++------
> arch/arm/include/asm/hardware/debug-8250.S | 29 -
> arch/arm/include/debug/8250.S | 54 ++
> arch/arm/include/debug/8250_32.S | 27 -
> arch/arm/include/debug/bcm2835.S | 22 -
> arch/arm/include/debug/cns3xxx.S | 19 -
> arch/arm/include/debug/highbank.S | 17 -
> arch/arm/include/debug/keystone.S | 43 --
> arch/arm/include/debug/mvebu.S | 30 -
> arch/arm/include/debug/mxs.S | 27 -
> arch/arm/include/debug/nomadik.S | 20 -
> arch/arm/include/debug/nspire.S | 28 -
> arch/arm/include/debug/picoxcell.S | 19 -
> .../{asm/hardware/debug-pl01x.S => debug/pl01x.S} | 9 +-
> arch/arm/include/debug/pxa.S | 33 --
> arch/arm/include/debug/rockchip.S | 42 --
> arch/arm/include/debug/socfpga.S | 21 -
> arch/arm/include/debug/sunxi.S | 27 -
> arch/arm/include/debug/u300.S | 18 -
> arch/arm/include/debug/ux500.S | 2 +-
> arch/arm/include/debug/vexpress.S | 48 +--
> arch/arm/mach-davinci/include/mach/debug-macro.S | 65 ---
> arch/arm/mach-dove/include/mach/debug-macro.S | 19 -
> arch/arm/mach-ebsa110/include/mach/debug-macro.S | 22 -
> arch/arm/mach-ep93xx/include/mach/debug-macro.S | 21 -
> .../arm/mach-footbridge/include/mach/debug-macro.S | 15 -
> arch/arm/mach-gemini/include/mach/debug-macro.S | 21 -
> .../arm/mach-integrator/include/mach/debug-macro.S | 20 -
> arch/arm/mach-iop13xx/include/mach/debug-macro.S | 24 -
> arch/arm/mach-iop32x/include/mach/debug-macro.S | 21 -
> arch/arm/mach-iop33x/include/mach/debug-macro.S | 22 -
> arch/arm/mach-ixp4xx/include/mach/debug-macro.S | 26 -
> arch/arm/mach-kirkwood/include/mach/debug-macro.S | 19 -
> arch/arm/mach-lpc32xx/include/mach/debug-macro.S | 29 -
> arch/arm/mach-mv78xx0/include/mach/debug-macro.S | 19 -
> arch/arm/mach-orion5x/include/mach/debug-macro.S | 21 -
> arch/arm/mach-realview/include/mach/debug-macro.S | 29 -
> arch/arm/mach-rpc/include/mach/debug-macro.S | 23 -
> arch/arm/mach-spear/include/mach/debug-macro.S | 36 --
> arch/arm/mach-spear/include/mach/spear.h | 2 -
> arch/arm/mach-versatile/include/mach/debug-macro.S | 21 -
> 41 files changed, 457 insertions(+), 1106 deletions(-)
> delete mode 100644 arch/arm/include/asm/hardware/debug-8250.S
> create mode 100644 arch/arm/include/debug/8250.S
> delete mode 100644 arch/arm/include/debug/8250_32.S
> delete mode 100644 arch/arm/include/debug/bcm2835.S
> delete mode 100644 arch/arm/include/debug/cns3xxx.S
> delete mode 100644 arch/arm/include/debug/highbank.S
> delete mode 100644 arch/arm/include/debug/keystone.S
> delete mode 100644 arch/arm/include/debug/mvebu.S
> delete mode 100644 arch/arm/include/debug/mxs.S
> delete mode 100644 arch/arm/include/debug/nomadik.S
> delete mode 100644 arch/arm/include/debug/nspire.S
> delete mode 100644 arch/arm/include/debug/picoxcell.S
> rename arch/arm/include/{asm/hardware/debug-pl01x.S => debug/pl01x.S} (78%)
> delete mode 100644 arch/arm/include/debug/pxa.S
> delete mode 100644 arch/arm/include/debug/rockchip.S
> delete mode 100644 arch/arm/include/debug/socfpga.S
> delete mode 100644 arch/arm/include/debug/sunxi.S
> delete mode 100644 arch/arm/include/debug/u300.S
> delete mode 100644 arch/arm/mach-davinci/include/mach/debug-macro.S
> delete mode 100644 arch/arm/mach-dove/include/mach/debug-macro.S
> delete mode 100644 arch/arm/mach-ebsa110/include/mach/debug-macro.S
> delete mode 100644 arch/arm/mach-ep93xx/include/mach/debug-macro.S
> delete mode 100644 arch/arm/mach-gemini/include/mach/debug-macro.S
> delete mode 100644 arch/arm/mach-integrator/include/mach/debug-macro.S
> delete mode 100644 arch/arm/mach-iop13xx/include/mach/debug-macro.S
> delete mode 100644 arch/arm/mach-iop32x/include/mach/debug-macro.S
> delete mode 100644 arch/arm/mach-iop33x/include/mach/debug-macro.S
> delete mode 100644 arch/arm/mach-ixp4xx/include/mach/debug-macro.S
> delete mode 100644 arch/arm/mach-kirkwood/include/mach/debug-macro.S
> delete mode 100644 arch/arm/mach-lpc32xx/include/mach/debug-macro.S
> delete mode 100644 arch/arm/mach-mv78xx0/include/mach/debug-macro.S
> delete mode 100644 arch/arm/mach-orion5x/include/mach/debug-macro.S
> delete mode 100644 arch/arm/mach-realview/include/mach/debug-macro.S
> delete mode 100644 arch/arm/mach-rpc/include/mach/debug-macro.S
> delete mode 100644 arch/arm/mach-spear/include/mach/debug-macro.S
> delete mode 100644 arch/arm/mach-versatile/include/mach/debug-macro.S
More information about the linux-arm-kernel
mailing list