linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [RESEND RFC PATCH 00/50] ARM: at91: move to common clk framework
@ 2013-06-07 14:24 Boris BREZILLON
  2013-06-07 14:24 ` [RFC PATCH 01/50] ARM: at91: move at91_pmc.h to include/linux/clk/at91.h Boris BREZILLON
                   ` (52 more replies)
  0 siblings, 53 replies; 66+ messages in thread
From: Boris BREZILLON @ 2013-06-07 14:24 UTC (permalink / raw)
  To: linux-arm-kernel

Hello,

Sorry for the noise, the first submission has been filtered.

This patch series is a proposal to move at91 clock implementation
to common clk framework.

Most of the clock provided by the PMC (Power Management Controller) are
implemented :
- main clock (main oscillator)
- pll clocks
- master clock
- programmable clocks
- utmi clock
- peripheral clocks
- system clocks

This implementation is compatible with device tree: the goal is
to define the whole clock tree in the device tree (all currently
available dt SoCs and boards are patched to support dt clocks).
Please feel free to comment the dt bindinds (I'm not sure about the
name I choose or the position of clock nodes: children of pmc node).

I removed the register_clocks function in SoC supporting dt boards only:
- at91sam9x5 SoCs
- at91sam9n12 SoC
- sama5d3 SoCs

This patch series also update at91 drivers calling clk_enable/disable
instead of the preferred clk_prepare_enable/disable_unprepare functions.


I know there are a lot of cleanup in progress for at91 arch, so please tell
me if you think this transition to common clk framework should wait.

This patch series has been tested on Kizbox (sam9g20 SoC) board using device
tree. It compiles for other SoCs and both with and without dt support, but it
has not been tested.

The clocks rate/parent change has not been tested.

Best Regards,
Boris

Boris BREZILLON (50):
  ARM: at91: move at91_pmc.h to include/linux/clk/at91.h
  ARM: at91: add PMC main clock
  ARM: at91: add PMC pll clocks
  ARM: at91: add PMC master clock
  ARM: at91: add PMC system clocks
  ARM: at91: add PMC peripheral clocks
  ARM: at91: add PMC programmable clocks
  ARM: at91: add PMC utmi clock support
  ARM: at91: add PMC usb clock support
  ARM: at91: add PMC smd clock support
  ARM: at91: add PMC clk device tree binding doc
  ARM: at91: move to common clk framework
  ARM: at91: move at91rm9200 SoC to new at91 clk implem
  ARM: at91: move at91sam9260 SoC to new at91 clk implem
  ARM: at91: move at91sam9263 SoC to new at91 clk implem
  ARM: at91: move at91sam9263 SoC to new at91 clk implem
  ARM: at91: move at91sam9g45 SoC to new at91 clk implem
  ARM: at91: move at91sam9n12 SoC to new at91 clk implem
  ARM: at91: move at91sam9rl SoC to new at91 clk implem
  ARM: at91: move at91sam9x5 SoCs to new at91 clk implem
  ARM: at91: move at91sam9 SoCs to new at91 clk implem
  ARM: at91: move sama5d3 SoCs to new at91 clk implem
  ARM: at91: move at91rm9200 boards to new at91 clk implem
  ARM: at91: move at91sam9 boards to new at91 clk implem
  ARM: at91: move pit timer to common clk framework
  ARM: at91/tc/clocksource: prepare clk before calling enable
  at_hdmac: prepare clk before calling enable
  ASoC: atmel-ssc: prepare clk before calling enable
  mmc: atmel-mci: prepare clk before calling enable
  pwm: atmel-tcb: prepare clk before calling enable
  tty: atmel_serial: prepare clk before calling enable
  usb: gadget: at91_udc: prepare clk before calling enable
  ehci-atmel.c: prepare clk before calling enable
  USB: ohci-at91: prepare clk before calling enable
  at91/avr32/atmel_lcdfb: prepare clk before calling enable
  ARM: at91/dt: move at91rm9200 SoC to new at91 clk implem
  ARM: at91/dt: move at91sam9260 SoC to new at91 clk implem
  ARM: at91/dt: move at91sam9263 SoC to new at91 clk implem
  ARM: at91/dt: move at91sam9g45 SoC to new at91 clk implem
  ARM: at91/dt: move at91sam9n12 SoC to new at91 clk implem
  ARM: at91/dt: move at91sam9x5 SoCs to new at91 clk implem
  ARM: at91/dt: move at91sam9g20 SoC to new at91 clk implem
  ARM: at91/dt: move sama5d3 SoCs to to new at91 clk implem
  ARM: at91/dt: move sam9260/sam9g20 boards to new at91 clk implem
  ARM: at91/dt: move rm9200 boards to new at91 clk implem
  ARM: at91/dt: move sam9263 boards to new at91 clk implem
  ARM: at91/dt: move sam9g45 boards to new at91 clk implem
  ARM: at91/dt: move sam9n12 boards to new at91 clk implem
  ARM: at91/dt: move sam9x5 boards to new at91 clk implem
  ARM: at91/dt: move sama5d3 boards to new at91 clk implem

 .../devicetree/bindings/clock/at91-clock.txt       |  247 +++++
 arch/arm/boot/dts/animeo_ip.dts                    |   17 +-
 arch/arm/boot/dts/at91-ariag25.dts                 |   17 +-
 arch/arm/boot/dts/at91rm9200.dtsi                  |  133 +++
 arch/arm/boot/dts/at91rm9200ek.dts                 |   17 +-
 arch/arm/boot/dts/at91sam9260.dtsi                 |  144 ++-
 arch/arm/boot/dts/at91sam9263.dtsi                 |  135 +++
 arch/arm/boot/dts/at91sam9263ek.dts                |   17 +-
 arch/arm/boot/dts/at91sam9g15.dtsi                 |   11 +
 arch/arm/boot/dts/at91sam9g20.dtsi                 |   37 +
 arch/arm/boot/dts/at91sam9g20ek_common.dtsi        |   17 +-
 arch/arm/boot/dts/at91sam9g25.dtsi                 |    3 +
 arch/arm/boot/dts/at91sam9g35.dtsi                 |   23 +
 arch/arm/boot/dts/at91sam9g45.dtsi                 |  157 ++++
 arch/arm/boot/dts/at91sam9m10g45ek.dts             |   17 +-
 arch/arm/boot/dts/at91sam9n12.dtsi                 |  153 ++++
 arch/arm/boot/dts/at91sam9n12ek.dts                |   17 +-
 arch/arm/boot/dts/at91sam9x25.dtsi                 |   25 +-
 arch/arm/boot/dts/at91sam9x35.dtsi                 |    3 +
 arch/arm/boot/dts/at91sam9x5.dtsi                  |  226 +++--
 arch/arm/boot/dts/at91sam9x5_can.dtsi              |   24 +
 arch/arm/boot/dts/at91sam9x5_isi.dtsi              |   24 +
 arch/arm/boot/dts/at91sam9x5_lcdc.dtsi             |   32 +
 arch/arm/boot/dts/at91sam9x5_macb0.dtsi            |   68 ++
 arch/arm/boot/dts/at91sam9x5_macb1.dtsi            |   56 ++
 arch/arm/boot/dts/at91sam9x5_usart3.dtsi           |   60 ++
 arch/arm/boot/dts/ge863-pro3.dtsi                  |   16 +-
 arch/arm/boot/dts/kizbox.dts                       |    5 +
 arch/arm/boot/dts/mpa1600.dts                      |   16 +-
 arch/arm/boot/dts/pm9g45.dts                       |   16 +-
 arch/arm/boot/dts/sama5d3.dtsi                     |  358 ++++----
 arch/arm/boot/dts/sama5d31ek.dts                   |    4 +
 arch/arm/boot/dts/sama5d33ek.dts                   |    2 +
 arch/arm/boot/dts/sama5d34ek.dts                   |    4 +
 arch/arm/boot/dts/sama5d35ek.dts                   |    6 +
 arch/arm/boot/dts/sama5d3_can.dtsi                 |   67 ++
 arch/arm/boot/dts/sama5d3_emac.dtsi                |   56 ++
 arch/arm/boot/dts/sama5d3_gmac.dtsi                |   89 ++
 arch/arm/boot/dts/sama5d3_lcd.dtsi                 |   73 ++
 arch/arm/boot/dts/sama5d3_mci2.dtsi                |   59 ++
 arch/arm/boot/dts/sama5d3_tcb1.dtsi                |   39 +
 arch/arm/boot/dts/sama5d3_uart.dtsi                |   42 +
 arch/arm/boot/dts/sama5d3xcm.dtsi                  |   17 +-
 arch/arm/boot/dts/tny_a9260_common.dtsi            |   17 +-
 arch/arm/boot/dts/tny_a9263.dts                    |   17 +-
 arch/arm/boot/dts/usb_a9260_common.dtsi            |   17 +-
 arch/arm/boot/dts/usb_a9263.dts                    |   17 +-
 arch/arm/mach-at91/Kconfig                         |   26 +
 arch/arm/mach-at91/Makefile                        |    2 +-
 arch/arm/mach-at91/at91rm9200.c                    |  578 +++++++-----
 arch/arm/mach-at91/at91sam9260.c                   |  694 +++++++++-----
 arch/arm/mach-at91/at91sam9261.c                   |  581 ++++++++----
 arch/arm/mach-at91/at91sam9263.c                   |  599 +++++++-----
 arch/arm/mach-at91/at91sam926x_time.c              |   21 +-
 arch/arm/mach-at91/at91sam9g45.c                   |  705 ++++++++------
 arch/arm/mach-at91/at91sam9g45_devices.c           |    1 -
 arch/arm/mach-at91/at91sam9n12.c                   |  196 +---
 arch/arm/mach-at91/at91sam9rl.c                    |  514 +++++++----
 arch/arm/mach-at91/at91sam9x5.c                    |  291 +-----
 arch/arm/mach-at91/board-1arm.c                    |   12 +-
 arch/arm/mach-at91/board-afeb-9260v1.c             |   11 +-
 arch/arm/mach-at91/board-cam60.c                   |   13 +-
 arch/arm/mach-at91/board-carmeva.c                 |   13 +-
 arch/arm/mach-at91/board-cpu9krea.c                |   12 +-
 arch/arm/mach-at91/board-cpuat91.c                 |   12 +-
 arch/arm/mach-at91/board-csb337.c                  |   11 +-
 arch/arm/mach-at91/board-csb637.c                  |   11 +-
 arch/arm/mach-at91/board-dt-rm9200.c               |    9 +-
 arch/arm/mach-at91/board-dt-sam9.c                 |    9 +-
 arch/arm/mach-at91/board-dt-sama5.c                |    9 +-
 arch/arm/mach-at91/board-eb9200.c                  |   11 +-
 arch/arm/mach-at91/board-ecbat91.c                 |   12 +-
 arch/arm/mach-at91/board-eco920.c                  |   13 +-
 arch/arm/mach-at91/board-flexibity.c               |   12 +-
 arch/arm/mach-at91/board-foxg20.c                  |   12 +-
 arch/arm/mach-at91/board-gsia18s.c                 |    8 +-
 arch/arm/mach-at91/board-kafa.c                    |   12 +-
 arch/arm/mach-at91/board-kb9202.c                  |   12 +-
 arch/arm/mach-at91/board-pcontrol-g20.c            |    9 +-
 arch/arm/mach-at91/board-picotux200.c              |   11 +-
 arch/arm/mach-at91/board-qil-a9260.c               |   11 +-
 arch/arm/mach-at91/board-rm9200dk.c                |   11 +-
 arch/arm/mach-at91/board-rm9200ek.c                |   11 +-
 arch/arm/mach-at91/board-rsi-ews.c                 |   12 +-
 arch/arm/mach-at91/board-sam9-l9260.c              |   11 +-
 arch/arm/mach-at91/board-sam9260ek.c               |   11 +-
 arch/arm/mach-at91/board-sam9261ek.c               |   15 +-
 arch/arm/mach-at91/board-sam9263ek.c               |   11 +-
 arch/arm/mach-at91/board-sam9g20ek.c               |   15 +-
 arch/arm/mach-at91/board-sam9m10g45ek.c            |   11 +-
 arch/arm/mach-at91/board-sam9rlek.c                |   11 +-
 arch/arm/mach-at91/board-snapper9260.c             |   12 +-
 arch/arm/mach-at91/board-stamp9g20.c               |   15 +-
 arch/arm/mach-at91/board-yl-9200.c                 |   12 +-
 arch/arm/mach-at91/clock.c                         |  961 --------------------
 arch/arm/mach-at91/clock.h                         |   49 -
 arch/arm/mach-at91/generic.h                       |   10 +-
 arch/arm/mach-at91/pm.c                            |    2 +-
 arch/arm/mach-at91/pm_slowclock.S                  |    2 +-
 arch/arm/mach-at91/pmc.c                           |   58 ++
 arch/arm/mach-at91/sama5d3.c                       |  344 +------
 arch/arm/mach-at91/setup.c                         |   38 +-
 arch/arm/mach-at91/stamp9g20.h                     |    2 +-
 drivers/clk/Makefile                               |    1 +
 drivers/clk/at91/Makefile                          |   11 +
 drivers/clk/at91/clk-main.c                        |  106 +++
 drivers/clk/at91/clk-master.c                      |  317 +++++++
 drivers/clk/at91/clk-peripheral.c                  |  376 ++++++++
 drivers/clk/at91/clk-pll.c                         |  438 +++++++++
 drivers/clk/at91/clk-plldiv.c                      |  125 +++
 drivers/clk/at91/clk-programmable.c                |  370 ++++++++
 drivers/clk/at91/clk-smd.c                         |  157 ++++
 drivers/clk/at91/clk-system.c                      |  189 ++++
 drivers/clk/at91/clk-usb.c                         |  303 ++++++
 drivers/clk/at91/clk-utmi.c                        |  114 +++
 drivers/clocksource/tcb_clksrc.c                   |   10 +-
 drivers/dma/at_hdmac.c                             |   12 +-
 drivers/misc/atmel-ssc.c                           |    8 +-
 drivers/mmc/host/atmel-mci.c                       |   16 +-
 drivers/pwm/pwm-atmel-tcb.c                        |    4 +-
 drivers/tty/serial/atmel_serial.c                  |   35 +-
 drivers/usb/gadget/at91_udc.c                      |   12 +-
 drivers/usb/gadget/atmel_usba_udc.c                |    2 +-
 drivers/usb/host/ehci-atmel.c                      |    8 +-
 drivers/usb/host/ohci-at91.c                       |   12 +-
 drivers/video/atmel_lcdfb.c                        |    8 +-
 .../mach/at91_pmc.h => include/linux/clk/at91.h    |  122 ++-
 127 files changed, 7588 insertions(+), 3862 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/clock/at91-clock.txt
 create mode 100644 arch/arm/boot/dts/at91sam9x5_can.dtsi
 create mode 100644 arch/arm/boot/dts/at91sam9x5_isi.dtsi
 create mode 100644 arch/arm/boot/dts/at91sam9x5_lcdc.dtsi
 create mode 100644 arch/arm/boot/dts/at91sam9x5_macb0.dtsi
 create mode 100644 arch/arm/boot/dts/at91sam9x5_macb1.dtsi
 create mode 100644 arch/arm/boot/dts/at91sam9x5_usart3.dtsi
 create mode 100644 arch/arm/boot/dts/sama5d3_can.dtsi
 create mode 100644 arch/arm/boot/dts/sama5d3_emac.dtsi
 create mode 100644 arch/arm/boot/dts/sama5d3_gmac.dtsi
 create mode 100644 arch/arm/boot/dts/sama5d3_lcd.dtsi
 create mode 100644 arch/arm/boot/dts/sama5d3_mci2.dtsi
 create mode 100644 arch/arm/boot/dts/sama5d3_tcb1.dtsi
 create mode 100644 arch/arm/boot/dts/sama5d3_uart.dtsi
 delete mode 100644 arch/arm/mach-at91/clock.c
 delete mode 100644 arch/arm/mach-at91/clock.h
 create mode 100644 arch/arm/mach-at91/pmc.c
 create mode 100644 drivers/clk/at91/Makefile
 create mode 100644 drivers/clk/at91/clk-main.c
 create mode 100644 drivers/clk/at91/clk-master.c
 create mode 100644 drivers/clk/at91/clk-peripheral.c
 create mode 100644 drivers/clk/at91/clk-pll.c
 create mode 100644 drivers/clk/at91/clk-plldiv.c
 create mode 100644 drivers/clk/at91/clk-programmable.c
 create mode 100644 drivers/clk/at91/clk-smd.c
 create mode 100644 drivers/clk/at91/clk-system.c
 create mode 100644 drivers/clk/at91/clk-usb.c
 create mode 100644 drivers/clk/at91/clk-utmi.c
 rename arch/arm/mach-at91/include/mach/at91_pmc.h => include/linux/clk/at91.h (76%)

-- 
1.7.9.5

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

end of thread, other threads:[~2013-06-20  7:12 UTC | newest]

Thread overview: 66+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-06-07 14:24 [RESEND RFC PATCH 00/50] ARM: at91: move to common clk framework Boris BREZILLON
2013-06-07 14:24 ` [RFC PATCH 01/50] ARM: at91: move at91_pmc.h to include/linux/clk/at91.h Boris BREZILLON
2013-06-07 14:24 ` [RFC PATCH 02/50] ARM: at91: add PMC main clock Boris BREZILLON
2013-06-07 15:30   ` Thomas Petazzoni
2013-06-07 15:36     ` boris brezillon
2013-06-07 14:24 ` [RFC PATCH 03/50] ARM: at91: add PMC pll clocks Boris BREZILLON
2013-06-07 14:24 ` [RFC PATCH 04/50] ARM: at91: add PMC master clock Boris BREZILLON
2013-06-07 14:24 ` [RFC PATCH 05/50] ARM: at91: add PMC system clocks Boris BREZILLON
2013-06-07 14:24 ` [RFC PATCH 06/50] ARM: at91: add PMC peripheral clocks Boris BREZILLON
2013-06-07 14:24 ` [RFC PATCH 07/50] ARM: at91: add PMC programmable clocks Boris BREZILLON
2013-06-07 14:24 ` [RFC PATCH 08/50] ARM: at91: add PMC utmi clock Boris BREZILLON
2013-06-07 14:24 ` [RFC PATCH 09/50] ARM: at91: add PMC usb clock Boris BREZILLON
2013-06-07 14:24 ` [RFC PATCH 10/50] ARM: at91: add PMC smd clock Boris BREZILLON
2013-06-07 14:24 ` [RFC PATCH 11/50] ARM: at91: add PMC clk device tree binding doc Boris BREZILLON
2013-06-07 15:08 ` [RFC PATCH 12/50] ARM: at91: move to common clk framework Boris BREZILLON
2013-06-07 15:11 ` [RFC PATCH 13/50] ARM: at91: move at91rm9200 SoC to new at91 clk implem Boris BREZILLON
2013-06-20  6:52   ` Mike Turquette
2013-06-20  7:12     ` boris brezillon
2013-06-07 15:11 ` [RFC PATCH 14/50] ARM: at91: move at91sam9260 " Boris BREZILLON
2013-06-07 15:19 ` [RFC PATCH 15/50] ARM: at91: move at91sam9261 " Boris BREZILLON
2013-06-07 15:20 ` [RFC PATCH 16/50] ARM: at91: move at91sam9263 " Boris BREZILLON
2013-06-07 15:24 ` [RFC PATCH 17/50] ARM: at91: move at91sam9g45 " Boris BREZILLON
2013-06-07 15:25 ` [RFC PATCH 18/50] ARM: at91: move at91sam9n12 " Boris BREZILLON
2013-06-07 15:28 ` [RFC PATCH 19/50] ARM: at91: move at91sam9rl " Boris BREZILLON
2013-06-07 15:30 ` [RFC PATCH 20/50] ARM: at91: move at91sam9x5 SoCs " Boris BREZILLON
2013-06-07 15:36 ` [RFC PATCH 21/50] ARM: at91: move at91sam9 " Boris BREZILLON
2013-06-07 15:37 ` [RFC PATCH 22/50] ARM: at91: move sama5d3 " Boris BREZILLON
2013-06-07 15:42 ` [RFC PATCH 23/50] ARM: at91: move at91rm9200 boards " Boris BREZILLON
2013-06-07 16:23 ` [RFC PATCH 24/50] ARM: at91: move at91sam9 " Boris BREZILLON
2013-06-07 16:23 ` [RFC PATCH 25/50] ARM: at91: move pit timer to common clk framework Boris BREZILLON
2013-06-07 16:24 ` [RFC PATCH 26/50] ARM: at91/tc/clocksource: replace clk_enable/disable with clk_prepare_enable/disable_unprepare Boris BREZILLON
2013-06-07 16:25 ` [RFC PATCH 27/50] at_hdmac: prepare clk before calling enable Boris BREZILLON
2013-06-12  9:05   ` Vinod Koul
2013-06-12 12:08     ` boris brezillon
2013-06-07 16:26 ` [RFC PATCH 28/50] ASoC: atmel-ssc: " Boris BREZILLON
2013-06-07 16:55   ` Mark Brown
2013-06-07 19:56     ` Boris BREZILLON
2013-06-10  9:06       ` Mark Brown
2013-06-10  9:28         ` boris brezillon
2013-06-07 16:26 ` [RFC PATCH 29/50] mmc: atmel-mci: " Boris BREZILLON
2013-06-07 16:26 ` [RFC PATCH 30/50] pwm: atmel-tcb: " Boris BREZILLON
2013-06-12 10:52   ` Thierry Reding
2013-06-07 18:07 ` [RFC PATCH 31/50] tty: atmel_serial: " Boris BREZILLON
2013-06-07 18:08 ` [RFC PATCH 32/50] usb: gadget: at91_udc: " Boris BREZILLON
2013-06-12 15:06   ` Felipe Balbi
2013-06-07 18:08 ` [RFC PATCH 33/50] ehci-atmel.c: " Boris BREZILLON
2013-06-07 18:08 ` [RFC PATCH 34/50] USB: ohci-at91: " Boris BREZILLON
2013-06-07 18:08 ` [RFC PATCH 35/50] at91/avr32/atmel_lcdfb: " Boris BREZILLON
2013-06-07 18:09 ` [RFC PATCH 36/50] ARM: at91/dt: move at91rm9200 SoC to new at91 clk implem Boris BREZILLON
2013-06-07 18:09 ` [RFC PATCH 37/50] ARM: at91/dt: move at91sam9260 " Boris BREZILLON
2013-06-07 18:12 ` [RFC PATCH 38/50] ARM: at91/dt: move at91sam9263 " Boris BREZILLON
2013-06-07 18:12 ` [RFC PATCH 39/50] ARM: at91/dt: move at91sam9g45 " Boris BREZILLON
2013-06-07 18:13 ` [RFC PATCH 40/50] ARM: at91/dt: move at91sam9n12 " Boris BREZILLON
2013-06-07 18:13 ` [RFC PATCH 41/50] ARM: at91/dt: move at91sam9x5 SoCs " Boris BREZILLON
2013-06-07 18:13 ` [RFC PATCH 42/50] ARM: at91/dt: move at91sam9g20 SoC " Boris BREZILLON
2013-06-07 18:14 ` [RFC PATCH 43/50] ARM: at91/dt: move sama5d3 SoCs " Boris BREZILLON
2013-06-07 18:14 ` [RFC PATCH 44/50] ARM: at91/dt: move sam9260/sam9g20 " Boris BREZILLON
2013-06-07 18:14 ` [RFC PATCH 45/50] ARM: at91/dt: move rm9200 boards " Boris BREZILLON
2013-06-07 19:33 ` [RFC PATCH 37/50] ARM: at91/dt: move at91sam9260 SoC " Boris BREZILLON
2013-06-07 19:41 ` [RFC PATCH 46/50] ARM: at91/dt: move sam9263 boards " Boris BREZILLON
2013-06-07 19:42 ` [RFC PATCH 47/50] ARM: at91/dt: move sam9g45 " Boris BREZILLON
2013-06-07 19:43 ` [RFC PATCH 48/50] ARM: at91/dt: move sam9n12 " Boris BREZILLON
2013-06-07 19:44 ` [RFC PATCH 49/50] ARM: at91/dt: move sam9x5 " Boris BREZILLON
2013-06-07 19:45 ` [RFC PATCH 50/50] ARM: at91/dt: move sama5d3 " Boris BREZILLON
2013-06-07 20:00 ` [RFC PATCH 45/50] ARM: at91/dt: move rm9200 " Boris BREZILLON
2013-06-07 20:03 ` [RFC PATCH 37/50] ARM: at91/dt: move at91sam9260 SoC " Boris BREZILLON

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).