From: Guenter Roeck <linux@roeck-us.net>
To: William Breathitt Gray <william.gray@linaro.org>,
Wim Van Sebroeck <wim@linux-watchdog.org>
Cc: linux-kernel@vger.kernel.org, linux-watchdog@vger.kernel.org,
Paul Demetrotion <pdemetrotion@winsystems.com>,
techsupport@winsystems.com,
Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
Fred Eckert <Frede@cmslaser.com>
Subject: Re: [PATCH] watchdog: ebc-c384_wdt: Remove support
Date: Mon, 10 Apr 2023 07:43:37 -0700 [thread overview]
Message-ID: <7b0fbd06-73d0-7fa9-3f03-e788f1df4631@roeck-us.net> (raw)
In-Reply-To: <20230410143101.182563-1-william.gray@linaro.org>
On 4/10/23 07:31, William Breathitt Gray wrote:
> The current maintainer no longer has access to the device for testing,
> the original user of this driver indicates that they have moved on to
> another device, and the manufacturer WINSYSTEMS does not appear
> interested in taking over support for this code.
>
> Signed-off-by: William Breathitt Gray <william.gray@linaro.org>
A bit harsh, maybe. Just mark it as orphan for the time being.
I see there are other Winsystems drivers. What are you going to do
with those ?
Guenter
> ---
> MAINTAINERS | 6 --
> drivers/watchdog/Kconfig | 10 ---
> drivers/watchdog/Makefile | 1 -
> drivers/watchdog/ebc-c384_wdt.c | 142 --------------------------------
> 4 files changed, 159 deletions(-)
> delete mode 100644 drivers/watchdog/ebc-c384_wdt.c
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 90abe83c02f3..3b30b502de93 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -22511,12 +22511,6 @@ M: David Härdeman <david@hardeman.nu>
> S: Maintained
> F: drivers/media/rc/winbond-cir.c
>
> -WINSYSTEMS EBC-C384 WATCHDOG DRIVER
> -M: William Breathitt Gray <william.gray@linaro.org>
> -L: linux-watchdog@vger.kernel.org
> -S: Maintained
> -F: drivers/watchdog/ebc-c384_wdt.c
> -
> WINSYSTEMS WS16C48 GPIO DRIVER
> M: William Breathitt Gray <william.gray@linaro.org>
> L: linux-gpio@vger.kernel.org
> diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
> index f0872970daf9..7c443d71b01f 100644
> --- a/drivers/watchdog/Kconfig
> +++ b/drivers/watchdog/Kconfig
> @@ -1085,16 +1085,6 @@ config ALIM7101_WDT
>
> Most people will say N.
>
> -config EBC_C384_WDT
> - tristate "WinSystems EBC-C384 Watchdog Timer"
> - depends on X86
> - select ISA_BUS_API
> - select WATCHDOG_CORE
> - help
> - Enables watchdog timer support for the watchdog timer on the
> - WinSystems EBC-C384 motherboard. The timeout may be configured via
> - the timeout module parameter.
> -
> config EXAR_WDT
> tristate "Exar Watchdog Timer"
> depends on X86
> diff --git a/drivers/watchdog/Makefile b/drivers/watchdog/Makefile
> index 9cbf6580f16c..3d12d4ddd5ea 100644
> --- a/drivers/watchdog/Makefile
> +++ b/drivers/watchdog/Makefile
> @@ -105,7 +105,6 @@ obj-$(CONFIG_ADVANTECH_WDT) += advantechwdt.o
> obj-$(CONFIG_ADVANTECH_EC_WDT) += advantech_ec_wdt.o
> obj-$(CONFIG_ALIM1535_WDT) += alim1535_wdt.o
> obj-$(CONFIG_ALIM7101_WDT) += alim7101_wdt.o
> -obj-$(CONFIG_EBC_C384_WDT) += ebc-c384_wdt.o
> obj-$(CONFIG_EXAR_WDT) += exar_wdt.o
> obj-$(CONFIG_F71808E_WDT) += f71808e_wdt.o
> obj-$(CONFIG_SP5100_TCO) += sp5100_tco.o
> diff --git a/drivers/watchdog/ebc-c384_wdt.c b/drivers/watchdog/ebc-c384_wdt.c
> deleted file mode 100644
> index 8ef4b0df3855..000000000000
> --- a/drivers/watchdog/ebc-c384_wdt.c
> +++ /dev/null
> @@ -1,142 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0
> -/*
> - * Watchdog timer driver for the WinSystems EBC-C384
> - * Copyright (C) 2016 William Breathitt Gray
> - */
> -#include <linux/device.h>
> -#include <linux/dmi.h>
> -#include <linux/errno.h>
> -#include <linux/io.h>
> -#include <linux/ioport.h>
> -#include <linux/isa.h>
> -#include <linux/kernel.h>
> -#include <linux/module.h>
> -#include <linux/moduleparam.h>
> -#include <linux/types.h>
> -#include <linux/watchdog.h>
> -
> -#define MODULE_NAME "ebc-c384_wdt"
> -#define WATCHDOG_TIMEOUT 60
> -/*
> - * The timeout value in minutes must fit in a single byte when sent to the
> - * watchdog timer; the maximum timeout possible is 15300 (255 * 60) seconds.
> - */
> -#define WATCHDOG_MAX_TIMEOUT 15300
> -#define BASE_ADDR 0x564
> -#define ADDR_EXTENT 5
> -#define CFG_ADDR (BASE_ADDR + 1)
> -#define PET_ADDR (BASE_ADDR + 2)
> -
> -static bool nowayout = WATCHDOG_NOWAYOUT;
> -module_param(nowayout, bool, 0);
> -MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started (default="
> - __MODULE_STRING(WATCHDOG_NOWAYOUT) ")");
> -
> -static unsigned timeout;
> -module_param(timeout, uint, 0);
> -MODULE_PARM_DESC(timeout, "Watchdog timeout in seconds (default="
> - __MODULE_STRING(WATCHDOG_TIMEOUT) ")");
> -
> -static int ebc_c384_wdt_start(struct watchdog_device *wdev)
> -{
> - unsigned t = wdev->timeout;
> -
> - /* resolution is in minutes for timeouts greater than 255 seconds */
> - if (t > 255)
> - t = DIV_ROUND_UP(t, 60);
> -
> - outb(t, PET_ADDR);
> -
> - return 0;
> -}
> -
> -static int ebc_c384_wdt_stop(struct watchdog_device *wdev)
> -{
> - outb(0x00, PET_ADDR);
> -
> - return 0;
> -}
> -
> -static int ebc_c384_wdt_set_timeout(struct watchdog_device *wdev, unsigned t)
> -{
> - /* resolution is in minutes for timeouts greater than 255 seconds */
> - if (t > 255) {
> - /* round second resolution up to minute granularity */
> - wdev->timeout = roundup(t, 60);
> -
> - /* set watchdog timer for minutes */
> - outb(0x00, CFG_ADDR);
> - } else {
> - wdev->timeout = t;
> -
> - /* set watchdog timer for seconds */
> - outb(0x80, CFG_ADDR);
> - }
> -
> - return 0;
> -}
> -
> -static const struct watchdog_ops ebc_c384_wdt_ops = {
> - .start = ebc_c384_wdt_start,
> - .stop = ebc_c384_wdt_stop,
> - .set_timeout = ebc_c384_wdt_set_timeout
> -};
> -
> -static const struct watchdog_info ebc_c384_wdt_info = {
> - .options = WDIOF_KEEPALIVEPING | WDIOF_MAGICCLOSE | WDIOF_SETTIMEOUT,
> - .identity = MODULE_NAME
> -};
> -
> -static int ebc_c384_wdt_probe(struct device *dev, unsigned int id)
> -{
> - struct watchdog_device *wdd;
> -
> - if (!devm_request_region(dev, BASE_ADDR, ADDR_EXTENT, dev_name(dev))) {
> - dev_err(dev, "Unable to lock port addresses (0x%X-0x%X)\n",
> - BASE_ADDR, BASE_ADDR + ADDR_EXTENT);
> - return -EBUSY;
> - }
> -
> - wdd = devm_kzalloc(dev, sizeof(*wdd), GFP_KERNEL);
> - if (!wdd)
> - return -ENOMEM;
> -
> - wdd->info = &ebc_c384_wdt_info;
> - wdd->ops = &ebc_c384_wdt_ops;
> - wdd->timeout = WATCHDOG_TIMEOUT;
> - wdd->min_timeout = 1;
> - wdd->max_timeout = WATCHDOG_MAX_TIMEOUT;
> -
> - watchdog_set_nowayout(wdd, nowayout);
> - watchdog_init_timeout(wdd, timeout, dev);
> -
> - return devm_watchdog_register_device(dev, wdd);
> -}
> -
> -static struct isa_driver ebc_c384_wdt_driver = {
> - .probe = ebc_c384_wdt_probe,
> - .driver = {
> - .name = MODULE_NAME
> - },
> -};
> -
> -static int __init ebc_c384_wdt_init(void)
> -{
> - if (!dmi_match(DMI_BOARD_NAME, "EBC-C384 SBC"))
> - return -ENODEV;
> -
> - return isa_register_driver(&ebc_c384_wdt_driver, 1);
> -}
> -
> -static void __exit ebc_c384_wdt_exit(void)
> -{
> - isa_unregister_driver(&ebc_c384_wdt_driver);
> -}
> -
> -module_init(ebc_c384_wdt_init);
> -module_exit(ebc_c384_wdt_exit);
> -
> -MODULE_AUTHOR("William Breathitt Gray <vilhelm.gray@gmail.com>");
> -MODULE_DESCRIPTION("WinSystems EBC-C384 watchdog timer driver");
> -MODULE_LICENSE("GPL v2");
> -MODULE_ALIAS("isa:" MODULE_NAME);
>
> base-commit: 09a9639e56c01c7a00d6c0ca63f4c7c41abe075d
next prev parent reply other threads:[~2023-04-10 14:43 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-10 14:31 William Breathitt Gray
2023-04-10 14:43 ` Guenter Roeck [this message]
2023-04-10 14:51 ` William Breathitt Gray
2023-04-10 15:01 ` Guenter Roeck
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7b0fbd06-73d0-7fa9-3f03-e788f1df4631@roeck-us.net \
--to=linux@roeck-us.net \
--cc=Frede@cmslaser.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-watchdog@vger.kernel.org \
--cc=pdemetrotion@winsystems.com \
--cc=techsupport@winsystems.com \
--cc=william.gray@linaro.org \
--cc=wim@linux-watchdog.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®