From: Jonathan Cameron <jic23@kernel.org> To: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de> Cc: William Breathitt Gray <vilhelm.gray@gmail.com>, Lars-Peter Clausen <lars@metafoo.de>, kernel@pengutronix.de, Jonathan Cameron <Jonathan.Cameron@huawei.com>, linux-iio@vger.kernel.org, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, linux-kernel@vger.kernel.org, Fabrice Gasnier <fabrice.gasnier@foss.st.com>, Maxime Coquelin <mcoquelin.stm32@gmail.com>, Alexandre Torgue <alexandre.torgue@foss.st.com>, Benjamin Gaignard <benjamin.gaignard@st.com>, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH v2 20/23] counter: stm32-timer-cnt: Convert to new counter registration Date: Tue, 28 Dec 2021 18:25:21 +0000 [thread overview] Message-ID: <20211228182521.1774dc79@jic23-huawei> (raw) In-Reply-To: <20211227094526.698714-21-u.kleine-koenig@pengutronix.de> On Mon, 27 Dec 2021 10:45:23 +0100 Uwe Kleine-König <u.kleine-koenig@pengutronix.de> wrote: > This fixes device lifetime issues where it was possible to free a live > struct device. > > Fixes: ad29937e206f ("counter: Add STM32 Timer quadrature encoder") > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Same basic form as all the others so easy to review (hopefully :) Jonathan > --- > drivers/counter/stm32-timer-cnt.c | 30 ++++++++++++++++++------------ > 1 file changed, 18 insertions(+), 12 deletions(-) > > diff --git a/drivers/counter/stm32-timer-cnt.c b/drivers/counter/stm32-timer-cnt.c > index 4b05b198a8d8..5779ae7c73cf 100644 > --- a/drivers/counter/stm32-timer-cnt.c > +++ b/drivers/counter/stm32-timer-cnt.c > @@ -29,7 +29,6 @@ struct stm32_timer_regs { > }; > > struct stm32_timer_cnt { > - struct counter_device counter; > struct regmap *regmap; > struct clk *clk; > u32 max_arr; > @@ -317,31 +316,38 @@ static int stm32_timer_cnt_probe(struct platform_device *pdev) > struct stm32_timers *ddata = dev_get_drvdata(pdev->dev.parent); > struct device *dev = &pdev->dev; > struct stm32_timer_cnt *priv; > + struct counter_device *counter; > + int ret; > > if (IS_ERR_OR_NULL(ddata)) > return -EINVAL; > > - priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); > - if (!priv) > + counter = devm_counter_alloc(dev, sizeof(*priv)); > + if (!counter) > return -ENOMEM; > > + priv = counter_priv(counter); > + > priv->regmap = ddata->regmap; > priv->clk = ddata->clk; > priv->max_arr = ddata->max_arr; > > - priv->counter.name = dev_name(dev); > - priv->counter.parent = dev; > - priv->counter.ops = &stm32_timer_cnt_ops; > - priv->counter.counts = &stm32_counts; > - priv->counter.num_counts = 1; > - priv->counter.signals = stm32_signals; > - priv->counter.num_signals = ARRAY_SIZE(stm32_signals); > - priv->counter.priv = priv; > + counter->name = dev_name(dev); > + counter->parent = dev; > + counter->ops = &stm32_timer_cnt_ops; > + counter->counts = &stm32_counts; > + counter->num_counts = 1; > + counter->signals = stm32_signals; > + counter->num_signals = ARRAY_SIZE(stm32_signals); > > platform_set_drvdata(pdev, priv); > > /* Register Counter device */ > - return devm_counter_register(dev, &priv->counter); > + ret = devm_counter_add(dev, counter); > + if (ret < 0) > + dev_err_probe(dev, ret, "Failed to add counter\n"); > + > + return ret; > } > > static int __maybe_unused stm32_timer_cnt_suspend(struct device *dev)
WARNING: multiple messages have this Message-ID (diff)
From: Jonathan Cameron <jic23@kernel.org> To: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de> Cc: William Breathitt Gray <vilhelm.gray@gmail.com>, Lars-Peter Clausen <lars@metafoo.de>, kernel@pengutronix.de, Jonathan Cameron <Jonathan.Cameron@huawei.com>, linux-iio@vger.kernel.org, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, linux-kernel@vger.kernel.org, Fabrice Gasnier <fabrice.gasnier@foss.st.com>, Maxime Coquelin <mcoquelin.stm32@gmail.com>, Alexandre Torgue <alexandre.torgue@foss.st.com>, Benjamin Gaignard <benjamin.gaignard@st.com>, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH v2 20/23] counter: stm32-timer-cnt: Convert to new counter registration Date: Tue, 28 Dec 2021 18:25:21 +0000 [thread overview] Message-ID: <20211228182521.1774dc79@jic23-huawei> (raw) In-Reply-To: <20211227094526.698714-21-u.kleine-koenig@pengutronix.de> On Mon, 27 Dec 2021 10:45:23 +0100 Uwe Kleine-König <u.kleine-koenig@pengutronix.de> wrote: > This fixes device lifetime issues where it was possible to free a live > struct device. > > Fixes: ad29937e206f ("counter: Add STM32 Timer quadrature encoder") > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Same basic form as all the others so easy to review (hopefully :) Jonathan > --- > drivers/counter/stm32-timer-cnt.c | 30 ++++++++++++++++++------------ > 1 file changed, 18 insertions(+), 12 deletions(-) > > diff --git a/drivers/counter/stm32-timer-cnt.c b/drivers/counter/stm32-timer-cnt.c > index 4b05b198a8d8..5779ae7c73cf 100644 > --- a/drivers/counter/stm32-timer-cnt.c > +++ b/drivers/counter/stm32-timer-cnt.c > @@ -29,7 +29,6 @@ struct stm32_timer_regs { > }; > > struct stm32_timer_cnt { > - struct counter_device counter; > struct regmap *regmap; > struct clk *clk; > u32 max_arr; > @@ -317,31 +316,38 @@ static int stm32_timer_cnt_probe(struct platform_device *pdev) > struct stm32_timers *ddata = dev_get_drvdata(pdev->dev.parent); > struct device *dev = &pdev->dev; > struct stm32_timer_cnt *priv; > + struct counter_device *counter; > + int ret; > > if (IS_ERR_OR_NULL(ddata)) > return -EINVAL; > > - priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); > - if (!priv) > + counter = devm_counter_alloc(dev, sizeof(*priv)); > + if (!counter) > return -ENOMEM; > > + priv = counter_priv(counter); > + > priv->regmap = ddata->regmap; > priv->clk = ddata->clk; > priv->max_arr = ddata->max_arr; > > - priv->counter.name = dev_name(dev); > - priv->counter.parent = dev; > - priv->counter.ops = &stm32_timer_cnt_ops; > - priv->counter.counts = &stm32_counts; > - priv->counter.num_counts = 1; > - priv->counter.signals = stm32_signals; > - priv->counter.num_signals = ARRAY_SIZE(stm32_signals); > - priv->counter.priv = priv; > + counter->name = dev_name(dev); > + counter->parent = dev; > + counter->ops = &stm32_timer_cnt_ops; > + counter->counts = &stm32_counts; > + counter->num_counts = 1; > + counter->signals = stm32_signals; > + counter->num_signals = ARRAY_SIZE(stm32_signals); > > platform_set_drvdata(pdev, priv); > > /* Register Counter device */ > - return devm_counter_register(dev, &priv->counter); > + ret = devm_counter_add(dev, counter); > + if (ret < 0) > + dev_err_probe(dev, ret, "Failed to add counter\n"); > + > + return ret; > } > > static int __maybe_unused stm32_timer_cnt_suspend(struct device *dev) _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2021-12-28 18:19 UTC|newest] Thread overview: 125+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-12-27 9:45 [PATCH v2 00/23] counter: cleanups and device lifetime fixes Uwe Kleine-König 2021-12-27 9:45 ` Uwe Kleine-König 2021-12-27 9:45 ` [PATCH v2 01/23] counter: Use container_of instead of drvdata to track counter_device Uwe Kleine-König 2021-12-28 17:14 ` Jonathan Cameron 2021-12-29 6:38 ` William Breathitt Gray 2021-12-27 9:45 ` [PATCH v2 02/23] counter: ftm-quaddec: Drop unused platform_set_drvdata() Uwe Kleine-König 2021-12-28 17:37 ` Jonathan Cameron 2021-12-29 6:42 ` William Breathitt Gray 2021-12-27 9:45 ` [PATCH v2 03/23] counter: microchip-tcb-capture: " Uwe Kleine-König 2021-12-27 9:45 ` Uwe Kleine-König 2021-12-28 17:38 ` Jonathan Cameron 2021-12-28 17:38 ` Jonathan Cameron 2021-12-29 6:44 ` William Breathitt Gray 2021-12-29 6:44 ` William Breathitt Gray 2021-12-27 9:45 ` [PATCH v2 04/23] counter: Provide a wrapper to access device private data Uwe Kleine-König 2021-12-27 11:02 ` Greg Kroah-Hartman 2021-12-27 11:34 ` Lars-Peter Clausen 2021-12-27 11:52 ` Greg Kroah-Hartman 2021-12-27 12:28 ` Lars-Peter Clausen 2021-12-28 18:01 ` Jonathan Cameron 2021-12-29 6:47 ` William Breathitt Gray 2021-12-27 9:45 ` [PATCH v2 05/23] counter: 104-quad-8: Convert to counter_priv() wrapper Uwe Kleine-König 2021-12-28 18:02 ` Jonathan Cameron 2021-12-29 11:11 ` Uwe Kleine-König 2021-12-29 7:27 ` William Breathitt Gray 2021-12-29 11:15 ` Uwe Kleine-König 2021-12-29 22:40 ` William Breathitt Gray 2021-12-27 9:45 ` [PATCH v2 06/23] counter: interrupt-cnt: " Uwe Kleine-König 2021-12-28 18:04 ` Jonathan Cameron 2021-12-29 7:34 ` William Breathitt Gray 2021-12-27 9:45 ` [PATCH v2 07/23] counter: microchip-tcb-capture: " Uwe Kleine-König 2021-12-27 9:45 ` Uwe Kleine-König 2021-12-28 18:05 ` Jonathan Cameron 2021-12-28 18:05 ` Jonathan Cameron 2021-12-29 7:35 ` William Breathitt Gray 2021-12-29 7:35 ` William Breathitt Gray 2021-12-27 9:45 ` [PATCH v2 08/23] counter: intel-qep: " Uwe Kleine-König 2021-12-28 18:06 ` Jonathan Cameron 2021-12-29 7:35 ` William Breathitt Gray 2021-12-29 12:43 ` Jarkko Nikula 2021-12-27 9:45 ` [PATCH v2 09/23] counter: ftm-quaddec: " Uwe Kleine-König 2021-12-28 18:07 ` Jonathan Cameron 2021-12-29 7:36 ` William Breathitt Gray 2021-12-27 9:45 ` [PATCH v2 10/23] counter: ti-eqep: " Uwe Kleine-König 2021-12-28 18:07 ` Jonathan Cameron 2021-12-29 7:45 ` William Breathitt Gray 2021-12-29 11:19 ` Uwe Kleine-König 2021-12-27 9:45 ` [PATCH v2 11/23] counter: stm32-lptimer-cnt: " Uwe Kleine-König 2021-12-27 9:45 ` Uwe Kleine-König 2021-12-28 18:08 ` Jonathan Cameron 2021-12-28 18:08 ` Jonathan Cameron 2021-12-29 7:48 ` William Breathitt Gray 2021-12-29 7:48 ` William Breathitt Gray 2021-12-27 9:45 ` [PATCH v2 12/23] counter: stm32-timer-cnt: " Uwe Kleine-König 2021-12-27 9:45 ` Uwe Kleine-König 2021-12-28 18:08 ` Jonathan Cameron 2021-12-28 18:08 ` Jonathan Cameron 2021-12-29 7:48 ` William Breathitt Gray 2021-12-29 7:48 ` William Breathitt Gray 2021-12-27 9:45 ` [PATCH v2 13/23] counter: Provide alternative counter registration functions Uwe Kleine-König 2021-12-27 12:16 ` Lars-Peter Clausen 2021-12-28 11:22 ` Uwe Kleine-König 2021-12-27 12:18 ` kernel test robot 2021-12-27 12:18 ` kernel test robot 2021-12-28 18:00 ` Jonathan Cameron 2021-12-29 11:27 ` Uwe Kleine-König 2021-12-29 12:07 ` Uwe Kleine-König 2021-12-29 13:49 ` Jarkko Nikula 2021-12-29 15:47 ` Uwe Kleine-König 2021-12-29 8:13 ` William Breathitt Gray 2021-12-27 9:45 ` [PATCH v2 14/23] counter: Update documentation for new " Uwe Kleine-König 2021-12-28 18:12 ` Jonathan Cameron 2021-12-29 8:19 ` William Breathitt Gray 2021-12-27 9:45 ` [PATCH v2 15/23] counter: 104-quad-8: Convert to new counter registration Uwe Kleine-König 2021-12-27 12:19 ` Lars-Peter Clausen 2021-12-28 11:06 ` Uwe Kleine-König 2021-12-28 18:17 ` Jonathan Cameron 2021-12-29 8:24 ` William Breathitt Gray 2021-12-27 9:45 ` [PATCH v2 16/23] counter: interrupt-cnt: " Uwe Kleine-König 2021-12-27 10:59 ` Greg Kroah-Hartman 2021-12-27 11:21 ` Lars-Peter Clausen 2021-12-27 11:34 ` Greg Kroah-Hartman 2021-12-27 11:44 ` Lars-Peter Clausen 2021-12-27 21:09 ` Uwe Kleine-König 2021-12-28 18:18 ` Jonathan Cameron 2021-12-29 8:27 ` William Breathitt Gray 2021-12-27 9:45 ` [PATCH v2 17/23] counter: intel-qep: " Uwe Kleine-König 2021-12-27 15:02 ` Jarkko Nikula 2021-12-28 10:56 ` Uwe Kleine-König 2021-12-29 12:42 ` Jarkko Nikula 2021-12-28 18:20 ` Jonathan Cameron 2021-12-29 8:29 ` William Breathitt Gray 2021-12-27 9:45 ` [PATCH v2 18/23] counter: ftm-quaddec: " Uwe Kleine-König 2021-12-28 18:23 ` Jonathan Cameron 2021-12-29 8:33 ` William Breathitt Gray 2021-12-27 9:45 ` [PATCH v2 19/23] counter: microchip-tcb-capture: " Uwe Kleine-König 2021-12-28 18:24 ` Jonathan Cameron 2021-12-29 8:36 ` William Breathitt Gray 2021-12-27 9:45 ` [PATCH v2 20/23] counter: stm32-timer-cnt: " Uwe Kleine-König 2021-12-27 9:45 ` Uwe Kleine-König 2021-12-28 18:25 ` Jonathan Cameron [this message] 2021-12-28 18:25 ` Jonathan Cameron 2021-12-29 8:37 ` William Breathitt Gray 2021-12-29 8:37 ` William Breathitt Gray 2021-12-27 9:45 ` [PATCH v2 21/23] counter: stm32-lptimer-cnt: " Uwe Kleine-König 2021-12-27 9:45 ` Uwe Kleine-König 2021-12-28 18:26 ` Jonathan Cameron 2021-12-28 18:26 ` Jonathan Cameron 2021-12-29 8:39 ` William Breathitt Gray 2021-12-29 8:39 ` William Breathitt Gray 2021-12-27 9:45 ` [PATCH v2 22/23] counter: ti-eqep: " Uwe Kleine-König 2021-12-28 18:29 ` Jonathan Cameron 2021-12-29 8:41 ` William Breathitt Gray 2021-12-27 9:45 ` [PATCH v2 23/23] counter: remove old and now unused registration API Uwe Kleine-König 2021-12-28 18:31 ` Jonathan Cameron 2021-12-29 8:43 ` William Breathitt Gray 2021-12-27 12:25 ` [PATCH v2 00/23] counter: cleanups and device lifetime fixes Lars-Peter Clausen 2021-12-27 12:25 ` Lars-Peter Clausen 2021-12-28 17:35 ` Jonathan Cameron 2021-12-28 17:35 ` Jonathan Cameron 2021-12-29 8:49 ` William Breathitt Gray 2021-12-29 8:49 ` William Breathitt Gray 2021-12-28 19:45 [PATCH v2 13/23] counter: Provide alternative counter registration functions kernel test robot 2022-01-06 10:53 ` Dan Carpenter 2022-01-06 10:53 ` Dan Carpenter
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=20211228182521.1774dc79@jic23-huawei \ --to=jic23@kernel.org \ --cc=Jonathan.Cameron@huawei.com \ --cc=alexandre.torgue@foss.st.com \ --cc=benjamin.gaignard@st.com \ --cc=fabrice.gasnier@foss.st.com \ --cc=gregkh@linuxfoundation.org \ --cc=kernel@pengutronix.de \ --cc=lars@metafoo.de \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-iio@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-stm32@st-md-mailman.stormreply.com \ --cc=mcoquelin.stm32@gmail.com \ --cc=u.kleine-koenig@pengutronix.de \ --cc=vilhelm.gray@gmail.com \ /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.