From: Peter Chen <peter.chen@freescale.com>
To: Saurabh Sengar <saurabh.truth@gmail.com>
Cc: "Måns Rullgård" <mans@mansr.com>,
"Greg KH" <gregkh@linuxfoundation.org>,
linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3] usb: chipidea: removing of_find_property
Date: Wed, 18 Nov 2015 12:44:15 +0800 [thread overview]
Message-ID: <20151118044414.GC4228@shlinux2> (raw)
In-Reply-To: <CAA8avJ_RZRNNJTZtsCR4oqA3ZGtigKKTLpk=KSEy00geHCjTOg@mail.gmail.com>
On Wed, Nov 18, 2015 at 09:30:39AM +0530, Saurabh Sengar wrote:
> Hi Peter,
>
> Yes itc_setting is still optional, in case dts does not pass this
> property, return type will be -EINVAL and there would be no problem.
> The function will break only if there is 'No data'(-ENODATA) or
> 'overflow'(-ENODATA) error for this property.
If there is an error, the variable pass to of_property_read_u32 will
not be changed.
Peter
> In case this is not OK, I will send a another patch(v4) as you have suggested.
>
> Regards,
> Saurabh
>
> On 18 November 2015 at 09:08, Peter Chen <peter.chen@freescale.com> wrote:
> > On Tue, Nov 17, 2015 at 05:22:26PM +0530, Saurabh Sengar wrote:
> >> call to of_find_property() before of_property_read_u32() is unnecessary.
> >> of_property_read_u32() anyway calls to of_find_property() only.
> >>
> >> Signed-off-by: Saurabh Sengar <saurabh.truth@gmail.com>
> >> ---
> >> v2 : removed pval variable
> >> v3 : removed unnecessary if condition
> >> drivers/usb/chipidea/core.c | 59 +++++++++++++++++++--------------------------
> >> 1 file changed, 25 insertions(+), 34 deletions(-)
> >>
> >> diff --git a/drivers/usb/chipidea/core.c b/drivers/usb/chipidea/core.c
> >> index 965d0e2..960a925 100644
> >> --- a/drivers/usb/chipidea/core.c
> >> +++ b/drivers/usb/chipidea/core.c
> >> @@ -688,52 +688,43 @@ static int ci_get_platdata(struct device *dev,
> >> if (usb_get_maximum_speed(dev) == USB_SPEED_FULL)
> >> platdata->flags |= CI_HDRC_FORCE_FULLSPEED;
> >>
> >> - if (of_find_property(dev->of_node, "phy-clkgate-delay-us", NULL))
> >> - of_property_read_u32(dev->of_node, "phy-clkgate-delay-us",
> >> + of_property_read_u32(dev->of_node, "phy-clkgate-delay-us",
> >> &platdata->phy_clkgate_delay_us);
> >>
> >> platdata->itc_setting = 1;
> >> - if (of_find_property(dev->of_node, "itc-setting", NULL)) {
> >> - ret = of_property_read_u32(dev->of_node, "itc-setting",
> >> - &platdata->itc_setting);
> >> - if (ret) {
> >> - dev_err(dev,
> >> - "failed to get itc-setting\n");
> >> - return ret;
> >> - }
> >> +
> >> + ret = of_property_read_u32(dev->of_node, "itc-setting",
> >> + &platdata->itc_setting);
> >> + if (ret && ret != -EINVAL) {
> >> + dev_err(dev, "failed to get itc-setting\n");
> >> + return ret;
> >> }
> >
> > For this one, you may not need to check return value, since
> > platdata->itc_setting is optional, and doesn't need to set
> > any flags if platdata->itc_setting is valid.
> >
> > Other changes are ok for me.
> >
> > Peter
> >
> >>
> >> - if (of_find_property(dev->of_node, "ahb-burst-config", NULL)) {
> >> - ret = of_property_read_u32(dev->of_node, "ahb-burst-config",
> >> - &platdata->ahb_burst_config);
> >> - if (ret) {
> >> - dev_err(dev,
> >> - "failed to get ahb-burst-config\n");
> >> - return ret;
> >> - }
> >> + ret = of_property_read_u32(dev->of_node, "ahb-burst-config",
> >> + &platdata->ahb_burst_config);
> >> + if (!ret) {
> >> platdata->flags |= CI_HDRC_OVERRIDE_AHB_BURST;
> >> + } else if (ret != -EINVAL) {
> >> + dev_err(dev, "failed to get ahb-burst-config\n");
> >> + return ret;
> >> }
> >>
> >> - if (of_find_property(dev->of_node, "tx-burst-size-dword", NULL)) {
> >> - ret = of_property_read_u32(dev->of_node, "tx-burst-size-dword",
> >> - &platdata->tx_burst_size);
> >> - if (ret) {
> >> - dev_err(dev,
> >> - "failed to get tx-burst-size-dword\n");
> >> - return ret;
> >> - }
> >> + ret = of_property_read_u32(dev->of_node, "tx-burst-size-dword",
> >> + &platdata->tx_burst_size);
> >> + if (!ret) {
> >> platdata->flags |= CI_HDRC_OVERRIDE_TX_BURST;
> >> + } else if (ret != -EINVAL) {
> >> + dev_err(dev, "failed to get tx-burst-size-dword\n");
> >> + return ret;
> >> }
> >>
> >> - if (of_find_property(dev->of_node, "rx-burst-size-dword", NULL)) {
> >> - ret = of_property_read_u32(dev->of_node, "rx-burst-size-dword",
> >> - &platdata->rx_burst_size);
> >> - if (ret) {
> >> - dev_err(dev,
> >> - "failed to get rx-burst-size-dword\n");
> >> - return ret;
> >> - }
> >> + ret = of_property_read_u32(dev->of_node, "rx-burst-size-dword",
> >> + &platdata->rx_burst_size);
> >> + if (!ret) {
> >> platdata->flags |= CI_HDRC_OVERRIDE_RX_BURST;
> >> + } else if (ret != -EINVAL) {
> >> + dev_err(dev, "failed to get rx-burst-size-dword\n");
> >> + return ret;
> >> }
> >>
> >> ext_id = ERR_PTR(-ENODEV);
> >> --
> >> 1.9.1
> >>
> >
> > --
> >
> > Best Regards,
> > Peter Chen
--
Best Regards,
Peter Chen
prev parent reply other threads:[~2015-11-18 5:01 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-17 11:07 [PATCH] usb: chipidea: removing of_find_property Saurabh Sengar
2015-11-17 11:20 ` Måns Rullgård
2015-11-17 11:40 ` [PATCH v2] " Saurabh Sengar
2015-11-17 11:44 ` Måns Rullgård
2015-11-17 11:52 ` [PATCH v3] " Saurabh Sengar
2015-11-18 3:38 ` Peter Chen
2015-11-18 4:00 ` Saurabh Sengar
2015-11-18 4:10 ` [PATCH v4] " Saurabh Sengar
2015-11-18 6:05 ` Peter Chen
2015-11-18 6:18 ` Saurabh Sengar
2015-11-18 7:24 ` Peter Chen
2015-11-18 7:41 ` Saurabh Sengar
2015-11-18 4:44 ` Peter Chen [this message]
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=20151118044414.GC4228@shlinux2 \
--to=peter.chen@freescale.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=mans@mansr.com \
--cc=saurabh.truth@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: 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.