LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Samuel Ortiz <sameo@linux.intel.com>
To: Robert Dolca <robert.dolca@gmail.com>
Cc: Robert Dolca <robert.dolca@intel.com>,
	linux-nfc@ml01.01.org, netdev@vger.kernel.org,
	linux-wireless@vger.kernel.org,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"David S. Miller" <davem@davemloft.net>
Subject: Re: [linux-nfc] [PATCH 8/8] NFC: Add Intel FieldsPeak NFC solution driver
Date: Sun, 24 May 2015 19:08:29 +0200	[thread overview]
Message-ID: <20150524170829.GD15886@ribalta.ccr.corp.intel.com> (raw)
In-Reply-To: <CAFPB+Yf1jWX=tv+feZRonZEprjXwHdD8mMXAupdm5XrDaYvWMA@mail.gmail.com>

Hi Robert,

On Wed, Apr 01, 2015 at 06:35:31PM +0300, Robert Dolca wrote:
> On Thu, Mar 26, 2015 at 2:30 AM, Samuel Ortiz <sameo@linux.intel.com> wrote:
> >> +     /* If a patch was applied the new version is checked */
> >> +     if (patched) {
> >> +             r = nci_init(ndev);
> >> +             if (r)
> >> +                     goto error;
> >> +
> >> +             r = fdp_nci_get_versions(ndev);
> >> +             if (r)
> >> +                     goto error;
> >> +
> >> +             if (info->otp_version != info->otp_patch_version ||
> >> +                 info->ram_version != info->ram_patch_version) {
> >> +                     pr_err("FRP firmware update failed");
> >> +                     r = -EINVAL;
> >> +             }
> >> +     }
> >> +
> >> +     /* Check if the device has VSC */
> >> +     if (fdp_post_fw_vsc_cfg[0]) {
> >> +             /* Set the vendor specific configuration */
> >> +             r = fdp_nci_set_production_data(ndev, fdp_post_fw_vsc_cfg[3],
> >> +                                             &fdp_post_fw_vsc_cfg[4]);
> >> +             if (r)
> >> +                     goto error;
> >> +     }
> >> +
> >> +     /* Set clock type and frequency */
> >> +     r = fdp_nci_set_clock(ndev, 0, 26000);
> >> +     if (r)
> >> +             goto error;
> > The version checking, production data setting and clock setting should
> > be part of a post setup notification call. Please add an nci_dev
> > notify() ops that could get called on certain events, for example when
> > NCI is up. Bluetooth's HCI does something along those lines already.
> > From this notification hook you could implement this post setup stage.
> >
> > The idea is for your setup routine to only do firmware update and
> > nothing else. It will make it shorter, and thus easier to read as well.
> If the RAM patch wasn't applied successfully the device can't be used
> so the setup function should fail.
> If the production data (specifically the clock frequency) is not set
> the device can not be used. If the user space tries to start polling
> before the notification is sent the polling will fail. Having it
> called later would mean introducing a race condition.
Sure. Then I'd rather have an additional NCI hook (e.g.
ndev->ops->open()) called synchronously after the setup stage that
could fail and make open fail as well. The idea here is to separate the
2 parts of your logic and make the code more readable.

Cheers,
Samuel.

  reply	other threads:[~2015-05-24 17:08 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-24 10:01 [PATCH 0/8] Adds " Robert Dolca
2015-02-24 10:01 ` [PATCH 1/8] NFC: NCI: Allow connection close with dev down Robert Dolca
2015-03-26  0:29   ` Samuel Ortiz
2015-03-31 14:03     ` [linux-nfc] " Robert Dolca
2015-05-24 17:07       ` Samuel Ortiz
2015-08-28 14:05         ` Robert Dolca
2015-02-24 10:01 ` [PATCH 2/8] NFC: NCI: Exporting NFC command and data send API Robert Dolca
2015-02-24 10:01 ` [PATCH 3/8] NFC: NCI: Adds NCI init and reset API for drivers Robert Dolca
2015-03-26  0:29   ` Samuel Ortiz
2015-03-31 14:05     ` [linux-nfc] " Robert Dolca
2015-05-24 17:07       ` Samuel Ortiz
2015-02-24 10:01 ` [PATCH 4/8] NFC: NCI: Add a special nci_request for driver Robert Dolca
2015-03-26  0:29   ` Samuel Ortiz
2015-03-31 14:07     ` [linux-nfc] " Robert Dolca
2015-02-24 10:01 ` [PATCH 5/8] NFC: NCI: Don't call setup if previous NCI request failed Robert Dolca
2015-03-26  0:29   ` Samuel Ortiz
2015-02-24 10:01 ` [PATCH 6/8] NFC: NCI: Add function to get max packet size for conn Robert Dolca
2015-02-24 10:01 ` [PATCH 7/8] NFC: NCI: Adds a way to get the new connection ID Robert Dolca
2015-02-24 10:01 ` [PATCH 8/8] NFC: Add Intel FieldsPeak NFC solution driver Robert Dolca
2015-02-24 10:33   ` Johannes Berg
2015-02-24 10:46     ` Robert Dolca
2015-03-26  0:30   ` Samuel Ortiz
2015-04-01 15:35     ` [linux-nfc] " Robert Dolca
2015-05-24 17:08       ` Samuel Ortiz [this message]
2015-03-26 11:20   ` Samuel Ortiz
2015-03-26 13:45   ` Mika Westerberg
2015-02-24 16:14 ` [PATCH 0/8] Adds " Greg Rose
2015-02-24 16:25   ` Daniel Baluta
2015-02-24 16:27     ` Greg Rose

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=20150524170829.GD15886@ribalta.ccr.corp.intel.com \
    --to=sameo@linux.intel.com \
    --cc=davem@davemloft.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nfc@ml01.01.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=robert.dolca@gmail.com \
    --cc=robert.dolca@intel.com \
    --subject='Re: [linux-nfc] [PATCH 8/8] NFC: Add Intel FieldsPeak NFC solution driver' \
    /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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).