From: Sascha Hauer <s.hauer@pengutronix.de> To: linux-arm-kernel@lists.infradead.org Cc: "HACHIMI Samir" <shachimi@adeneo-embedded.com>, shawn.guo@linaro.org, thierry.reding@avionic-design.de, linux-kernel@vger.kernel.org, "Benoît Thébaudeau" <benoit.thebaudeau@advansee.com>, "Philipp Zabel" <p.zabel@pengutronix.de>, "Sascha Hauer" <s.hauer@pengutronix.de> Subject: [PATCH 5/9] pwm i.MX: add devicetree support Date: Tue, 28 Aug 2012 13:48:20 +0200 [thread overview] Message-ID: <1346154504-5623-6-git-send-email-s.hauer@pengutronix.de> (raw) In-Reply-To: <1346154504-5623-1-git-send-email-s.hauer@pengutronix.de> From: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> --- drivers/pwm/pwm-imx.c | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/drivers/pwm/pwm-imx.c b/drivers/pwm/pwm-imx.c index a689144..dfc1bae 100644 --- a/drivers/pwm/pwm-imx.c +++ b/drivers/pwm/pwm-imx.c @@ -16,9 +16,9 @@ #include <linux/clk.h> #include <linux/io.h> #include <linux/pwm.h> +#include <linux/of_device.h> #include <mach/hardware.h> - /* i.MX1 and i.MX21 share the same PWM function block: */ #define MX1_PWMC 0x00 /* PWM Control Register */ @@ -203,8 +203,17 @@ static struct pwm_ops imx_pwm_ops = { .owner = THIS_MODULE, }; +static const struct of_device_id imx_pwm_dt_ids[] = { + { .compatible = "fsl,imx1-pwm", .data = &imx_pwm_config_v1, }, + { .compatible = "fsl,imx27-pwm", .data = &imx_pwm_config_v2, }, + { /* sentinel */ } +}; +MODULE_DEVICE_TABLE(of, imx_pwm_of_match); + static int __devinit imx_pwm_probe(struct platform_device *pdev) { + const struct of_device_id *of_id = + of_match_device(imx_pwm_dt_ids, &pdev->dev); struct imx_chip *imx; struct resource *r; int ret = 0; @@ -235,12 +244,16 @@ static int __devinit imx_pwm_probe(struct platform_device *pdev) if (imx->mmio_base == NULL) return -EADDRNOTAVAIL; - if (cpu_is_mx1() || cpu_is_mx21()) { - imx->config = imx_pwm_config_v1; - imx->set_enable = imx_pwm_set_enable_v1; + if (of_id) { + imx->config = of_id->data; } else { - imx->config = imx_pwm_config_v2; - imx->set_enable = imx_pwm_set_enable_v2; + if (cpu_is_mx1() || cpu_is_mx21()) { + imx->config = imx_pwm_config_v1; + imx->set_enable = imx_pwm_set_enable_v1; + } else { + imx->config = imx_pwm_config_v2; + imx->set_enable = imx_pwm_set_enable_v2; + } } ret = pwmchip_add(&imx->chip); -- 1.7.10.4
WARNING: multiple messages have this Message-ID (diff)
From: s.hauer@pengutronix.de (Sascha Hauer) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH 5/9] pwm i.MX: add devicetree support Date: Tue, 28 Aug 2012 13:48:20 +0200 [thread overview] Message-ID: <1346154504-5623-6-git-send-email-s.hauer@pengutronix.de> (raw) In-Reply-To: <1346154504-5623-1-git-send-email-s.hauer@pengutronix.de> From: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> --- drivers/pwm/pwm-imx.c | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/drivers/pwm/pwm-imx.c b/drivers/pwm/pwm-imx.c index a689144..dfc1bae 100644 --- a/drivers/pwm/pwm-imx.c +++ b/drivers/pwm/pwm-imx.c @@ -16,9 +16,9 @@ #include <linux/clk.h> #include <linux/io.h> #include <linux/pwm.h> +#include <linux/of_device.h> #include <mach/hardware.h> - /* i.MX1 and i.MX21 share the same PWM function block: */ #define MX1_PWMC 0x00 /* PWM Control Register */ @@ -203,8 +203,17 @@ static struct pwm_ops imx_pwm_ops = { .owner = THIS_MODULE, }; +static const struct of_device_id imx_pwm_dt_ids[] = { + { .compatible = "fsl,imx1-pwm", .data = &imx_pwm_config_v1, }, + { .compatible = "fsl,imx27-pwm", .data = &imx_pwm_config_v2, }, + { /* sentinel */ } +}; +MODULE_DEVICE_TABLE(of, imx_pwm_of_match); + static int __devinit imx_pwm_probe(struct platform_device *pdev) { + const struct of_device_id *of_id = + of_match_device(imx_pwm_dt_ids, &pdev->dev); struct imx_chip *imx; struct resource *r; int ret = 0; @@ -235,12 +244,16 @@ static int __devinit imx_pwm_probe(struct platform_device *pdev) if (imx->mmio_base == NULL) return -EADDRNOTAVAIL; - if (cpu_is_mx1() || cpu_is_mx21()) { - imx->config = imx_pwm_config_v1; - imx->set_enable = imx_pwm_set_enable_v1; + if (of_id) { + imx->config = of_id->data; } else { - imx->config = imx_pwm_config_v2; - imx->set_enable = imx_pwm_set_enable_v2; + if (cpu_is_mx1() || cpu_is_mx21()) { + imx->config = imx_pwm_config_v1; + imx->set_enable = imx_pwm_set_enable_v1; + } else { + imx->config = imx_pwm_config_v2; + imx->set_enable = imx_pwm_set_enable_v2; + } } ret = pwmchip_add(&imx->chip); -- 1.7.10.4
next prev parent reply other threads:[~2012-08-28 11:49 UTC|newest] Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top 2012-08-28 11:48 i.MX pwm patches Sascha Hauer 2012-08-28 11:48 ` Sascha Hauer 2012-08-28 11:48 ` [PATCH 1/9] pwm i.MX: factor out SoC specific functions Sascha Hauer 2012-08-28 11:48 ` Sascha Hauer 2012-08-28 11:48 ` [PATCH 2/9] pwm i.MX: remove unnecessary if in pwm_[en|dis]able Sascha Hauer 2012-08-28 11:48 ` Sascha Hauer 2012-08-28 11:48 ` [PATCH 3/9] pwm i.MX: add functions to enable/disable pwm Sascha Hauer 2012-08-28 11:48 ` Sascha Hauer 2012-08-28 11:48 ` [PATCH 4/9] pwm i.MX: Use module_platform_driver Sascha Hauer 2012-08-28 11:48 ` Sascha Hauer 2012-08-28 11:48 ` Sascha Hauer [this message] 2012-08-28 11:48 ` [PATCH 5/9] pwm i.MX: add devicetree support Sascha Hauer 2012-08-30 22:26 ` Shawn Guo 2012-08-30 22:26 ` Shawn Guo 2012-08-28 11:48 ` [PATCH 6/9] pwm i.MX: use per clock unconditionally Sascha Hauer 2012-08-28 11:48 ` Sascha Hauer 2012-08-28 11:48 ` [PATCH 7/9] pwm i.MX: fix clock lookup Sascha Hauer 2012-08-28 11:48 ` Sascha Hauer 2012-08-28 11:48 ` [PATCH 8/9] ARM i.MX53: Add pwms to dtsi Sascha Hauer 2012-08-28 11:48 ` Sascha Hauer 2012-08-30 22:32 ` Shawn Guo 2012-08-30 22:32 ` Shawn Guo 2012-08-31 13:07 ` Sascha Hauer 2012-08-31 13:07 ` Sascha Hauer 2012-08-31 0:16 ` Shawn Guo 2012-08-31 0:16 ` Shawn Guo 2012-09-07 13:29 ` Thierry Reding 2012-09-07 13:29 ` Thierry Reding 2012-09-07 17:26 ` Sascha Hauer 2012-09-07 17:26 ` Sascha Hauer 2012-09-07 20:10 ` Thierry Reding 2012-09-07 20:10 ` Thierry Reding 2012-08-28 11:48 ` [PATCH 9/9] pwm i.MX: add devicetree support Sascha Hauer 2012-08-28 11:48 ` Sascha Hauer 2012-08-30 22:28 ` Shawn Guo 2012-08-30 22:28 ` Shawn Guo 2012-08-30 21:45 ` i.MX pwm patches Shawn Guo 2012-08-30 21:45 ` Shawn Guo 2012-08-31 13:05 ` Sascha Hauer 2012-08-31 13:05 ` Sascha Hauer 2012-09-06 12:48 [PATCH v3] pwm i.MX: add devicetree support Sascha Hauer 2012-09-06 12:48 ` [PATCH 5/9] " Sascha Hauer 2012-09-06 12:48 ` Sascha Hauer
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=1346154504-5623-6-git-send-email-s.hauer@pengutronix.de \ --to=s.hauer@pengutronix.de \ --cc=benoit.thebaudeau@advansee.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=p.zabel@pengutronix.de \ --cc=shachimi@adeneo-embedded.com \ --cc=shawn.guo@linaro.org \ --cc=thierry.reding@avionic-design.de \ /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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.