* [PATCH] rtc: ds1374: Add trickle charger device tree binding @ 2017-04-17 22:40 Moritz Fischer [not found] ` <1492468810-17224-1-git-send-email-mdf-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> 0 siblings, 1 reply; 6+ messages in thread From: Moritz Fischer @ 2017-04-17 22:40 UTC (permalink / raw) To: rtc-linux-/JYPxA39Uh5TLH3MbocFFw Cc: devicetree-u79uwXL29TY76Z2rM5mHXA, a.zummo-BfzFCNDTiLLj+vYz1yj4TQ, alexandre.belloni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8, robh+dt-DgEjT+Ai2ygdnm+yROfE0A, mark.rutland-5wv7dgnIgG8, Moritz Fischer Introduce a device tree binding for specifying the trickle charger configuration for ds1374. This is based on the code for ds13390. Signed-off-by: Moritz Fischer <mdf-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> --- .../devicetree/bindings/rtc/dallas,ds1374.txt | 18 ++++++++ drivers/rtc/rtc-ds1374.c | 54 ++++++++++++++++++++++ 2 files changed, 72 insertions(+) create mode 100644 Documentation/devicetree/bindings/rtc/dallas,ds1374.txt diff --git a/Documentation/devicetree/bindings/rtc/dallas,ds1374.txt b/Documentation/devicetree/bindings/rtc/dallas,ds1374.txt new file mode 100644 index 0000000..4cf5bd7 --- /dev/null +++ b/Documentation/devicetree/bindings/rtc/dallas,ds1374.txt @@ -0,0 +1,18 @@ +* Dallas DS1374 I2C Real-Time Clock / WDT + +Required properties: +- compatible: Should contain "dallas,ds1374". +- reg: I2C address for chip + +Optional properties: +- trickle-resistor-ohms : Selected resistor for trickle charger + Values usable for ds1374 are 250, 2000, 4000 + Should be given if trickle charger should be enabled +- trickle-diode-disable : Do not use internal trickle charger diode + Should be given if internal trickle charger diode should be disabled +Example: + ds1374: rtc@0 { + compatible = "dallas,ds1374"; + trickle-resistor-ohms = <250>; + reg = <0>; + }; diff --git a/drivers/rtc/rtc-ds1374.c b/drivers/rtc/rtc-ds1374.c index 4cd115e..873475d 100644 --- a/drivers/rtc/rtc-ds1374.c +++ b/drivers/rtc/rtc-ds1374.c @@ -53,6 +53,13 @@ #define DS1374_REG_SR_AF 0x01 /* Alarm Flag */ #define DS1374_REG_TCR 0x09 /* Trickle Charge */ +#define DS1374_TRICKLE_CHARGER_ENABLE 0xA0 +#define DS1374_TRICKLE_CHARGER_250_OHM 0x01 +#define DS1374_TRICKLE_CHARGER_2K_OHM 0x02 +#define DS1374_TRICKLE_CHARGER_4K_OHM 0x03 +#define DS1374_TRICKLE_CHARGER_NO_DIODE 0x04 +#define DS1374_TRICKLE_CHARGER_DIODE 0x08 + static const struct i2c_device_id ds1374_id[] = { { "ds1374", 0 }, { } @@ -597,6 +604,49 @@ static struct notifier_block ds1374_wdt_notifier = { }; #endif /*CONFIG_RTC_DRV_DS1374_WDT*/ + +static int ds1374_trickle_of_init(struct i2c_client *client) +{ + u32 ohms = 0; + u8 value; + int ret; + + if (of_property_read_u32(client->dev.of_node, "trickle-resistor-ohms", + &ohms)) + return 0; + + /* Enable charger */ + value = DS1374_TRICKLE_CHARGER_ENABLE; + if (of_property_read_bool(client->dev.of_node, "trickle-diode-disable")) + value |= DS1374_TRICKLE_CHARGER_NO_DIODE; + else + value |= DS1374_TRICKLE_CHARGER_DIODE; + + /* Resistor select */ + switch (ohms) { + case 250: + value |= DS1374_TRICKLE_CHARGER_250_OHM; + break; + case 2000: + value |= DS1374_TRICKLE_CHARGER_2K_OHM; + break; + case 4000: + value |= DS1374_TRICKLE_CHARGER_4K_OHM; + break; + default: + dev_warn(&client->dev, + "Unsupported ohm value %02ux in dt\n", ohms); + return -EINVAL; + } + dev_dbg(&client->dev, "Trickle charge value is 0x%02x\n", value); + + ret = i2c_smbus_write_byte_data(client, DS1374_REG_TCR, value); + if (ret < 0) + return ret; + + return 0; +} + /* ***************************************************************************** * @@ -620,6 +670,10 @@ static int ds1374_probe(struct i2c_client *client, INIT_WORK(&ds1374->work, ds1374_work); mutex_init(&ds1374->mutex); + ret = ds1374_trickle_of_init(client); + if (ret) + return ret; + ret = ds1374_check_rtc_status(client); if (ret) return ret; -- 2.7.4 -- You received this message because you are subscribed to "rtc-linux". Membership options at http://groups.google.com/group/rtc-linux . Please read http://groups.google.com/group/rtc-linux/web/checklist before submitting a driver. --- You received this message because you are subscribed to the Google Groups "rtc-linux" group. To unsubscribe from this group and stop receiving emails from it, send an email to rtc-linux+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit https://groups.google.com/d/optout. ^ permalink raw reply related [flat|nested] 6+ messages in thread
[parent not found: <1492468810-17224-1-git-send-email-mdf-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>]
* Re: [PATCH] rtc: ds1374: Add trickle charger device tree binding [not found] ` <1492468810-17224-1-git-send-email-mdf-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> @ 2017-04-20 15:56 ` Rob Herring 2017-04-20 17:25 ` Moritz Fischer 0 siblings, 1 reply; 6+ messages in thread From: Rob Herring @ 2017-04-20 15:56 UTC (permalink / raw) To: Moritz Fischer Cc: rtc-linux-/JYPxA39Uh5TLH3MbocFFw, devicetree-u79uwXL29TY76Z2rM5mHXA, a.zummo-BfzFCNDTiLLj+vYz1yj4TQ, alexandre.belloni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8, mark.rutland-5wv7dgnIgG8 On Mon, Apr 17, 2017 at 03:40:10PM -0700, Moritz Fischer wrote: > Introduce a device tree binding for specifying the trickle charger > configuration for ds1374. This is based on the code for ds13390. > > Signed-off-by: Moritz Fischer <mdf-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> > --- > .../devicetree/bindings/rtc/dallas,ds1374.txt | 18 ++++++++ > drivers/rtc/rtc-ds1374.c | 54 ++++++++++++++++++++++ > 2 files changed, 72 insertions(+) > create mode 100644 Documentation/devicetree/bindings/rtc/dallas,ds1374.txt > > diff --git a/Documentation/devicetree/bindings/rtc/dallas,ds1374.txt b/Documentation/devicetree/bindings/rtc/dallas,ds1374.txt > new file mode 100644 > index 0000000..4cf5bd7 > --- /dev/null > +++ b/Documentation/devicetree/bindings/rtc/dallas,ds1374.txt > @@ -0,0 +1,18 @@ > +* Dallas DS1374 I2C Real-Time Clock / WDT Please remove from trivial-devices.txt, too. (which is moving in 4.12 BTW) > + > +Required properties: > +- compatible: Should contain "dallas,ds1374". > +- reg: I2C address for chip > + > +Optional properties: > +- trickle-resistor-ohms : Selected resistor for trickle charger > + Values usable for ds1374 are 250, 2000, 4000 > + Should be given if trickle charger should be enabled > +- trickle-diode-disable : Do not use internal trickle charger diode > + Should be given if internal trickle charger diode should be disabled These should have vendor prefix unless you think they are common. > +Example: > + ds1374: rtc@0 { > + compatible = "dallas,ds1374"; > + trickle-resistor-ohms = <250>; > + reg = <0>; > + }; -- You received this message because you are subscribed to "rtc-linux". Membership options at http://groups.google.com/group/rtc-linux . Please read http://groups.google.com/group/rtc-linux/web/checklist before submitting a driver. --- You received this message because you are subscribed to the Google Groups "rtc-linux" group. To unsubscribe from this group and stop receiving emails from it, send an email to rtc-linux+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit https://groups.google.com/d/optout. ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] rtc: ds1374: Add trickle charger device tree binding 2017-04-20 15:56 ` Rob Herring @ 2017-04-20 17:25 ` Moritz Fischer [not found] ` <20170420172538.GA13892-R0KNJUYl863z/wjs7L+eiWPmTBeX6bocVpNB7YpNyf8@public.gmane.org> 0 siblings, 1 reply; 6+ messages in thread From: Moritz Fischer @ 2017-04-20 17:25 UTC (permalink / raw) To: Rob Herring Cc: Moritz Fischer, rtc-linux-/JYPxA39Uh5TLH3MbocFFw, devicetree-u79uwXL29TY76Z2rM5mHXA, a.zummo-BfzFCNDTiLLj+vYz1yj4TQ, alexandre.belloni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8, mark.rutland-5wv7dgnIgG8 [-- Attachment #1: Type: text/plain, Size: 2581 bytes --] On Thu, Apr 20, 2017 at 10:56:34AM -0500, Rob Herring wrote: > On Mon, Apr 17, 2017 at 03:40:10PM -0700, Moritz Fischer wrote: > > Introduce a device tree binding for specifying the trickle charger > > configuration for ds1374. This is based on the code for ds13390. > > > > Signed-off-by: Moritz Fischer <mdf-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> > > --- > > .../devicetree/bindings/rtc/dallas,ds1374.txt | 18 ++++++++ > > drivers/rtc/rtc-ds1374.c | 54 ++++++++++++++++++++++ > > 2 files changed, 72 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/rtc/dallas,ds1374.txt > > > > diff --git a/Documentation/devicetree/bindings/rtc/dallas,ds1374.txt b/Documentation/devicetree/bindings/rtc/dallas,ds1374.txt > > new file mode 100644 > > index 0000000..4cf5bd7 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/rtc/dallas,ds1374.txt > > @@ -0,0 +1,18 @@ > > +* Dallas DS1374 I2C Real-Time Clock / WDT > > Please remove from trivial-devices.txt, too. (which is moving in 4.12 > BTW) Ok, I'll redo this on top of b7e252fcddfa573bb1ee275b53bba6cef85671d4 (Documentation: devicetree: move trivial-devices out of I2C realm) then. > > > + > > +Required properties: > > +- compatible: Should contain "dallas,ds1374". > > +- reg: I2C address for chip > > + > > +Optional properties: > > +- trickle-resistor-ohms : Selected resistor for trickle charger > > + Values usable for ds1374 are 250, 2000, 4000 > > + Should be given if trickle charger should be enabled > > +- trickle-diode-disable : Do not use internal trickle charger diode > > + Should be given if internal trickle charger diode should be disabled > > These should have vendor prefix unless you think they are common. Well works at least for maxim, dallas & different models like ds1390, ds1374, so I figured I'd keep the bindings the same. > > > +Example: > > + ds1374: rtc@0 { > > + compatible = "dallas,ds1374"; > > + trickle-resistor-ohms = <250>; > > + reg = <0>; > > + }; Thanks, Moritz -- You received this message because you are subscribed to "rtc-linux". Membership options at http://groups.google.com/group/rtc-linux . Please read http://groups.google.com/group/rtc-linux/web/checklist before submitting a driver. --- You received this message because you are subscribed to the Google Groups "rtc-linux" group. To unsubscribe from this group and stop receiving emails from it, send an email to rtc-linux+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit https://groups.google.com/d/optout. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 455 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
[parent not found: <20170420172538.GA13892-R0KNJUYl863z/wjs7L+eiWPmTBeX6bocVpNB7YpNyf8@public.gmane.org>]
* Re: [PATCH] rtc: ds1374: Add trickle charger device tree binding [not found] ` <20170420172538.GA13892-R0KNJUYl863z/wjs7L+eiWPmTBeX6bocVpNB7YpNyf8@public.gmane.org> @ 2017-04-22 17:54 ` Moritz Fischer [not found] ` <CAAtXAHfNuRXninLWySAOdtV99ih4PBt=JPszn3UkNa08OvXLFQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 0 siblings, 1 reply; 6+ messages in thread From: Moritz Fischer @ 2017-04-22 17:54 UTC (permalink / raw) To: Rob Herring Cc: Moritz Fischer, rtc-linux, Devicetree List, Alessandro Zummo, Alexandre Belloni, Mark Rutland On Thu, Apr 20, 2017 at 10:25 AM, Moritz Fischer <mdf-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> wrote: > On Thu, Apr 20, 2017 at 10:56:34AM -0500, Rob Herring wrote: >> On Mon, Apr 17, 2017 at 03:40:10PM -0700, Moritz Fischer wrote: >> > Introduce a device tree binding for specifying the trickle charger >> > configuration for ds1374. This is based on the code for ds13390. >> > >> > Signed-off-by: Moritz Fischer <mdf-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> >> > --- >> > .../devicetree/bindings/rtc/dallas,ds1374.txt | 18 ++++++++ >> > drivers/rtc/rtc-ds1374.c | 54 ++++++++++++++++++++++ >> > 2 files changed, 72 insertions(+) >> > create mode 100644 Documentation/devicetree/bindings/rtc/dallas,ds1374.txt >> > >> > diff --git a/Documentation/devicetree/bindings/rtc/dallas,ds1374.txt b/Documentation/devicetree/bindings/rtc/dallas,ds1374.txt >> > new file mode 100644 >> > index 0000000..4cf5bd7 >> > --- /dev/null >> > +++ b/Documentation/devicetree/bindings/rtc/dallas,ds1374.txt >> > @@ -0,0 +1,18 @@ >> > +* Dallas DS1374 I2C Real-Time Clock / WDT >> >> Please remove from trivial-devices.txt, too. (which is moving in 4.12 >> BTW) > > Ok, I'll redo this on top of b7e252fcddfa573bb1ee275b53bba6cef85671d4 > (Documentation: devicetree: move trivial-devices out of I2C realm) then. Follow up question, right now one selects between WDT and ALARM mode with a CONFIG_RTC_DRV_DS1374_WDT=y statically at compile time. I'd like to add a 'dallas,mode = <DS1374_WDT>;' or dallas,enable-watchdog property to the binding, same goes for the ability to remap the WDT reset output to the interrupt pin (which is currently not supported, but my hardware needs this). Would be the right way to add the remapping something like 'dallas,remap-reset-to-int' ? Ideas? This change would obviously break people's setups where they select one or the other behavior via the build time option. Is that acceptable seen that relying on build time CONFIG_FOO seems like a bad assumption to begin with? A bit of background: I currently started cleaning up a bunch of issues in this driver, like refactoring it to use the watchdog framework instead of open coding everything, make setting the timeout actually work (right now it the timeout to tick conversion is hosed). Thanks, Moritz -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 6+ messages in thread
[parent not found: <CAAtXAHfNuRXninLWySAOdtV99ih4PBt=JPszn3UkNa08OvXLFQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* Re: [PATCH] rtc: ds1374: Add trickle charger device tree binding [not found] ` <CAAtXAHfNuRXninLWySAOdtV99ih4PBt=JPszn3UkNa08OvXLFQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> @ 2017-04-24 17:16 ` Alexandre Belloni [not found] ` <20170424171639.6vv5hxrejylloh3b-m++hUPXGwpdeoWH0uzbU5w@public.gmane.org> 0 siblings, 1 reply; 6+ messages in thread From: Alexandre Belloni @ 2017-04-24 17:16 UTC (permalink / raw) To: Moritz Fischer Cc: Rob Herring, rtc-linux, Devicetree List, Alessandro Zummo, Mark Rutland On 22/04/2017 at 10:54:23 -0700, Moritz Fischer wrote: > On Thu, Apr 20, 2017 at 10:25 AM, Moritz Fischer <mdf-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> wrote: > > On Thu, Apr 20, 2017 at 10:56:34AM -0500, Rob Herring wrote: > >> On Mon, Apr 17, 2017 at 03:40:10PM -0700, Moritz Fischer wrote: > >> > Introduce a device tree binding for specifying the trickle charger > >> > configuration for ds1374. This is based on the code for ds13390. > >> > > >> > Signed-off-by: Moritz Fischer <mdf-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> > >> > --- > >> > .../devicetree/bindings/rtc/dallas,ds1374.txt | 18 ++++++++ > >> > drivers/rtc/rtc-ds1374.c | 54 ++++++++++++++++++++++ > >> > 2 files changed, 72 insertions(+) > >> > create mode 100644 Documentation/devicetree/bindings/rtc/dallas,ds1374.txt > >> > > >> > diff --git a/Documentation/devicetree/bindings/rtc/dallas,ds1374.txt b/Documentation/devicetree/bindings/rtc/dallas,ds1374.txt > >> > new file mode 100644 > >> > index 0000000..4cf5bd7 > >> > --- /dev/null > >> > +++ b/Documentation/devicetree/bindings/rtc/dallas,ds1374.txt > >> > @@ -0,0 +1,18 @@ > >> > +* Dallas DS1374 I2C Real-Time Clock / WDT > >> > >> Please remove from trivial-devices.txt, too. (which is moving in 4.12 > >> BTW) > > > > Ok, I'll redo this on top of b7e252fcddfa573bb1ee275b53bba6cef85671d4 > > (Documentation: devicetree: move trivial-devices out of I2C realm) then. > > Follow up question, right now one selects between WDT and ALARM mode with > a CONFIG_RTC_DRV_DS1374_WDT=y statically at compile time. > > I'd like to add a 'dallas,mode = <DS1374_WDT>;' or > dallas,enable-watchdog property > to the binding, same goes for the ability to remap the WDT reset output to the > interrupt pin (which is currently not supported, but my hardware needs this). > > Would be the right way to add the remapping something like > 'dallas,remap-reset-to-int' ? > > Ideas? This change would obviously break people's setups where they > select one or > the other behavior via the build time option. Is that acceptable seen > that relying on > build time CONFIG_FOO seems like a bad assumption to begin with? > > A bit of background: I currently started cleaning up a bunch of issues > in this driver, > like refactoring it to use the watchdog framework instead of open > coding everything, > make setting the timeout actually work (right now it the timeout to > tick conversion is > hosed). > I think I would do something with MFD as you were suggesting on IRC. You can have a look at the flexcom driver (atmel-flexcom.c) which is simply selecting a mode and then using whatever IP driver already existed (UART, I2C or SPI). I didn't have a close look but maybe that fits. Then, as you are concerned wtih backward compatibility, you could enforce the mode from the MFD driver, depending on the CONFIG_RTC_DRV_DS1374_WDT value. -- Alexandre Belloni, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com -- You received this message because you are subscribed to "rtc-linux". Membership options at http://groups.google.com/group/rtc-linux . Please read http://groups.google.com/group/rtc-linux/web/checklist before submitting a driver. --- You received this message because you are subscribed to the Google Groups "rtc-linux" group. To unsubscribe from this group and stop receiving emails from it, send an email to rtc-linux+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit https://groups.google.com/d/optout. ^ permalink raw reply [flat|nested] 6+ messages in thread
[parent not found: <20170424171639.6vv5hxrejylloh3b-m++hUPXGwpdeoWH0uzbU5w@public.gmane.org>]
* Re: [PATCH] rtc: ds1374: Add trickle charger device tree binding [not found] ` <20170424171639.6vv5hxrejylloh3b-m++hUPXGwpdeoWH0uzbU5w@public.gmane.org> @ 2017-04-24 21:28 ` Moritz Fischer 0 siblings, 0 replies; 6+ messages in thread From: Moritz Fischer @ 2017-04-24 21:28 UTC (permalink / raw) To: Alexandre Belloni Cc: Rob Herring, rtc-linux, Devicetree List, Alessandro Zummo, Mark Rutland [-- Attachment #1: Type: text/plain, Size: 1434 bytes --] Hi Alex, On Mon, Apr 24, 2017 at 07:16:39PM +0200, Alexandre Belloni wrote: > I think I would do something with MFD as you were suggesting on IRC. You > can have a look at the flexcom driver (atmel-flexcom.c) which is simply > selecting a mode and then using whatever IP driver already existed > (UART, I2C or SPI). That's an interesting approach, so the idea is to basically use the MFD to switch an existing driver one way or another via pdata? That could work. > > I didn't have a close look but maybe that fits. Then, as you are > concerned wtih backward compatibility, you could enforce the mode from > the MFD driver, depending on the CONFIG_RTC_DRV_DS1374_WDT value. This is where I'm currently at: https://git.kernel.org/pub/scm/linux/kernel/git/mdf/linux.git/log/?h=wip/mfd-ds1374-rfc Still a WIP, maybe can get out a patchset by the end of the week ... Thanks, Moritz -- You received this message because you are subscribed to "rtc-linux". Membership options at http://groups.google.com/group/rtc-linux . Please read http://groups.google.com/group/rtc-linux/web/checklist before submitting a driver. --- You received this message because you are subscribed to the Google Groups "rtc-linux" group. To unsubscribe from this group and stop receiving emails from it, send an email to rtc-linux+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit https://groups.google.com/d/optout. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 455 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2017-04-24 21:28 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2017-04-17 22:40 [PATCH] rtc: ds1374: Add trickle charger device tree binding Moritz Fischer [not found] ` <1492468810-17224-1-git-send-email-mdf-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> 2017-04-20 15:56 ` Rob Herring 2017-04-20 17:25 ` Moritz Fischer [not found] ` <20170420172538.GA13892-R0KNJUYl863z/wjs7L+eiWPmTBeX6bocVpNB7YpNyf8@public.gmane.org> 2017-04-22 17:54 ` Moritz Fischer [not found] ` <CAAtXAHfNuRXninLWySAOdtV99ih4PBt=JPszn3UkNa08OvXLFQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2017-04-24 17:16 ` Alexandre Belloni [not found] ` <20170424171639.6vv5hxrejylloh3b-m++hUPXGwpdeoWH0uzbU5w@public.gmane.org> 2017-04-24 21:28 ` Moritz Fischer
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).