Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp602474pxk; Thu, 1 Oct 2020 09:48:10 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyNh+Rb8mbNQ2gG3bPvEwnzHSuzcbqbO/RliXf6Te09lIFT9ErUYVmxJW7keHj4huakIZoo X-Received: by 2002:a17:906:3913:: with SMTP id f19mr9512050eje.83.1601570890396; Thu, 01 Oct 2020 09:48:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1601570890; cv=none; d=google.com; s=arc-20160816; b=YxJxQqezGYMMXREX8YZUu5QcRn0j0c/kR4IyqrqxB5D6RC/u3qJf0yEBVyFh7r4i+Z NMvF4sscd5v/S7OnzMMadFmi5/06F/LifcaVB4jz3FHfy+GPhkfgZlHNM9rHEng/PsLy RKFWTWtoQOgid5Rl5btVCMl60wFCXhvOk62xNNArN6CDJGaCthlK0aTqyQ6TSP1DjIra 1sdgY8cS+TJpx7xHRqHc2kAaZKrR5eJ57hQYpLvQ8RdoHAJP+5eNsJBAyNp2g2JT8dpp F6rjgZYp/CO4ZLghQeMurXUpiwFyC4ZfPZMiKFjLR0FyuJA5jufxzbZb7VXr4z3H9d87 udwQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=+1JUkO3QCGoe44LoRPf6LoiKyh+E2Tmq//NtAEjkplw=; b=S5Kb1fL1OXzB2fKs+jy0eJL1/mLlM5Dk6TL7Abgh/c2GnFBBxszSf3/sHowegEZh4R 9Kursu7JXl4pt8Hqk0x8CZYnf2/mg8BgNZzIAH7U32dihREln7Jan0DIfFmG3ngGBt94 7GRi702BGfiQnRNvztrj9vxu6kH6HGVWa2J144OUTy8wZNdJ/Hb0ZJ46+e7/DcbdIiYd dTdyCPwCO54Wv2rxMwXjZW/P0EGlG2UGgO5L0yJ2lGNZcvAOARFDtV14shokL6G63I+O ij18jgfBn/bbmORB6c779JzXbdePbO5nu8NG/gaZ8NLixXf0wlFsSpe0yhuMK4r7gYJ1 cZlQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=S7s40mmk; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id ce27si3939429edb.384.2020.10.01.09.47.44; Thu, 01 Oct 2020 09:48:10 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=S7s40mmk; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732407AbgJAQqi (ORCPT + 99 others); Thu, 1 Oct 2020 12:46:38 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50894 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732274AbgJAQqi (ORCPT ); Thu, 1 Oct 2020 12:46:38 -0400 Received: from mail-il1-x141.google.com (mail-il1-x141.google.com [IPv6:2607:f8b0:4864:20::141]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 58F0AC0613D0; Thu, 1 Oct 2020 09:46:38 -0700 (PDT) Received: by mail-il1-x141.google.com with SMTP id q1so6781156ilt.6; Thu, 01 Oct 2020 09:46:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=+1JUkO3QCGoe44LoRPf6LoiKyh+E2Tmq//NtAEjkplw=; b=S7s40mmk6t0Wqt0W5AbDBwjYW3G/WTDn3hPKIrxoltDbGXZ9wQGaTKtR18YhifrQE+ zzGtLOgQqMBzq+SSxoPy+KKsWMokL+LDpQz2uiosRao0q101vpI+ziKKhkrtAxKmiKwO OxW6pADOvnYf7vTZgENUy1kAfT0a7x7wdfNOMQ97cCHGLao7VXGyrgsW6DR/nkgSBjzw xyQeFw+iiShhi9F/4Heh4BfDXjuygWe58ng5H4PHCzyVjWVT7y/ZVCZod+G3BlryFqKC YiPDMkYzM8utJeLAxcIhpakGRbu8phkUbMhWFTEWvtygvijqUBqYDMVSnjMILVwcGnqO KEEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=+1JUkO3QCGoe44LoRPf6LoiKyh+E2Tmq//NtAEjkplw=; b=ErdtS9Zc3qMevvUQuiZS0RNW6DTz3hVZJWoTOT/nxpa/7hYwEE8tRsEfZetTpc9dOJ 86YX+qhysokwrndhZ3CKVWNaIVkcm94UOPThj8PnxnWTMDVgH0kuBlu7JGqwSU3EWj/F 7kKMW/6nh8W1YBSm38OSEzKzCtTguW/o4ybP6UjAJph+sBzRKg3CX7QYgJveSGuTKpWk iyK7sdO//p/v8P2G/T/b0Jf/rXxwb5MR7Ly4oWN9f0gNB3tQ9CxSlJp49wNUuAywgBm+ LdrVwgdP1khsrpqyz0TICEu8mJq/o4yfMksycyaBTCsUa49rdj45+IDAUd4oN1aRYBLu Eptg== X-Gm-Message-State: AOAM531+M5oZ3iKtsRz2jXTYoFTzIL/r9Wv8NOPboW6YZJgjYI0UL3fC T/ROyAyKWSYZZjM7ypuN9vPwH8FQIwNaNCYDi7U= X-Received: by 2002:a92:950d:: with SMTP id y13mr3222543ilh.42.1601570797364; Thu, 01 Oct 2020 09:46:37 -0700 (PDT) MIME-Version: 1.0 References: <20201001014250.26987-1-david.e.box@linux.intel.com> <20201001014250.26987-5-david.e.box@linux.intel.com> In-Reply-To: From: Alexander Duyck Date: Thu, 1 Oct 2020 09:46:26 -0700 Message-ID: Subject: Re: [PATCH V7 4/5] platform/x86: Intel PMT Telemetry capability driver To: Andy Shevchenko Cc: "David E. Box" , Lee Jones , Darren Hart , Andy Shevchenko , Bjorn Helgaas , Alexander Duyck , Hans de Goede , Alexey Budankov , Linux Kernel Mailing List , Platform Driver , linux-pci Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Oct 1, 2020 at 9:03 AM Andy Shevchenko wrote: > > On Thu, Oct 1, 2020 at 4:43 AM David E. Box wrote: > > > > From: Alexander Duyck > > > > PMT Telemetry is a capability of the Intel Platform Monitoring Technology. > > The Telemetry capability provides access to device telemetry metrics that > > provide hardware performance data to users from read-only register spaces. > > > > With this driver present the intel_pmt directory can be populated with > > telem devices. These devices will contain the standard intel_pmt sysfs > > data and a "telem" binary sysfs attribute which can be used to access the > > telemetry data. > > ... > > > +static DEFINE_XARRAY_ALLOC(telem_array); > > +static struct intel_pmt_namespace pmt_telem_ns = { > > + .name = "telem", > > + .xa = &telem_array > > Leave comma at the end. > > > +}; > > + > > +/* > > + * driver initialization > > + */ > > This is a useless comment. > > > + size = offsetof(struct pmt_telem_priv, entry[pdev->num_resources]); > > + priv = devm_kzalloc(&pdev->dev, size, GFP_KERNEL); > > + if (!priv) > > + return -ENOMEM; > > Please, use struct_size() from overflow.h instead of custom approach. > > ... So all of the above make sense and can be fixed shortly and pushed as a v8 for both the telemetry and crashlog drivers. > > +static struct platform_driver pmt_telem_driver = { > > + .driver = { > > + .name = TELEM_DEV_NAME, > > I'm not sure I have interpreted this: > - Use 'raw' string instead of defines for device names > correctly. Can you elaborate? Can you point me to a reference of that? I'm not sure what you are referring to. > > + }, > > + .remove = pmt_telem_remove, > > + .probe = pmt_telem_probe, > > +}; > > ... > > > +MODULE_ALIAS("platform:" TELEM_DEV_NAME); > > Ditto. This doesn't make sense to me. Are you saying we are expected to use "pmt_telemetry" everywhere instead of the define? It seems like that would be much more error prone. It seems like common practice to use DRV_NAME throughout a driver for these sort of things so if you are wanting us to rename it to that I am fine with that, but I am not sure getting rid of the use of a define makes sense.