Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1510080
| From | Lukasz Majewski <l.majewski@majess.pl> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH v2 02/10] pwm: imx: Add separate set of pwm ops for PWMv1 and PWMv2 |
| Date | 2016-10-27 08:40 +0200 |
| Message-ID | <swMw3-6AV-55@gated-at.bofh.it> (permalink) |
| References | <swMw2-6AV-11@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
This patch provides separate set of pwm ops utilized by
i.MX's PWMv1 and PWMv2.
Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de>
Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com>
Signed-off-by: Lukasz Majewski <l.majewski@majess.pl>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Sascha Hauer <s.hauer@pengutronix.de>
---
Changes for v2:
- New patch
---
drivers/pwm/pwm-imx.c | 17 ++++++++++++++---
1 file changed, 14 insertions(+), 3 deletions(-)
diff --git a/drivers/pwm/pwm-imx.c b/drivers/pwm/pwm-imx.c
index d600fd5..ea3ce79 100644
--- a/drivers/pwm/pwm-imx.c
+++ b/drivers/pwm/pwm-imx.c
@@ -240,7 +240,14 @@ static void imx_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm)
clk_disable_unprepare(imx->clk_per);
}
-static struct pwm_ops imx_pwm_ops = {
+static struct pwm_ops imx_pwm_ops_v1 = {
+ .enable = imx_pwm_enable,
+ .disable = imx_pwm_disable,
+ .config = imx_pwm_config,
+ .owner = THIS_MODULE,
+};
+
+static struct pwm_ops imx_pwm_ops_v2 = {
.enable = imx_pwm_enable,
.disable = imx_pwm_disable,
.config = imx_pwm_config,
@@ -251,16 +258,19 @@ struct imx_pwm_data {
int (*config)(struct pwm_chip *chip,
struct pwm_device *pwm, int duty_ns, int period_ns);
void (*set_enable)(struct pwm_chip *chip, bool enable);
+ struct pwm_ops *pwm_ops;
};
static struct imx_pwm_data imx_pwm_data_v1 = {
.config = imx_pwm_config_v1,
.set_enable = imx_pwm_set_enable_v1,
+ .pwm_ops = &imx_pwm_ops_v1,
};
static struct imx_pwm_data imx_pwm_data_v2 = {
.config = imx_pwm_config_v2,
.set_enable = imx_pwm_set_enable_v2,
+ .pwm_ops = &imx_pwm_ops_v2,
};
static const struct of_device_id imx_pwm_dt_ids[] = {
@@ -282,6 +292,8 @@ static int imx_pwm_probe(struct platform_device *pdev)
if (!of_id)
return -ENODEV;
+ data = of_id->data;
+
imx = devm_kzalloc(&pdev->dev, sizeof(*imx), GFP_KERNEL);
if (imx == NULL)
return -ENOMEM;
@@ -300,7 +312,7 @@ static int imx_pwm_probe(struct platform_device *pdev)
return PTR_ERR(imx->clk_ipg);
}
- imx->chip.ops = &imx_pwm_ops;
+ imx->chip.ops = data->pwm_ops;
imx->chip.dev = &pdev->dev;
imx->chip.base = -1;
imx->chip.npwm = 1;
@@ -311,7 +323,6 @@ static int imx_pwm_probe(struct platform_device *pdev)
if (IS_ERR(imx->mmio_base))
return PTR_ERR(imx->mmio_base);
- data = of_id->data;
imx->config = data->config;
imx->set_enable = data->set_enable;
--
2.1.4
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH v2 00/10] pwm: imx: Provide atomic operation for IMX PWM driver Lukasz Majewski <l.majewski@majess.pl> - 2016-10-27 08:40 +0200
[PATCH v2 06/10] pwm: imx: Provide atomic PWM support for i.MX PWMv2 Lukasz Majewski <l.majewski@majess.pl> - 2016-10-27 08:40 +0200
[PATCH v2 04/10] pwm: imx: Move PWMv2 software reset code to a separate function Lukasz Majewski <l.majewski@majess.pl> - 2016-10-27 08:40 +0200
Re: [PATCH v2 04/10] pwm: imx: Move PWMv2 software reset code to a separate function Philipp Zabel <p.zabel@pengutronix.de> - 2016-11-03 10:40 +0100
[PATCH v2 02/10] pwm: imx: Add separate set of pwm ops for PWMv1 and PWMv2 Lukasz Majewski <l.majewski@majess.pl> - 2016-10-27 08:40 +0200
[PATCH v2 05/10] pwm: imx: Move PWMv2 wait for fifo slot code to a separate function Lukasz Majewski <l.majewski@majess.pl> - 2016-10-27 08:50 +0200
[PATCH v2 03/10] pwm: imx: Rewrite imx_pwm_*_v1 code to facilitate switch to atomic pwm operation Lukasz Majewski <l.majewski@majess.pl> - 2016-10-27 08:50 +0200
Re: [PATCH v2 03/10] pwm: imx: Rewrite imx_pwm_*_v1 code to facilitate switch to atomic pwm operation Boris Brezillon <boris.brezillon@free-electrons.com> - 2016-10-27 09:50 +0200
Re: [PATCH v2 03/10] pwm: imx: Rewrite imx_pwm_*_v1 code to facilitate switch to atomic pwm operation Lukasz Majewski <l.majewski@majess.pl> - 2016-10-27 16:40 +0200
Re: [PATCH v2 03/10] pwm: imx: Rewrite imx_pwm_*_v1 code to facilitate switch to atomic pwm operation Sascha Hauer <s.hauer@pengutronix.de> - 2016-10-31 07:10 +0100
Re: [PATCH v2 03/10] pwm: imx: Rewrite imx_pwm_*_v1 code to facilitate switch to atomic pwm operation Lukasz Majewski <l.majewski@majess.pl> - 2016-10-31 09:20 +0100
Re: [PATCH v2 03/10] pwm: imx: Rewrite imx_pwm_*_v1 code to facilitate switch to atomic pwm operation Sascha Hauer <s.hauer@pengutronix.de> - 2016-10-31 10:30 +0100
Re: [PATCH v2 03/10] pwm: imx: Rewrite imx_pwm_*_v1 code to facilitate switch to atomic pwm operation Sascha Hauer <s.hauer@pengutronix.de> - 2016-10-31 10:40 +0100
Re: [PATCH v2 03/10] pwm: imx: Rewrite imx_pwm_*_v1 code to facilitate switch to atomic pwm operation Lukasz Majewski <l.majewski@majess.pl> - 2016-10-31 13:00 +0100
Re: [PATCH v2 03/10] pwm: imx: Rewrite imx_pwm_*_v1 code to facilitate switch to atomic pwm operation Lukasz Majewski <l.majewski@majess.pl> - 2016-11-01 07:00 +0100
Re: [PATCH v2 03/10] pwm: imx: Rewrite imx_pwm_*_v1 code to facilitate switch to atomic pwm operation Sascha Hauer <s.hauer@pengutronix.de> - 2016-11-01 08:20 +0100
Re: [PATCH v2 03/10] pwm: imx: Rewrite imx_pwm_*_v1 code to facilitate switch to atomic pwm operation Lukasz Majewski <l.majewski@majess.pl> - 2016-11-01 09:30 +0100
Re: [PATCH v2 03/10] pwm: imx: Rewrite imx_pwm_*_v1 code to facilitate switch to atomic pwm operation Sascha Hauer <s.hauer@pengutronix.de> - 2016-11-01 10:00 +0100
Re: [PATCH v2 03/10] pwm: imx: Rewrite imx_pwm_*_v1 code to facilitate switch to atomic pwm operation Lothar Waßmann <LW@KARO-electronics.de> - 2016-11-02 08:40 +0100
Re: [PATCH v2 03/10] pwm: imx: Rewrite imx_pwm_*_v1 code to facilitate switch to atomic pwm operation Sascha Hauer <s.hauer@pengutronix.de> - 2016-11-02 08:40 +0100
Re: [PATCH v2 03/10] pwm: imx: Rewrite imx_pwm_*_v1 code to facilitate switch to atomic pwm operation Lothar Waßmann <LW@KARO-electronics.de> - 2016-11-02 09:00 +0100
Re: [PATCH v2 03/10] pwm: imx: Rewrite imx_pwm_*_v1 code to facilitate switch to atomic pwm operation Sascha Hauer <s.hauer@pengutronix.de> - 2016-11-02 09:10 +0100
Re: [PATCH v2 03/10] pwm: imx: Rewrite imx_pwm_*_v1 code to facilitate switch to atomic pwm operation Lothar Waßmann <LW@KARO-electronics.de> - 2016-11-02 10:00 +0100
Re: [PATCH v2 03/10] pwm: imx: Rewrite imx_pwm_*_v1 code to facilitate switch to atomic pwm operation Philipp Zabel <p.zabel@pengutronix.de> - 2016-11-02 10:40 +0100
[PATCH v2 08/10] pwm: core: make the PWM_POLARITY flag in DTB optional Lukasz Majewski <l.majewski@majess.pl> - 2016-10-27 08:50 +0200
[PATCH v2 10/10] pwm: imx: Add polarity inversion support to i.MX's PWMv2 Lukasz Majewski <l.majewski@majess.pl> - 2016-10-27 08:50 +0200
[PATCH v2 07/10] pwm: imx: Remove redundant i.MX PWMv2 code Lukasz Majewski <l.majewski@majess.pl> - 2016-10-27 08:50 +0200
csiph-web