Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1651905

Re: [PATCH v2 13/27] thunderbolt: Read vendor and device name from DROM

Path csiph.com!aioe.org!bofh.it!news.nic.it!robomod
From Andy Shevchenko <andy.shevchenko@gmail.com>
Newsgroups linux.kernel
Subject Re: [PATCH v2 13/27] thunderbolt: Read vendor and device name from DROM
Date Sat, 27 May 2017 18:00:01 +0200
Message-ID <tLMid-5VB-3@gated-at.bofh.it> (permalink)
References <tLq81-87A-5@gated-at.bofh.it> <tLq82-87A-43@gated-at.bofh.it> <tLMid-5VB-5@gated-at.bofh.it>
X-Original-To Mika Westerberg <mika.westerberg@linux.intel.com>
Dkim-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=kIoCdD3q8LA2fq/q762PkSmf5vES8LDtK2Ip6fOSC+0=; b=hlu0gyMTgj2ii0APxegAQ/kOQ2oaAAEPED3KnnVecNPL5SK6X0nnTuLK9bGmMsR+zM AGYAGCix3qUFmZjSDbcm/q9DIK9XomZECEx/cKtmOv8xOeKPjJ2eMVTI6OdUblSEypq8 UEo5RgQ9vgbVf1xeVaQefRP7k2xq5JKLsX8QBXscmvBQM5UQ/kUzCOHbF+Cgy9piFQxM Nj4TJZMaohTe2EUTbi9KnNpBeQERnC8TzGMB1PglQqROI/xCgTX5SwW9vBycvovsX5sR PGqLTPO4DBOrTV3sRpcyiQKyQaNOeio19YaKjI8VKFpiD9Z5y3/IlsStKRKZdeNeUTnB 5zeQ==
X-Google-Dkim-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=kIoCdD3q8LA2fq/q762PkSmf5vES8LDtK2Ip6fOSC+0=; b=NdQGAmrpDTsaxAA3gfD92ul7+v7YlNJaczhGYLt3j3dK6ugUBNLbwYYycpthSyMYjR A0FObu/nvcmQOwfczog+Yl7fPh2VCx7vREK0GRFCPwwvAjuvbgtSNCh6w1ry4b2RU0Z9 uyy/b7ZLr72f+t06uCMgS6Sh9sOU8MUQdolIi1YvFhG+6FEFgfhgaBcmrIjmkKYdttgy SEbl9fWwFTSGDckLkVfJA2VzuUICJc5yG5X/6Xm9YxYby17shnK+1PrgCJ/u1ecW4PbO CfDFHDMBwpEUp3SWdqB1tKtwYa/5zlSM+JobTxm1Cn5g+f9nDqSSjGQZoWl9q1MgrXDA kFoQ==
X-Gm-Message-State AODbwcB9l6nv6c/6PaMBaOeHYUnW+aHEppO5glBLB8UWFNQmRTA7mYuo T2jJP+qTt6zRe/OqtjlOWKE8y20d+A==
X-Received by 10.200.41.247 with SMTP id 52mr8631465qtt.168.1495900703171; Sat, 27 May 2017 08:58:23 -0700 (PDT)
MIME-Version 1.0
Content-Type text/plain; charset="UTF-8"
Sender robomod@news.nic.it
List-ID <linux-kernel.vger.kernel.org>
X-Mailing-List linux-kernel@vger.kernel.org
Approved robomod@news.nic.it
Lines 68
Organization linux.* mail to news gateway
X-Original-Cc Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Andreas Noever <andreas.noever@gmail.com>, Michael Jamet <michael.jamet@intel.com>, Yehezkel Bernat <yehezkel.bernat@intel.com>, Lukas Wunner <lukas@wunner.de>, Amir Levy <amir.jer.levy@intel.com>, Andy Lutomirski <luto@kernel.org>, Mario Limonciello <Mario.Limonciello@dell.com>, Jared.Dominguez@dell.com, Andy Shevchenko <andriy.shevchenko@linux.intel.com>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
X-Original-Date Sat, 27 May 2017 18:58:22 +0300
X-Original-Message-ID <CAHp75Vevv5h85GtPpx6Ss85tbaBfnnYCi7Whmi5tcz_p7Ekobg@mail.gmail.com>
X-Original-References <20170526160936.54265-1-mika.westerberg@linux.intel.com> <20170526160936.54265-14-mika.westerberg@linux.intel.com> <CAHp75VdY3_EX7w1tpAqy8_D1r6TsUR2OyT4FstrLEK8z+T+yEQ@mail.gmail.com>
X-Original-Sender linux-kernel-owner@vger.kernel.org
Xref csiph.com linux.kernel:1651905

Show key headers only | View raw


On Sat, May 27, 2017 at 6:57 PM, Andy Shevchenko
<andy.shevchenko@gmail.com> wrote:
> On Fri, May 26, 2017 at 7:09 PM, Mika Westerberg
> <mika.westerberg@linux.intel.com> wrote:
>> The device DROM contains name of the vendor and device among other
>> things. Extract this information and expose it to the userspace via two
>> new attributes.
>
>> +static const char *parse_name(const u8 *data, u8 len)
>
> Hmm... (name)
>
>> +{
>> +       char *name;
>> +
>> +       name = kmemdup(data, len, GFP_KERNEL);
>
> Since it's ASCII by specification it may make sense to use
>
> sw->..._name = kstrndup(entry->data, sizeof(*header), GFP_KERNEL);

sizeof(*header) - 1, of course.

> if (!sw->..._name)
>  return -ENOMEM;
>
> just in place, instead of this entire function.
>
>> +       if (name)
>> +               name[len - 1] = '\0';
>> +       return name;
>> +}
>> +
>> +static int tb_drom_parse_entry_generic(struct tb_switch *sw,
>> +               struct tb_drom_entry_header *header)
>> +{
>> +       const struct tb_drom_entry_generic *entry =
>> +               (const struct tb_drom_entry_generic *)header;
>> +
>> +       switch (header->index) {
>> +       case 1:
>> +               /* Length includes 2 bytes header so remove it before copy */
>> +               sw->vendor_name = parse_name(entry->data,
>> +                                            header->len - sizeof(*header));
>> +               if (!sw->vendor_name)
>> +                       return -ENOMEM;
>> +               break;
>> +
>> +       case 2:
>> +               sw->device_name = parse_name(entry->data,
>> +                                            header->len - sizeof(*header));
>> +               if (!sw->device_name)
>> +                       return -ENOMEM;
>> +               break;
>> +       }
>> +
>> +       return 0;
>> +}
>
> --
> With Best Regards,
> Andy Shevchenko



-- 
With Best Regards,
Andy Shevchenko

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v2 13/27] thunderbolt: Read vendor and device name from DROM Mika Westerberg <mika.westerberg@linux.intel.com> - 2017-05-26 18:20 +0200
  Re: [PATCH v2 13/27] thunderbolt: Read vendor and device name from DROM Andy Shevchenko <andy.shevchenko@gmail.com> - 2017-05-27 18:00 +0200
  Re: [PATCH v2 13/27] thunderbolt: Read vendor and device name from DROM Andy Shevchenko <andy.shevchenko@gmail.com> - 2017-05-27 18:00 +0200
    Re: [PATCH v2 13/27] thunderbolt: Read vendor and device name from  DROM Mika Westerberg <mika.westerberg@linux.intel.com> - 2017-05-28 10:50 +0200

csiph-web