All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH RFC v2 0/14] Clean up debugging support
@ 2013-07-16 16:32 Russell King - ARM Linux
  2013-07-16 16:34 ` [PATCH RFC v2 01/14] ARM: debug: fix wording error in DEBUG_LL_UART_NONE option help Russell King
                   ` (16 more replies)
  0 siblings, 17 replies; 31+ messages in thread
From: Russell King - ARM Linux @ 2013-07-16 16:32 UTC (permalink / raw)
  To: linux-arm-kernel

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:

- 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

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

end of thread, other threads:[~2013-07-22 15:53 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-07-16 16:32 [PATCH RFC v2 0/14] Clean up debugging support Russell King - ARM Linux
2013-07-16 16:34 ` [PATCH RFC v2 01/14] ARM: debug: fix wording error in DEBUG_LL_UART_NONE option help Russell King
2013-07-16 16:35 ` [PATCH RFC v2 02/14] ARM: debug: clean up low level kernel debugging selection Russell King
2013-07-16 16:36 ` [PATCH RFC v2 03/14] ARM: debug: provide 8250 debug uart flow control configuration option Russell King
2013-07-16 16:37 ` [PATCH RFC v2 04/14] ARM: debug: provide 8250 debug uart register shift " Russell King
2013-07-16 18:38   ` Santosh Shilimkar
2013-07-16 19:16     ` Russell King - ARM Linux
2013-07-16 19:24       ` Russell King - ARM Linux
2013-07-16 20:09         ` Santosh Shilimkar
2013-07-16 16:38 ` [PATCH RFC v2 05/14] ARM: debug: provide 8250 debug uart phys/virt address configuration options Russell King
2013-07-16 16:39 ` [PATCH RFC v2 06/14] ARM: debug: move 8250 debug include into arch/arm/include/debug/ Russell King
2013-07-16 16:40 ` [PATCH RFC v2 07/14] ARM: debug: add support for word accesses to debug/8250.S Russell King
2013-07-16 16:41 ` [PATCH RFC v2 08/14] ARM: debug: provide PL01x debug uart phys/virt address configuration options Russell King
2013-07-17  9:26   ` Pawel Moll
2013-07-16 16:42 ` [PATCH RFC v2 09/14] ARM: debug: move PL01X debug include into arch/arm/include/debug/ Russell King
2013-07-16 16:43 ` [PATCH RFC v2 10/14] ARM: debug: provide generic option choices for 8250 and PL01x ports Russell King
2013-07-16 16:44 ` [PATCH RFC v2 11/14] ARM: debug: remove DEBUG_ROCKCHIP_UART Russell King
2013-07-16 16:45 ` [PATCH RFC v2 12/14] ARM: debug: move keystone debug to generic 8250 code Russell King
2013-07-16 18:35   ` Santosh Shilimkar
2013-07-16 16:46 ` [PATCH RFC v2 13/14] ARM: debug: move davinci " Russell King
2013-07-17 12:05   ` Sekhar Nori
2013-07-17 17:02     ` Russell King - ARM Linux
2013-07-18 14:08       ` Sekhar Nori
2013-07-16 16:47 ` [PATCH RFC v2 14/14] ARM: debug: move Spear debug to generic PL01x code Russell King
2013-07-17  5:18   ` Viresh Kumar
2013-07-16 23:36 ` [PATCH RFC v2 0/14] Clean up debugging support H Hartley Sweeten
2013-07-17 17:04 ` Russell King - ARM Linux
2013-07-17 17:51   ` H Hartley Sweeten
2013-07-20 16:43   ` Andrew Lunn
2013-07-22 11:06     ` Russell King - ARM Linux
2013-07-22 15:53 ` Andrew Lunn

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.