All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ondřej Jirman" <megous@megous.com>
To: Frank Lee <tiny.windzz@gmail.com>
Cc: Maxime Ripard <maxime.ripard@bootlin.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	catalin.marinas@arm.com, will.deacon@arm.com,
	bjorn.andersson@linaro.org,
	Mauro Carvalho Chehab <mchehab+samsung@kernel.org>,
	paulmck@linux.ibm.com, stefan.wahren@i2se.com,
	Linux PM <linux-pm@vger.kernel.org>, Chen-Yu Tsai <wens@csie.org>,
	Jagan Teki <jagan@amarulasolutions.com>,
	Andy Gross <andy.gross@linaro.org>,
	rui.zhang@intel.com, devicetree@vger.kernel.org,
	marc.w.gonzalez@free.fr, Eduardo Valentin <edubezval@gmail.com>,
	enric.balletbo@collabora.com, robh+dt@kernel.org,
	Jonathan.Cameron@huawei.com,
	Linux ARM <linux-arm-kernel@lists.infradead.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	olof@lixom.net, David Miller <davem@davemloft.net>
Subject: Re: [PATCH 2/3] thermal: sun50i: add thermal driver for h6
Date: Thu, 16 May 2019 23:11:51 +0200	[thread overview]
Message-ID: <20190516211151.qwac53shdjhlwj4p@core.my.home> (raw)
In-Reply-To: <CAEExFWvcMbiCJ4HD0UAtv1P6AuBJ=oUdmhu886BNZhrRz483Ug@mail.gmail.com>

Hello,

On Fri, May 17, 2019 at 01:51:56AM +0800, Frank Lee wrote:
> > > +static int tsens_probe(struct platform_device *pdev)
> > > +{
> > > +     struct tsens_device *tmdev;
> > > +     struct device *dev = &pdev->dev;
> > > +     int ret;
> > > +
> > > +     tmdev = devm_kzalloc(dev, sizeof(*tmdev), GFP_KERNEL);
> > > +     if (!tmdev)
> > > +             return -ENOMEM;
> > > +
> > > +     tmdev->dev = dev;
> > > +     tmdev->chip = of_device_get_match_data(&pdev->dev);
> > > +     if (!tmdev->chip)
> > > +             return -EINVAL;
> > > +
> > > +     ret = tsens_init(tmdev);
> > > +     if (ret)
> > > +             return ret;
> > > +
> > > +     ret = tsens_register(tmdev);
> > > +     if (ret)
> > > +             return ret;
> > > +
> > > +     ret = tmdev->chip->enable(tmdev);
> > > +     if (ret)
> > > +             return ret;
> > >
> > > +     platform_set_drvdata(pdev, tmdev);
> >
> > Your registration should be the very last thing you do. Otherwise, you
> > have a small window where the get_temp callback can be called, but the
> > driver will not be functional yet.
> No. Anyway, ths data qcquisition is ms level.

Tz code can change in the future, and call the get_temp callback during
registration, and this would break. It's better to be correct, than make
dangerous assumptions. So platform_set_drvdata should be done somewhere 
prior to init_resource.

Enable should be after register though. Because otherwise you may be calling
tz update on non-registered tz from an interrupt handler.

> > > +     return ret;
> > > +}
> > > +

regards,
	o.

WARNING: multiple messages have this Message-ID (diff)
From: "Ondřej Jirman" <megous@megous.com>
To: Frank Lee <tiny.windzz@gmail.com>
Cc: Maxime Ripard <maxime.ripard@bootlin.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	catalin.marinas@arm.com, will.deacon@arm.com,
	bjorn.andersson@linaro.org,
	Mauro Carvalho Chehab <mchehab+samsung@kernel.org>,
	paulmck@linux.ibm.com, stefan.wahren@i2se.com,
	Linux PM <linux-pm@vger.kernel.org>, Chen-Yu Tsai <wens@csie.org>,
	Jagan Teki <jagan@amarulasolutions.com>,
	Andy Gross <andy.gross@linaro.org>,
	rui.zhang@intel.com, devicetree@vger.kernel.org,
	marc.w.gonzalez@free.fr, Eduardo Valentin <edubezval@gmail.com>,
	enric.balletbo@collabora.com, robh+dt@kernel.org,
	Jonathan.Cameron@huawei.com,
	Linux ARM <linux-arm-kernel@lists.infradead.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Subject: Re: [PATCH 2/3] thermal: sun50i: add thermal driver for h6
Date: Thu, 16 May 2019 23:11:51 +0200	[thread overview]
Message-ID: <20190516211151.qwac53shdjhlwj4p@core.my.home> (raw)
In-Reply-To: <CAEExFWvcMbiCJ4HD0UAtv1P6AuBJ=oUdmhu886BNZhrRz483Ug@mail.gmail.com>

Hello,

On Fri, May 17, 2019 at 01:51:56AM +0800, Frank Lee wrote:
> > > +static int tsens_probe(struct platform_device *pdev)
> > > +{
> > > +     struct tsens_device *tmdev;
> > > +     struct device *dev = &pdev->dev;
> > > +     int ret;
> > > +
> > > +     tmdev = devm_kzalloc(dev, sizeof(*tmdev), GFP_KERNEL);
> > > +     if (!tmdev)
> > > +             return -ENOMEM;
> > > +
> > > +     tmdev->dev = dev;
> > > +     tmdev->chip = of_device_get_match_data(&pdev->dev);
> > > +     if (!tmdev->chip)
> > > +             return -EINVAL;
> > > +
> > > +     ret = tsens_init(tmdev);
> > > +     if (ret)
> > > +             return ret;
> > > +
> > > +     ret = tsens_register(tmdev);
> > > +     if (ret)
> > > +             return ret;
> > > +
> > > +     ret = tmdev->chip->enable(tmdev);
> > > +     if (ret)
> > > +             return ret;
> > >
> > > +     platform_set_drvdata(pdev, tmdev);
> >
> > Your registration should be the very last thing you do. Otherwise, you
> > have a small window where the get_temp callback can be called, but the
> > driver will not be functional yet.
> No. Anyway, ths data qcquisition is ms level.

Tz code can change in the future, and call the get_temp callback during
registration, and this would break. It's better to be correct, than make
dangerous assumptions. So platform_set_drvdata should be done somewhere 
prior to init_resource.

Enable should be after register though. Because otherwise you may be calling
tz update on non-registered tz from an interrupt handler.

> > > +     return ret;
> > > +}
> > > +

regards,
	o.

WARNING: multiple messages have this Message-ID (diff)
From: "Ondřej Jirman" <megous@megous.com>
To: Frank Lee <tiny.windzz@gmail.com>
Cc: Mark Rutland <mark.rutland@arm.com>,
	Maxime Ripard <maxime.ripard@bootlin.com>,
	catalin.marinas@arm.com, will.deacon@arm.com,
	bjorn.andersson@linaro.org, marc.w.gonzalez@free.fr,
	Mauro Carvalho Chehab <mchehab+samsung@kernel.org>,
	paulmck@linux.ibm.com, stefan.wahren@i2se.com,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Chen-Yu Tsai <wens@csie.org>,
	Jagan Teki <jagan@amarulasolutions.com>,
	Andy Gross <andy.gross@linaro.org>,
	rui.zhang@intel.com, devicetree@vger.kernel.org,
	Linux PM <linux-pm@vger.kernel.org>,
	Eduardo Valentin <edubezval@gmail.com>,
	olof@lixom.net, robh+dt@kernel.org, Jonathan.Cameron@huawei.com,
	Linux ARM <linux-arm-kernel@lists.infradead.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	enric.balletbo@collabora.com, David Miller <davem@davemloft.net>
Subject: Re: [PATCH 2/3] thermal: sun50i: add thermal driver for h6
Date: Thu, 16 May 2019 23:11:51 +0200	[thread overview]
Message-ID: <20190516211151.qwac53shdjhlwj4p@core.my.home> (raw)
In-Reply-To: <CAEExFWvcMbiCJ4HD0UAtv1P6AuBJ=oUdmhu886BNZhrRz483Ug@mail.gmail.com>

Hello,

On Fri, May 17, 2019 at 01:51:56AM +0800, Frank Lee wrote:
> > > +static int tsens_probe(struct platform_device *pdev)
> > > +{
> > > +     struct tsens_device *tmdev;
> > > +     struct device *dev = &pdev->dev;
> > > +     int ret;
> > > +
> > > +     tmdev = devm_kzalloc(dev, sizeof(*tmdev), GFP_KERNEL);
> > > +     if (!tmdev)
> > > +             return -ENOMEM;
> > > +
> > > +     tmdev->dev = dev;
> > > +     tmdev->chip = of_device_get_match_data(&pdev->dev);
> > > +     if (!tmdev->chip)
> > > +             return -EINVAL;
> > > +
> > > +     ret = tsens_init(tmdev);
> > > +     if (ret)
> > > +             return ret;
> > > +
> > > +     ret = tsens_register(tmdev);
> > > +     if (ret)
> > > +             return ret;
> > > +
> > > +     ret = tmdev->chip->enable(tmdev);
> > > +     if (ret)
> > > +             return ret;
> > >
> > > +     platform_set_drvdata(pdev, tmdev);
> >
> > Your registration should be the very last thing you do. Otherwise, you
> > have a small window where the get_temp callback can be called, but the
> > driver will not be functional yet.
> No. Anyway, ths data qcquisition is ms level.

Tz code can change in the future, and call the get_temp callback during
registration, and this would break. It's better to be correct, than make
dangerous assumptions. So platform_set_drvdata should be done somewhere 
prior to init_resource.

Enable should be after register though. Because otherwise you may be calling
tz update on non-registered tz from an interrupt handler.

> > > +     return ret;
> > > +}
> > > +

regards,
	o.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2019-05-16 21:11 UTC|newest]

Thread overview: 108+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-12  8:26 [PATCH 0/3] add thermal driver for h6 Yangtao Li
2019-05-12  8:26 ` Yangtao Li
2019-05-12  8:26 ` [PATCH 1/3] arm64: defconfig: add allwinner sid support Yangtao Li
2019-05-12  8:26   ` Yangtao Li
2019-05-12 13:25   ` Maxime Ripard
2019-05-12 13:25     ` Maxime Ripard
2019-05-12  8:26 ` [PATCH 2/3] thermal: sun50i: add thermal driver for h6 Yangtao Li
2019-05-12  8:26   ` Yangtao Li
2019-05-12 13:39   ` Maxime Ripard
2019-05-12 13:39     ` Maxime Ripard
2019-05-12 21:41     ` Ondřej Jirman
2019-05-12 21:41       ` Ondřej Jirman
2019-05-12 21:41       ` Ondřej Jirman
2019-05-16 15:02       ` Maxime Ripard
2019-05-16 15:02         ` Maxime Ripard
2019-05-16 17:36         ` Ondřej Jirman
2019-05-16 17:36           ` Ondřej Jirman
2019-05-16 18:10         ` Frank Lee
2019-05-16 18:10           ` Frank Lee
2019-05-16 18:10           ` Frank Lee
2019-05-17  7:31           ` Maxime Ripard
2019-05-17  7:31             ` Maxime Ripard
2019-05-17  7:31             ` Maxime Ripard
2019-05-17 17:19             ` Frank Lee
2019-05-17 17:19               ` Frank Lee
2019-05-17 17:19               ` Frank Lee
2019-05-21  7:41               ` Maxime Ripard
2019-05-21  7:41                 ` Maxime Ripard
2019-05-21  7:41                 ` Maxime Ripard
2019-05-16 17:51     ` Frank Lee
2019-05-16 17:51       ` Frank Lee
2019-05-16 17:51       ` Frank Lee
2019-05-16 21:11       ` Ondřej Jirman [this message]
2019-05-16 21:11         ` Ondřej Jirman
2019-05-16 21:11         ` Ondřej Jirman
2019-05-17  7:36       ` Maxime Ripard
2019-05-17  7:36         ` Maxime Ripard
2019-05-17  7:36         ` Maxime Ripard
2019-05-17 17:27         ` Frank Lee
2019-05-17 17:27           ` Frank Lee
2019-05-17 17:27           ` Frank Lee
2019-05-21  8:05           ` Maxime Ripard
2019-05-21  8:05             ` Maxime Ripard
2019-05-21  8:05             ` Maxime Ripard
2019-05-21 10:27             ` Ondřej Jirman
2019-05-21 10:27               ` Ondřej Jirman
2019-05-21 10:27               ` Ondřej Jirman
2019-05-21 14:27               ` Maxime Ripard
2019-05-21 14:27                 ` Maxime Ripard
2019-05-21 14:27                 ` Maxime Ripard
2019-05-21 17:33                 ` Ondřej Jirman
2019-05-21 17:33                   ` Ondřej Jirman
2019-05-21 17:33                   ` Ondřej Jirman
2019-05-17 19:21     ` Vasily Khoruzhick
2019-05-17 19:21       ` Vasily Khoruzhick
2019-05-17 19:21       ` Vasily Khoruzhick
2019-05-21  7:47       ` Maxime Ripard
2019-05-21  7:47         ` Maxime Ripard
2019-05-21  7:47         ` Maxime Ripard
2019-05-12 22:16   ` Ondřej Jirman
2019-05-12 22:16     ` Ondřej Jirman
2019-05-12 22:16     ` Ondřej Jirman
2019-05-16 18:06     ` Frank Lee
2019-05-16 18:06       ` Frank Lee
2019-05-16 18:06       ` Frank Lee
2019-05-16 18:29       ` Ondřej Jirman
2019-05-16 18:29         ` Ondřej Jirman
2019-05-16 18:29         ` Ondřej Jirman
2019-05-17 16:34         ` Frank Lee
2019-05-17 16:34         ` Frank Lee
2019-05-17 16:34           ` Frank Lee
2019-05-17 16:34           ` Frank Lee
2019-05-19 14:22           ` Ondřej Jirman
2019-05-19 14:22             ` Ondřej Jirman
2019-05-20 10:59             ` Maxime Ripard
2019-05-20 10:59               ` Maxime Ripard
2019-05-20 10:59               ` Maxime Ripard
2019-05-25 18:48             ` Frank Lee
2019-05-25 18:48               ` Frank Lee
2019-05-25 18:48               ` Frank Lee
2019-05-25 18:51               ` Frank Lee
2019-05-25 18:51                 ` Frank Lee
2019-05-25 18:51                 ` Frank Lee
2019-05-25 19:53               ` Vasily Khoruzhick
2019-05-25 19:53                 ` Vasily Khoruzhick
2019-05-25 19:53                 ` Vasily Khoruzhick
2019-05-26  1:24               ` Ondřej Jirman
2019-05-26  1:24                 ` Ondřej Jirman
2019-05-26  1:24                 ` Ondřej Jirman
2019-05-16 18:06     ` Frank Lee
2019-05-12 22:39   ` Ondřej Jirman
2019-05-12 22:39     ` Ondřej Jirman
2019-05-13 10:01     ` Maxime Ripard
2019-05-13 10:01       ` Maxime Ripard
2019-05-16 18:08     ` Frank Lee
2019-05-16 18:08       ` Frank Lee
2019-05-16 18:08       ` Frank Lee
2019-05-16 18:08     ` Frank Lee
2019-05-12  8:26 ` [PATCH 3/3] dt-bindings: thermal: add binding document for h6 thermal controller Yangtao Li
2019-05-12  8:26   ` Yangtao Li
2019-05-12 13:41   ` Maxime Ripard
2019-05-12 13:41     ` Maxime Ripard
2019-05-16 18:13     ` Frank Lee
2019-05-16 18:13       ` Frank Lee
2019-05-16 18:13       ` Frank Lee
2019-05-17  7:38       ` Maxime Ripard
2019-05-17  7:38         ` Maxime Ripard
2019-05-17  7:38         ` Maxime Ripard

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=20190516211151.qwac53shdjhlwj4p@core.my.home \
    --to=megous@megous.com \
    --cc=Jonathan.Cameron@huawei.com \
    --cc=andy.gross@linaro.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=catalin.marinas@arm.com \
    --cc=daniel.lezcano@linaro.org \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=edubezval@gmail.com \
    --cc=enric.balletbo@collabora.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jagan@amarulasolutions.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=marc.w.gonzalez@free.fr \
    --cc=mark.rutland@arm.com \
    --cc=maxime.ripard@bootlin.com \
    --cc=mchehab+samsung@kernel.org \
    --cc=olof@lixom.net \
    --cc=paulmck@linux.ibm.com \
    --cc=robh+dt@kernel.org \
    --cc=rui.zhang@intel.com \
    --cc=stefan.wahren@i2se.com \
    --cc=tiny.windzz@gmail.com \
    --cc=wens@csie.org \
    --cc=will.deacon@arm.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: link
Be 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.