lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <02a15f39-4b85-e450-defd-2df0e4a1ad87@roeck-us.net>
Date:   Tue, 28 Jul 2020 07:42:06 -0700
From:   Guenter Roeck <linux@...ck-us.net>
To:     Crystal Guo <crystal.guo@...iatek.com>, robh+dt@...nel.org,
        matthias.bgg@...il.com
Cc:     srv_heupstream@...iatek.com, linux-mediatek@...ts.infradead.org,
        linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
        linux-watchdog@...r.kernel.org, seiya.wang@...iatek.com
Subject: Re: [PATCH 1/3] watchdog: mtk_wdt: remove mt8xxx-resets.h

On 7/28/20 3:42 AM, Crystal Guo wrote:
> mt8xxx-resets.h actually just used to define TOPRGU_SW_RST_NUM.
> Instead of resubmit the mt8xxx-reset.h for a new IC, get the number
> of reset bits from dtsi is more easier to maintain.
> > Signed-off-by: Crystal Guo <crystal.guo@...iatek.com>
> ---
>  drivers/watchdog/mtk_wdt.c | 26 +++++---------------------
>  1 file changed, 5 insertions(+), 21 deletions(-)
> 
> diff --git a/drivers/watchdog/mtk_wdt.c b/drivers/watchdog/mtk_wdt.c
> index d6a6393..adc88c2 100644
> --- a/drivers/watchdog/mtk_wdt.c
> +++ b/drivers/watchdog/mtk_wdt.c
> @@ -9,8 +9,6 @@
>   * Based on sunxi_wdt.c
>   */
>  
> -#include <dt-bindings/reset-controller/mt2712-resets.h>
> -#include <dt-bindings/reset-controller/mt8183-resets.h>
>  #include <linux/delay.h>
>  #include <linux/err.h>
>  #include <linux/init.h>
> @@ -64,18 +62,6 @@ struct mtk_wdt_dev {
>  	struct reset_controller_dev rcdev;
>  };
>  
> -struct mtk_wdt_data {
> -	int toprgu_sw_rst_num;
> -};
> -
> -static const struct mtk_wdt_data mt2712_data = {
> -	.toprgu_sw_rst_num = MT2712_TOPRGU_SW_RST_NUM,
> -};
> -
> -static const struct mtk_wdt_data mt8183_data = {
> -	.toprgu_sw_rst_num = MT8183_TOPRGU_SW_RST_NUM,
> -};
> -
>  static int toprgu_reset_update(struct reset_controller_dev *rcdev,
>  			       unsigned long id, bool assert)
>  {
> @@ -248,7 +234,7 @@ static int mtk_wdt_probe(struct platform_device *pdev)
>  {
>  	struct device *dev = &pdev->dev;
>  	struct mtk_wdt_dev *mtk_wdt;
> -	const struct mtk_wdt_data *wdt_data;
> +	u32 toprgu_sw_rst_num;

toprgu_sw_ is a completely unnecessary prefix for a local variable.

>  	int err;
>  
>  	mtk_wdt = devm_kzalloc(dev, sizeof(*mtk_wdt), GFP_KERNEL);
> @@ -284,10 +270,10 @@ static int mtk_wdt_probe(struct platform_device *pdev)
>  	dev_info(dev, "Watchdog enabled (timeout=%d sec, nowayout=%d)\n",
>  		 mtk_wdt->wdt_dev.timeout, nowayout);
>  
> -	wdt_data = of_device_get_match_data(dev);
> -	if (wdt_data) {
> -		err = toprgu_register_reset_controller(pdev,
> -						       wdt_data->toprgu_sw_rst_num);
> +	err = of_property_read_u32(pdev->dev.of_node, "rst-num",
> +				&toprgu_sw_rst_num);

There is no such property. Maybe that is added with a subsequent patch or
preceding patch, but that is not in -next. If this patch is applied without
rst-num already present in affected devicetree files, the code will no longer
work. That means this patch requires context, and can not be applied without it.
That in turn means it can not be patch 1 of 3.

Guenter

> +	if (!err) {
> +		err = toprgu_register_reset_controller(pdev, toprgu_sw_rst_num);
>  		if (err)
>  			return err;
>  	}
> @@ -319,9 +305,7 @@ static int mtk_wdt_resume(struct device *dev)
>  #endif
>  
>  static const struct of_device_id mtk_wdt_dt_ids[] = {
> -	{ .compatible = "mediatek,mt2712-wdt", .data = &mt2712_data },
>  	{ .compatible = "mediatek,mt6589-wdt" },
> -	{ .compatible = "mediatek,mt8183-wdt", .data = &mt8183_data },

I don't see the point of removing the mediatek,mt2712-wdt and mediatek,mt8183-wdt
compatible lines.

>  	{ /* sentinel */ }
>  };
>  MODULE_DEVICE_TABLE(of, mtk_wdt_dt_ids);
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ