* [PATCH v2 0/3] watchdog: s3c2410: Minor cleanups
@ 2017-03-11 17:42 Krzysztof Kozlowski
[not found] ` <20170311174255.23327-1-krzk-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Krzysztof Kozlowski @ 2017-03-11 17:42 UTC (permalink / raw)
To: Kukjin Kim, Krzysztof Kozlowski, Javier Martinez Canillas,
Wim Van Sebroeck, Guenter Roeck, linux-arm-kernel,
linux-samsung-soc, linux-watchdog, linux-kernel
Hi,
Continuation of previous [1] with patches just rebased
on current linux-next.
[1] http://lkml.iu.edu/hypermail/linux/kernel/1702.3/00673.html
Best regards,
Krzysztof
Krzysztof Kozlowski (3):
watchdog: s3c2410: Constify local structures
watchdog: s3c2410: Simplify getting driver data
watchdog: s3c2410: Minor code cleanup
drivers/watchdog/s3c2410_wdt.c | 58 +++++++++++++++++++-----------------------
1 file changed, 26 insertions(+), 32 deletions(-)
--
2.9.3
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2 1/3] watchdog: s3c2410: Constify local structures
[not found] ` <20170311174255.23327-1-krzk-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
@ 2017-03-11 17:42 ` Krzysztof Kozlowski
[not found] ` <20170311174255.23327-2-krzk-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
0 siblings, 1 reply; 8+ messages in thread
From: Krzysztof Kozlowski @ 2017-03-11 17:42 UTC (permalink / raw)
To: Kukjin Kim, Krzysztof Kozlowski, Javier Martinez Canillas,
Wim Van Sebroeck, Guenter Roeck,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA,
linux-watchdog-u79uwXL29TY76Z2rM5mHXA,
linux-kernel-u79uwXL29TY76Z2rM5mHXA
Structures watchdog_device, watchdog_ops and s3c2410_wdt_variant are not
modified so they can be made const to increase code safeness.
Signed-off-by: Krzysztof Kozlowski <krzk-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
---
drivers/watchdog/s3c2410_wdt.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/drivers/watchdog/s3c2410_wdt.c b/drivers/watchdog/s3c2410_wdt.c
index 6ed97596ca80..5eaec319e499 100644
--- a/drivers/watchdog/s3c2410_wdt.c
+++ b/drivers/watchdog/s3c2410_wdt.c
@@ -131,7 +131,7 @@ struct s3c2410_wdt {
unsigned long wtdat_save;
struct watchdog_device wdt_device;
struct notifier_block freq_transition;
- struct s3c2410_wdt_variant *drv_data;
+ const struct s3c2410_wdt_variant *drv_data;
struct regmap *pmureg;
};
@@ -401,7 +401,7 @@ static const struct watchdog_ops s3c2410wdt_ops = {
.restart = s3c2410wdt_restart,
};
-static struct watchdog_device s3c2410_wdd = {
+static const struct watchdog_device s3c2410_wdd = {
.info = &s3c2410_wdt_ident,
.ops = &s3c2410wdt_ops,
.timeout = S3C2410_WATCHDOG_DEFAULT_TIME,
@@ -507,15 +507,15 @@ static inline unsigned int s3c2410wdt_get_bootstatus(struct s3c2410_wdt *wdt)
return 0;
}
-static inline struct s3c2410_wdt_variant *
+static inline const struct s3c2410_wdt_variant *
s3c2410_get_wdt_drv_data(struct platform_device *pdev)
{
if (pdev->dev.of_node) {
const struct of_device_id *match;
match = of_match_node(s3c2410_wdt_match, pdev->dev.of_node);
- return (struct s3c2410_wdt_variant *)match->data;
+ return (const struct s3c2410_wdt_variant *)match->data;
} else {
- return (struct s3c2410_wdt_variant *)
+ return (const struct s3c2410_wdt_variant *)
platform_get_device_id(pdev)->driver_data;
}
}
--
2.9.3
--
To unsubscribe from this list: send the line "unsubscribe linux-watchdog" 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 related [flat|nested] 8+ messages in thread
* [PATCH v2 2/3] watchdog: s3c2410: Simplify getting driver data
2017-03-11 17:42 [PATCH v2 0/3] watchdog: s3c2410: Minor cleanups Krzysztof Kozlowski
[not found] ` <20170311174255.23327-1-krzk-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
@ 2017-03-11 17:42 ` Krzysztof Kozlowski
2017-03-12 21:00 ` Guenter Roeck
2017-03-11 17:42 ` [PATCH v2 3/3] watchdog: s3c2410: Minor code cleanup Krzysztof Kozlowski
2 siblings, 1 reply; 8+ messages in thread
From: Krzysztof Kozlowski @ 2017-03-11 17:42 UTC (permalink / raw)
To: Kukjin Kim, Krzysztof Kozlowski, Javier Martinez Canillas,
Wim Van Sebroeck, Guenter Roeck, linux-arm-kernel,
linux-samsung-soc, linux-watchdog, linux-kernel
Simplify the flow in helper function for getting the driver data by
using of_device_get_match_data() and only one if() branch.
The code should be equivalent.
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
---
drivers/watchdog/s3c2410_wdt.c | 17 ++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)
diff --git a/drivers/watchdog/s3c2410_wdt.c b/drivers/watchdog/s3c2410_wdt.c
index 5eaec319e499..d7ddee0668c3 100644
--- a/drivers/watchdog/s3c2410_wdt.c
+++ b/drivers/watchdog/s3c2410_wdt.c
@@ -37,6 +37,7 @@
#include <linux/slab.h>
#include <linux/err.h>
#include <linux/of.h>
+#include <linux/of_device.h>
#include <linux/mfd/syscon.h>
#include <linux/regmap.h>
#include <linux/delay.h>
@@ -510,14 +511,16 @@ static inline unsigned int s3c2410wdt_get_bootstatus(struct s3c2410_wdt *wdt)
static inline const struct s3c2410_wdt_variant *
s3c2410_get_wdt_drv_data(struct platform_device *pdev)
{
- if (pdev->dev.of_node) {
- const struct of_device_id *match;
- match = of_match_node(s3c2410_wdt_match, pdev->dev.of_node);
- return (const struct s3c2410_wdt_variant *)match->data;
- } else {
- return (const struct s3c2410_wdt_variant *)
- platform_get_device_id(pdev)->driver_data;
+ const struct s3c2410_wdt_variant *variant;
+
+ variant = of_device_get_match_data(&pdev->dev);
+ if (!variant) {
+ /* Device matched by platform_device_id */
+ variant = (const struct s3c2410_wdt_variant *)
+ platform_get_device_id(pdev)->driver_data;
}
+
+ return variant;
}
static int s3c2410wdt_probe(struct platform_device *pdev)
--
2.9.3
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v2 3/3] watchdog: s3c2410: Minor code cleanup
2017-03-11 17:42 [PATCH v2 0/3] watchdog: s3c2410: Minor cleanups Krzysztof Kozlowski
[not found] ` <20170311174255.23327-1-krzk-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2017-03-11 17:42 ` [PATCH v2 2/3] watchdog: s3c2410: Simplify getting driver data Krzysztof Kozlowski
@ 2017-03-11 17:42 ` Krzysztof Kozlowski
2017-03-12 21:01 ` Guenter Roeck
2 siblings, 1 reply; 8+ messages in thread
From: Krzysztof Kozlowski @ 2017-03-11 17:42 UTC (permalink / raw)
To: Kukjin Kim, Krzysztof Kozlowski, Javier Martinez Canillas,
Wim Van Sebroeck, Guenter Roeck, linux-arm-kernel,
linux-samsung-soc, linux-watchdog, linux-kernel
Cleanup the code from minor readability issues (no functional changes):
1. Fix checkpatch: ERROR: Do not include the paragraph about writing to
the Free Software Foundation's mailing address.
2. Fix checkpatch: WARNING: quoted string split across lines
3. Fix chechpatch: WARNING: Prefer 'unsigned int' to bare use of
'unsigned'
4. Use 'dev' consistently in probe function instead of mixing dev with
&pdev->dev.
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
---
drivers/watchdog/s3c2410_wdt.c | 35 +++++++++++++----------------------
1 file changed, 13 insertions(+), 22 deletions(-)
diff --git a/drivers/watchdog/s3c2410_wdt.c b/drivers/watchdog/s3c2410_wdt.c
index d7ddee0668c3..89c7e98ae278 100644
--- a/drivers/watchdog/s3c2410_wdt.c
+++ b/drivers/watchdog/s3c2410_wdt.c
@@ -1,5 +1,4 @@
-/* linux/drivers/char/watchdog/s3c2410_wdt.c
- *
+/*
* Copyright (c) 2004 Simtec Electronics
* Ben Dooks <ben@simtec.co.uk>
*
@@ -17,11 +16,7 @@
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*/
+ */
#include <linux/module.h>
#include <linux/moduleparam.h>
@@ -95,8 +90,7 @@ MODULE_PARM_DESC(tmr_atboot,
__MODULE_STRING(S3C2410_WATCHDOG_ATBOOT));
MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started (default="
__MODULE_STRING(WATCHDOG_NOWAYOUT) ")");
-MODULE_PARM_DESC(soft_noboot, "Watchdog action, set to 1 to ignore reboots, "
- "0 to reboot (default 0)");
+MODULE_PARM_DESC(soft_noboot, "Watchdog action, set to 1 to ignore reboots, 0 to reboot (default 0)");
/**
* struct s3c2410_wdt_variant - Per-variant config data
@@ -311,7 +305,8 @@ static inline int s3c2410wdt_is_running(struct s3c2410_wdt *wdt)
return readl(wdt->reg_base + S3C2410_WTCON) & S3C2410_WTCON_ENABLE;
}
-static int s3c2410wdt_set_heartbeat(struct watchdog_device *wdd, unsigned timeout)
+static int s3c2410wdt_set_heartbeat(struct watchdog_device *wdd,
+ unsigned int timeout)
{
struct s3c2410_wdt *wdt = watchdog_get_drvdata(wdd);
unsigned long freq = clk_get_rate(wdt->clock);
@@ -525,7 +520,7 @@ s3c2410_get_wdt_drv_data(struct platform_device *pdev)
static int s3c2410wdt_probe(struct platform_device *pdev)
{
- struct device *dev;
+ struct device *dev = &pdev->dev;
struct s3c2410_wdt *wdt;
struct resource *wdt_mem;
struct resource *wdt_irq;
@@ -533,13 +528,11 @@ static int s3c2410wdt_probe(struct platform_device *pdev)
int started = 0;
int ret;
- dev = &pdev->dev;
-
wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL);
if (!wdt)
return -ENOMEM;
- wdt->dev = &pdev->dev;
+ wdt->dev = dev;
spin_lock_init(&wdt->lock);
wdt->wdt_device = s3c2410_wdd;
@@ -595,7 +588,7 @@ static int s3c2410wdt_probe(struct platform_device *pdev)
/* see if we can actually set the requested timer margin, and if
* not, try the default value */
- watchdog_init_timeout(&wdt->wdt_device, tmr_margin, &pdev->dev);
+ watchdog_init_timeout(&wdt->wdt_device, tmr_margin, dev);
ret = s3c2410wdt_set_heartbeat(&wdt->wdt_device,
wdt->wdt_device.timeout);
if (ret) {
@@ -604,11 +597,10 @@ static int s3c2410wdt_probe(struct platform_device *pdev)
if (started == 0)
dev_info(dev,
- "tmr_margin value out of range, default %d used\n",
- S3C2410_WATCHDOG_DEFAULT_TIME);
+ "tmr_margin value out of range, default %d used\n",
+ S3C2410_WATCHDOG_DEFAULT_TIME);
else
- dev_info(dev, "default timer value is out of range, "
- "cannot start\n");
+ dev_info(dev, "default timer value is out of range, cannot start\n");
}
ret = devm_request_irq(dev, wdt_irq->start, s3c2410wdt_irq, 0,
@@ -622,7 +614,7 @@ static int s3c2410wdt_probe(struct platform_device *pdev)
watchdog_set_restart_priority(&wdt->wdt_device, 128);
wdt->wdt_device.bootstatus = s3c2410wdt_get_bootstatus(wdt);
- wdt->wdt_device.parent = &pdev->dev;
+ wdt->wdt_device.parent = dev;
ret = watchdog_register_device(&wdt->wdt_device);
if (ret) {
@@ -757,7 +749,6 @@ static struct platform_driver s3c2410wdt_driver = {
module_platform_driver(s3c2410wdt_driver);
-MODULE_AUTHOR("Ben Dooks <ben@simtec.co.uk>, "
- "Dimitry Andric <dimitry.andric@tomtom.com>");
+MODULE_AUTHOR("Ben Dooks <ben@simtec.co.uk>, Dimitry Andric <dimitry.andric@tomtom.com>");
MODULE_DESCRIPTION("S3C2410 Watchdog Device Driver");
MODULE_LICENSE("GPL");
--
2.9.3
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v2 1/3] watchdog: s3c2410: Constify local structures
[not found] ` <20170311174255.23327-2-krzk-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
@ 2017-03-12 20:56 ` Guenter Roeck
[not found] ` <d91a14cc-d741-f4ff-7411-64d4862b6e50-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
0 siblings, 1 reply; 8+ messages in thread
From: Guenter Roeck @ 2017-03-12 20:56 UTC (permalink / raw)
To: Krzysztof Kozlowski, Kukjin Kim, Javier Martinez Canillas,
Wim Van Sebroeck,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA,
linux-watchdog-u79uwXL29TY76Z2rM5mHXA,
linux-kernel-u79uwXL29TY76Z2rM5mHXA
On 03/11/2017 09:42 AM, Krzysztof Kozlowski wrote:
> Structures watchdog_device, watchdog_ops and s3c2410_wdt_variant are not
> modified so they can be made const to increase code safeness.
>
> Signed-off-by: Krzysztof Kozlowski <krzk-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
> ---
> drivers/watchdog/s3c2410_wdt.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/watchdog/s3c2410_wdt.c b/drivers/watchdog/s3c2410_wdt.c
> index 6ed97596ca80..5eaec319e499 100644
> --- a/drivers/watchdog/s3c2410_wdt.c
> +++ b/drivers/watchdog/s3c2410_wdt.c
> @@ -131,7 +131,7 @@ struct s3c2410_wdt {
> unsigned long wtdat_save;
> struct watchdog_device wdt_device;
> struct notifier_block freq_transition;
> - struct s3c2410_wdt_variant *drv_data;
> + const struct s3c2410_wdt_variant *drv_data;
> struct regmap *pmureg;
> };
>
> @@ -401,7 +401,7 @@ static const struct watchdog_ops s3c2410wdt_ops = {
> .restart = s3c2410wdt_restart,
> };
>
> -static struct watchdog_device s3c2410_wdd = {
> +static const struct watchdog_device s3c2410_wdd = {
> .info = &s3c2410_wdt_ident,
> .ops = &s3c2410wdt_ops,
> .timeout = S3C2410_WATCHDOG_DEFAULT_TIME,
> @@ -507,15 +507,15 @@ static inline unsigned int s3c2410wdt_get_bootstatus(struct s3c2410_wdt *wdt)
> return 0;
> }
>
> -static inline struct s3c2410_wdt_variant *
> +static inline const struct s3c2410_wdt_variant *
> s3c2410_get_wdt_drv_data(struct platform_device *pdev)
> {
> if (pdev->dev.of_node) {
> const struct of_device_id *match;
> match = of_match_node(s3c2410_wdt_match, pdev->dev.of_node);
> - return (struct s3c2410_wdt_variant *)match->data;
> + return (const struct s3c2410_wdt_variant *)match->data;
The const in this typecast isn't necessary.
> } else {
> - return (struct s3c2410_wdt_variant *)
> + return (const struct s3c2410_wdt_variant *)
Same here. Transition to const is automatic.
> platform_get_device_id(pdev)->driver_data;
> }
> }
>
--
To unsubscribe from this list: send the line "unsubscribe linux-watchdog" 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] 8+ messages in thread
* Re: [PATCH v2 2/3] watchdog: s3c2410: Simplify getting driver data
2017-03-11 17:42 ` [PATCH v2 2/3] watchdog: s3c2410: Simplify getting driver data Krzysztof Kozlowski
@ 2017-03-12 21:00 ` Guenter Roeck
0 siblings, 0 replies; 8+ messages in thread
From: Guenter Roeck @ 2017-03-12 21:00 UTC (permalink / raw)
To: Krzysztof Kozlowski, Kukjin Kim, Javier Martinez Canillas,
Wim Van Sebroeck, linux-arm-kernel, linux-samsung-soc,
linux-watchdog, linux-kernel
On 03/11/2017 09:42 AM, Krzysztof Kozlowski wrote:
> Simplify the flow in helper function for getting the driver data by
> using of_device_get_match_data() and only one if() branch.
>
> The code should be equivalent.
>
> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
> ---
> drivers/watchdog/s3c2410_wdt.c | 17 ++++++++++-------
> 1 file changed, 10 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/watchdog/s3c2410_wdt.c b/drivers/watchdog/s3c2410_wdt.c
> index 5eaec319e499..d7ddee0668c3 100644
> --- a/drivers/watchdog/s3c2410_wdt.c
> +++ b/drivers/watchdog/s3c2410_wdt.c
> @@ -37,6 +37,7 @@
> #include <linux/slab.h>
> #include <linux/err.h>
> #include <linux/of.h>
> +#include <linux/of_device.h>
> #include <linux/mfd/syscon.h>
> #include <linux/regmap.h>
> #include <linux/delay.h>
> @@ -510,14 +511,16 @@ static inline unsigned int s3c2410wdt_get_bootstatus(struct s3c2410_wdt *wdt)
> static inline const struct s3c2410_wdt_variant *
> s3c2410_get_wdt_drv_data(struct platform_device *pdev)
> {
> - if (pdev->dev.of_node) {
> - const struct of_device_id *match;
> - match = of_match_node(s3c2410_wdt_match, pdev->dev.of_node);
> - return (const struct s3c2410_wdt_variant *)match->data;
> - } else {
> - return (const struct s3c2410_wdt_variant *)
> - platform_get_device_id(pdev)->driver_data;
> + const struct s3c2410_wdt_variant *variant;
> +
> + variant = of_device_get_match_data(&pdev->dev);
> + if (!variant) {
> + /* Device matched by platform_device_id */
> + variant = (const struct s3c2410_wdt_variant *)
Please drop the const and rebase to the simplified patch 1/3.
> + platform_get_device_id(pdev)->driver_data;
> }
> +
> + return variant;
> }
>
> static int s3c2410wdt_probe(struct platform_device *pdev)
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 3/3] watchdog: s3c2410: Minor code cleanup
2017-03-11 17:42 ` [PATCH v2 3/3] watchdog: s3c2410: Minor code cleanup Krzysztof Kozlowski
@ 2017-03-12 21:01 ` Guenter Roeck
0 siblings, 0 replies; 8+ messages in thread
From: Guenter Roeck @ 2017-03-12 21:01 UTC (permalink / raw)
To: Krzysztof Kozlowski, Kukjin Kim, Javier Martinez Canillas,
Wim Van Sebroeck, linux-arm-kernel, linux-samsung-soc,
linux-watchdog, linux-kernel
On 03/11/2017 09:42 AM, Krzysztof Kozlowski wrote:
> Cleanup the code from minor readability issues (no functional changes):
> 1. Fix checkpatch: ERROR: Do not include the paragraph about writing to
> the Free Software Foundation's mailing address.
> 2. Fix checkpatch: WARNING: quoted string split across lines
> 3. Fix chechpatch: WARNING: Prefer 'unsigned int' to bare use of
> 'unsigned'
> 4. Use 'dev' consistently in probe function instead of mixing dev with
> &pdev->dev.
>
> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
> ---
> drivers/watchdog/s3c2410_wdt.c | 35 +++++++++++++----------------------
> 1 file changed, 13 insertions(+), 22 deletions(-)
>
> diff --git a/drivers/watchdog/s3c2410_wdt.c b/drivers/watchdog/s3c2410_wdt.c
> index d7ddee0668c3..89c7e98ae278 100644
> --- a/drivers/watchdog/s3c2410_wdt.c
> +++ b/drivers/watchdog/s3c2410_wdt.c
> @@ -1,5 +1,4 @@
> -/* linux/drivers/char/watchdog/s3c2410_wdt.c
> - *
> +/*
> * Copyright (c) 2004 Simtec Electronics
> * Ben Dooks <ben@simtec.co.uk>
> *
> @@ -17,11 +16,7 @@
> * but WITHOUT ANY WARRANTY; without even the implied warranty of
> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> * GNU General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public License
> - * along with this program; if not, write to the Free Software
> - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
> -*/
> + */
>
> #include <linux/module.h>
> #include <linux/moduleparam.h>
> @@ -95,8 +90,7 @@ MODULE_PARM_DESC(tmr_atboot,
> __MODULE_STRING(S3C2410_WATCHDOG_ATBOOT));
> MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started (default="
> __MODULE_STRING(WATCHDOG_NOWAYOUT) ")");
> -MODULE_PARM_DESC(soft_noboot, "Watchdog action, set to 1 to ignore reboots, "
> - "0 to reboot (default 0)");
> +MODULE_PARM_DESC(soft_noboot, "Watchdog action, set to 1 to ignore reboots, 0 to reboot (default 0)");
>
> /**
> * struct s3c2410_wdt_variant - Per-variant config data
> @@ -311,7 +305,8 @@ static inline int s3c2410wdt_is_running(struct s3c2410_wdt *wdt)
> return readl(wdt->reg_base + S3C2410_WTCON) & S3C2410_WTCON_ENABLE;
> }
>
> -static int s3c2410wdt_set_heartbeat(struct watchdog_device *wdd, unsigned timeout)
> +static int s3c2410wdt_set_heartbeat(struct watchdog_device *wdd,
> + unsigned int timeout)
> {
> struct s3c2410_wdt *wdt = watchdog_get_drvdata(wdd);
> unsigned long freq = clk_get_rate(wdt->clock);
> @@ -525,7 +520,7 @@ s3c2410_get_wdt_drv_data(struct platform_device *pdev)
>
> static int s3c2410wdt_probe(struct platform_device *pdev)
> {
> - struct device *dev;
> + struct device *dev = &pdev->dev;
> struct s3c2410_wdt *wdt;
> struct resource *wdt_mem;
> struct resource *wdt_irq;
> @@ -533,13 +528,11 @@ static int s3c2410wdt_probe(struct platform_device *pdev)
> int started = 0;
> int ret;
>
> - dev = &pdev->dev;
> -
> wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL);
> if (!wdt)
> return -ENOMEM;
>
> - wdt->dev = &pdev->dev;
> + wdt->dev = dev;
> spin_lock_init(&wdt->lock);
> wdt->wdt_device = s3c2410_wdd;
>
> @@ -595,7 +588,7 @@ static int s3c2410wdt_probe(struct platform_device *pdev)
> /* see if we can actually set the requested timer margin, and if
> * not, try the default value */
>
> - watchdog_init_timeout(&wdt->wdt_device, tmr_margin, &pdev->dev);
> + watchdog_init_timeout(&wdt->wdt_device, tmr_margin, dev);
> ret = s3c2410wdt_set_heartbeat(&wdt->wdt_device,
> wdt->wdt_device.timeout);
> if (ret) {
> @@ -604,11 +597,10 @@ static int s3c2410wdt_probe(struct platform_device *pdev)
>
> if (started == 0)
> dev_info(dev,
> - "tmr_margin value out of range, default %d used\n",
> - S3C2410_WATCHDOG_DEFAULT_TIME);
> + "tmr_margin value out of range, default %d used\n",
> + S3C2410_WATCHDOG_DEFAULT_TIME);
> else
> - dev_info(dev, "default timer value is out of range, "
> - "cannot start\n");
> + dev_info(dev, "default timer value is out of range, cannot start\n");
> }
>
> ret = devm_request_irq(dev, wdt_irq->start, s3c2410wdt_irq, 0,
> @@ -622,7 +614,7 @@ static int s3c2410wdt_probe(struct platform_device *pdev)
> watchdog_set_restart_priority(&wdt->wdt_device, 128);
>
> wdt->wdt_device.bootstatus = s3c2410wdt_get_bootstatus(wdt);
> - wdt->wdt_device.parent = &pdev->dev;
> + wdt->wdt_device.parent = dev;
>
> ret = watchdog_register_device(&wdt->wdt_device);
> if (ret) {
> @@ -757,7 +749,6 @@ static struct platform_driver s3c2410wdt_driver = {
>
> module_platform_driver(s3c2410wdt_driver);
>
> -MODULE_AUTHOR("Ben Dooks <ben@simtec.co.uk>, "
> - "Dimitry Andric <dimitry.andric@tomtom.com>");
> +MODULE_AUTHOR("Ben Dooks <ben@simtec.co.uk>, Dimitry Andric <dimitry.andric@tomtom.com>");
> MODULE_DESCRIPTION("S3C2410 Watchdog Device Driver");
> MODULE_LICENSE("GPL");
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 1/3] watchdog: s3c2410: Constify local structures
[not found] ` <d91a14cc-d741-f4ff-7411-64d4862b6e50-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
@ 2017-03-13 6:47 ` Krzysztof Kozlowski
0 siblings, 0 replies; 8+ messages in thread
From: Krzysztof Kozlowski @ 2017-03-13 6:47 UTC (permalink / raw)
To: Guenter Roeck
Cc: Kukjin Kim, Javier Martinez Canillas, Wim Van Sebroeck,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA,
linux-watchdog-u79uwXL29TY76Z2rM5mHXA,
linux-kernel-u79uwXL29TY76Z2rM5mHXA
On Sun, Mar 12, 2017 at 10:56 PM, Guenter Roeck <linux-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org> wrote:
> On 03/11/2017 09:42 AM, Krzysztof Kozlowski wrote:
>>
>> Structures watchdog_device, watchdog_ops and s3c2410_wdt_variant are not
>> modified so they can be made const to increase code safeness.
>>
>> Signed-off-by: Krzysztof Kozlowski <krzk-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
>> ---
>> drivers/watchdog/s3c2410_wdt.c | 10 +++++-----
>> 1 file changed, 5 insertions(+), 5 deletions(-)
>>
>> diff --git a/drivers/watchdog/s3c2410_wdt.c
>> b/drivers/watchdog/s3c2410_wdt.c
>> index 6ed97596ca80..5eaec319e499 100644
>> --- a/drivers/watchdog/s3c2410_wdt.c
>> +++ b/drivers/watchdog/s3c2410_wdt.c
>> @@ -131,7 +131,7 @@ struct s3c2410_wdt {
>> unsigned long wtdat_save;
>> struct watchdog_device wdt_device;
>> struct notifier_block freq_transition;
>> - struct s3c2410_wdt_variant *drv_data;
>> + const struct s3c2410_wdt_variant *drv_data;
>> struct regmap *pmureg;
>> };
>>
>> @@ -401,7 +401,7 @@ static const struct watchdog_ops s3c2410wdt_ops = {
>> .restart = s3c2410wdt_restart,
>> };
>>
>> -static struct watchdog_device s3c2410_wdd = {
>> +static const struct watchdog_device s3c2410_wdd = {
>> .info = &s3c2410_wdt_ident,
>> .ops = &s3c2410wdt_ops,
>> .timeout = S3C2410_WATCHDOG_DEFAULT_TIME,
>> @@ -507,15 +507,15 @@ static inline unsigned int
>> s3c2410wdt_get_bootstatus(struct s3c2410_wdt *wdt)
>> return 0;
>> }
>>
>> -static inline struct s3c2410_wdt_variant *
>> +static inline const struct s3c2410_wdt_variant *
>> s3c2410_get_wdt_drv_data(struct platform_device *pdev)
>> {
>> if (pdev->dev.of_node) {
>> const struct of_device_id *match;
>> match = of_match_node(s3c2410_wdt_match,
>> pdev->dev.of_node);
>> - return (struct s3c2410_wdt_variant *)match->data;
>> + return (const struct s3c2410_wdt_variant *)match->data;
>
>
> The const in this typecast isn't necessary.
>
>> } else {
>> - return (struct s3c2410_wdt_variant *)
>> + return (const struct s3c2410_wdt_variant *)
>
>
> Same here. Transition to const is automatic.
Right, I'll fix this and resend.
Best regards,
Krzysztof
--
To unsubscribe from this list: send the line "unsubscribe linux-watchdog" 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] 8+ messages in thread
end of thread, other threads:[~2017-03-13 6:47 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-11 17:42 [PATCH v2 0/3] watchdog: s3c2410: Minor cleanups Krzysztof Kozlowski
[not found] ` <20170311174255.23327-1-krzk-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2017-03-11 17:42 ` [PATCH v2 1/3] watchdog: s3c2410: Constify local structures Krzysztof Kozlowski
[not found] ` <20170311174255.23327-2-krzk-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2017-03-12 20:56 ` Guenter Roeck
[not found] ` <d91a14cc-d741-f4ff-7411-64d4862b6e50-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2017-03-13 6:47 ` Krzysztof Kozlowski
2017-03-11 17:42 ` [PATCH v2 2/3] watchdog: s3c2410: Simplify getting driver data Krzysztof Kozlowski
2017-03-12 21:00 ` Guenter Roeck
2017-03-11 17:42 ` [PATCH v2 3/3] watchdog: s3c2410: Minor code cleanup Krzysztof Kozlowski
2017-03-12 21:01 ` Guenter Roeck
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).