Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1598389 > unrolled thread
| Started by | Krzysztof Kozlowski <krzk@kernel.org> |
|---|---|
| First post | 2017-03-11 18:50 +0100 |
| Last post | 2017-03-13 07:50 +0100 |
| Articles | 6 — 2 participants |
Back to article view | Back to linux.kernel
[PATCH v2 0/3] watchdog: s3c2410: Minor cleanups Krzysztof Kozlowski <krzk@kernel.org> - 2017-03-11 18:50 +0100
[PATCH v2 3/3] watchdog: s3c2410: Minor code cleanup Krzysztof Kozlowski <krzk@kernel.org> - 2017-03-11 18:50 +0100
Re: [PATCH v2 3/3] watchdog: s3c2410: Minor code cleanup Guenter Roeck <linux@roeck-us.net> - 2017-03-12 22:10 +0100
[PATCH v2 1/3] watchdog: s3c2410: Constify local structures Krzysztof Kozlowski <krzk@kernel.org> - 2017-03-11 18:50 +0100
Re: [PATCH v2 1/3] watchdog: s3c2410: Constify local structures Guenter Roeck <linux@roeck-us.net> - 2017-03-12 22:00 +0100
Re: [PATCH v2 1/3] watchdog: s3c2410: Constify local structures Krzysztof Kozlowski <krzk@kernel.org> - 2017-03-13 07:50 +0100
| From | Krzysztof Kozlowski <krzk@kernel.org> |
|---|---|
| Date | 2017-03-11 18:50 +0100 |
| Subject | [PATCH v2 0/3] watchdog: s3c2410: Minor cleanups |
| Message-ID | <tjTjr-65c-3@gated-at.bofh.it> |
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
[toc] | [next] | [standalone]
| From | Krzysztof Kozlowski <krzk@kernel.org> |
|---|---|
| Date | 2017-03-11 18:50 +0100 |
| Subject | [PATCH v2 3/3] watchdog: s3c2410: Minor code cleanup |
| Message-ID | <tjTjr-65c-5@gated-at.bofh.it> |
| In reply to | #1598389 |
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
[toc] | [prev] | [next] | [standalone]
| From | Guenter Roeck <linux@roeck-us.net> |
|---|---|
| Date | 2017-03-12 22:10 +0100 |
| Subject | Re: [PATCH v2 3/3] watchdog: s3c2410: Minor code cleanup |
| Message-ID | <tkiUx-73E-1@gated-at.bofh.it> |
| In reply to | #1598390 |
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");
>
[toc] | [prev] | [next] | [standalone]
| From | Krzysztof Kozlowski <krzk@kernel.org> |
|---|---|
| Date | 2017-03-11 18:50 +0100 |
| Subject | [PATCH v2 1/3] watchdog: s3c2410: Constify local structures |
| Message-ID | <tjTjr-65c-11@gated-at.bofh.it> |
| In reply to | #1598389 |
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@kernel.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
[toc] | [prev] | [next] | [standalone]
| From | Guenter Roeck <linux@roeck-us.net> |
|---|---|
| Date | 2017-03-12 22:00 +0100 |
| Subject | Re: [PATCH v2 1/3] watchdog: s3c2410: Constify local structures |
| Message-ID | <tkiKS-6Jc-35@gated-at.bofh.it> |
| In reply to | #1598391 |
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@kernel.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;
> }
> }
>
[toc] | [prev] | [next] | [standalone]
| From | Krzysztof Kozlowski <krzk@kernel.org> |
|---|---|
| Date | 2017-03-13 07:50 +0100 |
| Subject | Re: [PATCH v2 1/3] watchdog: s3c2410: Constify local structures |
| Message-ID | <tkrXQ-4X5-17@gated-at.bofh.it> |
| In reply to | #1598757 |
On Sun, Mar 12, 2017 at 10:56 PM, Guenter Roeck <linux@roeck-us.net> 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@kernel.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
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web