From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
Wolfram Sang <wsa@kernel.org>,
Marc Kleine-Budde <mkl@pengutronix.de>,
Damien Le Moal <damien.lemoal@opensource.wdc.com>,
Mark Brown <broonie@kernel.org>,
chris.packham@alliedtelesis.co.nz,
Sergey Shtylyov <s.shtylyov@omp.ru>,
"David S. Miller" <davem@davemloft.net>,
Jakub Kicinski <kuba@kernel.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Jiri Slaby <jirislaby@kernel.org>,
linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org,
linux-ide@vger.kernel.org, linux-i2c@vger.kernel.org,
linux-can@vger.kernel.org, netdev@vger.kernel.org,
linux-spi@vger.kernel.org, linux-serial@vger.kernel.org
Cc: Michael Ellerman <mpe@ellerman.id.au>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Paul Mackerras <paulus@samba.org>,
Anatolij Gustschin <agust@denx.de>,
Wolfgang Grandegger <wg@grandegger.com>,
Eric Dumazet <edumazet@google.com>,
Paolo Abeni <pabeni@redhat.com>,
Pantelis Antoniou <pantelis.antoniou@gmail.com>
Subject: [PATCH v2 4/4] powerpc/52xx: Convert to use fwnode API
Date: Sat, 7 May 2022 13:01:47 +0300 [thread overview]
Message-ID: <20220507100147.5802-4-andriy.shevchenko@linux.intel.com> (raw)
In-Reply-To: <20220507100147.5802-1-andriy.shevchenko@linux.intel.com>
We may convert the GPT driver to use fwnode API for the sake
of consistency of the used APIs inside the driver.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
v2: no changes
arch/powerpc/platforms/52xx/mpc52xx_gpt.c | 47 +++++++++++------------
1 file changed, 22 insertions(+), 25 deletions(-)
diff --git a/arch/powerpc/platforms/52xx/mpc52xx_gpt.c b/arch/powerpc/platforms/52xx/mpc52xx_gpt.c
index ae47fdcc8a96..58c3651034bd 100644
--- a/arch/powerpc/platforms/52xx/mpc52xx_gpt.c
+++ b/arch/powerpc/platforms/52xx/mpc52xx_gpt.c
@@ -53,10 +53,9 @@
#include <linux/interrupt.h>
#include <linux/io.h>
#include <linux/list.h>
+#include <linux/mod_devicetable.h>
+#include <linux/module.h>
#include <linux/mutex.h>
-#include <linux/of.h>
-#include <linux/of_platform.h>
-#include <linux/of_gpio.h>
#include <linux/kernel.h>
#include <linux/property.h>
#include <linux/slab.h>
@@ -64,7 +63,7 @@
#include <linux/watchdog.h>
#include <linux/miscdevice.h>
#include <linux/uaccess.h>
-#include <linux/module.h>
+
#include <asm/div64.h>
#include <asm/mpc52xx.h>
@@ -235,18 +234,17 @@ static const struct irq_domain_ops mpc52xx_gpt_irq_ops = {
.xlate = mpc52xx_gpt_irq_xlate,
};
-static void
-mpc52xx_gpt_irq_setup(struct mpc52xx_gpt_priv *gpt, struct device_node *node)
+static void mpc52xx_gpt_irq_setup(struct mpc52xx_gpt_priv *gpt)
{
int cascade_virq;
unsigned long flags;
u32 mode;
- cascade_virq = irq_of_parse_and_map(node, 0);
- if (!cascade_virq)
+ cascade_virq = platform_get_irq(to_platform_device(gpt->dev), 0);
+ if (cascade_virq < 0)
return;
- gpt->irqhost = irq_domain_add_linear(node, 1, &mpc52xx_gpt_irq_ops, gpt);
+ gpt->irqhost = irq_domain_create_linear(dev_fwnode(gpt->dev), 1, &mpc52xx_gpt_irq_ops, gpt);
if (!gpt->irqhost) {
dev_err(gpt->dev, "irq_domain_add_linear() failed\n");
return;
@@ -670,8 +668,7 @@ static int mpc52xx_gpt_wdt_init(void)
return err;
}
-static int mpc52xx_gpt_wdt_setup(struct mpc52xx_gpt_priv *gpt,
- const u32 *period)
+static int mpc52xx_gpt_wdt_setup(struct mpc52xx_gpt_priv *gpt, const u32 period)
{
u64 real_timeout;
@@ -679,14 +676,14 @@ static int mpc52xx_gpt_wdt_setup(struct mpc52xx_gpt_priv *gpt,
mpc52xx_gpt_wdt = gpt;
/* configure the wdt if the device tree contained a timeout */
- if (!period || *period == 0)
+ if (period == 0)
return 0;
- real_timeout = (u64) *period * 1000000000ULL;
+ real_timeout = (u64)period * 1000000000ULL;
if (mpc52xx_gpt_do_start(gpt, real_timeout, 0, 1))
dev_warn(gpt->dev, "starting as wdt failed\n");
else
- dev_info(gpt->dev, "watchdog set to %us timeout\n", *period);
+ dev_info(gpt->dev, "watchdog set to %us timeout\n", period);
return 0;
}
@@ -697,8 +694,7 @@ static int mpc52xx_gpt_wdt_init(void)
return 0;
}
-static inline int mpc52xx_gpt_wdt_setup(struct mpc52xx_gpt_priv *gpt,
- const u32 *period)
+static inline int mpc52xx_gpt_wdt_setup(struct mpc52xx_gpt_priv *gpt, const u32 period)
{
return 0;
}
@@ -726,25 +722,26 @@ static int mpc52xx_gpt_probe(struct platform_device *ofdev)
dev_set_drvdata(&ofdev->dev, gpt);
mpc52xx_gpt_gpio_setup(gpt);
- mpc52xx_gpt_irq_setup(gpt, ofdev->dev.of_node);
+ mpc52xx_gpt_irq_setup(gpt);
mutex_lock(&mpc52xx_gpt_list_mutex);
list_add(&gpt->list, &mpc52xx_gpt_list);
mutex_unlock(&mpc52xx_gpt_list_mutex);
/* check if this device could be a watchdog */
- if (of_get_property(ofdev->dev.of_node, "fsl,has-wdt", NULL) ||
- of_get_property(ofdev->dev.of_node, "has-wdt", NULL)) {
- const u32 *on_boot_wdt;
+ if (device_property_present(gpt->dev, "fsl,has-wdt") ||
+ device_property_present(gpt->dev, "has-wdt")) {
+ u32 on_boot_wdt = 0;
+ int ret;
gpt->wdt_mode = MPC52xx_GPT_CAN_WDT;
- on_boot_wdt = of_get_property(ofdev->dev.of_node,
- "fsl,wdt-on-boot", NULL);
- if (on_boot_wdt) {
+ ret = device_property_read_u32(gpt->dev, "fsl,wdt-on-boot", &on_boot_wdt);
+ if (ret) {
+ dev_info(gpt->dev, "can function as watchdog\n");
+ } else {
dev_info(gpt->dev, "used as watchdog\n");
gpt->wdt_mode |= MPC52xx_GPT_IS_WDT;
- } else
- dev_info(gpt->dev, "can function as watchdog\n");
+ }
mpc52xx_gpt_wdt_setup(gpt, on_boot_wdt);
}
--
2.35.1
next prev parent reply other threads:[~2022-05-07 10:02 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-07 10:01 [PATCH v2 1/4] powerpc/52xx: Remove dead code, i.e. mpc52xx_get_xtal_freq() Andy Shevchenko
2022-05-07 10:01 ` [PATCH v2 2/4] powerpc/mpc5xxx: Switch mpc5xxx_get_bus_frequency() to use fwnode Andy Shevchenko
2022-05-07 10:01 ` [PATCH v2 3/4] powerpc/52xx: Get rid of of_node assignment Andy Shevchenko
2022-05-07 10:01 ` Andy Shevchenko [this message]
2022-05-16 13:48 ` [PATCH v2 4/4] powerpc/52xx: Convert to use fwnode API Michael Ellerman
2022-05-16 14:05 ` Andy Shevchenko
2022-05-16 14:10 ` Andy Shevchenko
2022-05-16 23:38 ` Michael Ellerman
2022-05-17 16:30 ` Andy Shevchenko
2022-06-29 12:15 ` [PATCH v2 1/4] powerpc/52xx: Remove dead code, i.e. mpc52xx_get_xtal_freq() Michael Ellerman
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=20220507100147.5802-4-andriy.shevchenko@linux.intel.com \
--to=andriy.shevchenko@linux.intel.com \
--cc=agust@denx.de \
--cc=benh@kernel.crashing.org \
--cc=broonie@kernel.org \
--cc=chris.packham@alliedtelesis.co.nz \
--cc=damien.lemoal@opensource.wdc.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=gregkh@linuxfoundation.org \
--cc=jirislaby@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-can@vger.kernel.org \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-ide@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=linux-spi@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mkl@pengutronix.de \
--cc=mpe@ellerman.id.au \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=pantelis.antoniou@gmail.com \
--cc=paulus@samba.org \
--cc=s.shtylyov@omp.ru \
--cc=wg@grandegger.com \
--cc=wsa@kernel.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;
as well as URLs for NNTP newsgroup(s).