Received: by 2002:ac0:946b:0:0:0:0:0 with SMTP id j40csp1642879imj; Thu, 14 Feb 2019 09:37:00 -0800 (PST) X-Google-Smtp-Source: AHgI3IZbccXdd9kNC+4R2S+SMvJD29TgNSvebDLXRRn8lgKdaM2Ff3U2+HdpzCjjm/8WzZZK5GmY X-Received: by 2002:a62:4882:: with SMTP id q2mr5109889pfi.167.1550165820087; Thu, 14 Feb 2019 09:37:00 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1550165820; cv=none; d=google.com; s=arc-20160816; b=gQpw4avWWOpB+TT9LWwMemfRSxHX1r2sOjQRSG/Kb+ZSdYAw1baBuH2+gxmEP8oOfE 7/VI5gluvT2wbeQsPQ7h6tByMLjPVTphMNyE+k0xPmpU0887dh0DF7CGLk4TFw5f+N8I 2rbETF+8T+5vZI0J2+1b0okhcIoxdUd4Wqq6SL/52uhaY5RhbvQ7Zx4CdQn1dTzfmnSt kfKmvCdsd6xCAc5YUueHT4aUhxdlOVtxpBYQ6qyeB3Mv6rIs7mKT4NJWFbkt50d7p7kY RyVpVr7di0NA/AOF0UNnCfjdiFnBk5wc6WHDbUM5FQ34htmCd6OasfP1cNJucqMqRDph NARA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version; bh=RN7YV9HrVY/nPI8NJM+RzPh8fPcnbjaFRtrbzWbe7ME=; b=yvtDA1bNgjbaGPMPAlgQqe5xk72g7+5+lM2BNStvfRECt8u0YEB/iw4G7WIlStg1tV pltK3/IF1LOpNAyHWdEASqHjyUTnY2dTQNxAV+EPQ3kM9oD6nm5xAAW08i5bogftwoWJ VAjfmxG9ZFrVBzX0tthDgzV6PUN4yohEaYAdPWyYjAniNKg/U30UkhTtqmWw7muf86om 3D28RPHydb/pZPMK/pwN4fYSxxyHwTu7QWke35k8Eluz5r1jcfWmnpS7TM2NFi8t57jn zGN70NolPFj8Ekewia6RpujG6BRLs1MO7s4TuxXUMxCEPwngnZenLQFYO7a3HWY7Dm13 G8cA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id s9si2915489plr.316.2019.02.14.09.36.44; Thu, 14 Feb 2019 09:37:00 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2438098AbfBNJyj (ORCPT + 99 others); Thu, 14 Feb 2019 04:54:39 -0500 Received: from mail-ot1-f66.google.com ([209.85.210.66]:46428 "EHLO mail-ot1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2438090AbfBNJyi (ORCPT ); Thu, 14 Feb 2019 04:54:38 -0500 Received: by mail-ot1-f66.google.com with SMTP id w25so9421133otm.13; Thu, 14 Feb 2019 01:54:38 -0800 (PST) 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=RN7YV9HrVY/nPI8NJM+RzPh8fPcnbjaFRtrbzWbe7ME=; b=scPBCX0u40nCEUpxRG8HyrVPduHwEcZW9O2KooV4hiJ+pdYJwVYYNuVVJH2M0oRYW8 sq8qnczUx5hhT89PA3LoOfZMJRuqVf84QnWkSdg7NF1NUtj2uSbJib36uP/oQWBbDiLt VQQX7+ZMQTfA8tEV5opLvE/B8vx0JoVwD9y+H11qbKEq+ZVxyQnA2QnKWv3rBMO8fEjH f92XPO5NvZ89Kk4aTevIWJeunxvEtLHRGrWmiXMAxo9Yaj7dII6z6iq78DoIKYKGlmUg /PQ8lAm9C3bDpdqnnloAOADLakTw7bcMMHlMC3IeUXWmUfRgfZkzPN2IEQrW3a5cT3tR NzgA== X-Gm-Message-State: AHQUAuZSoVmCw6hLCBMCC1SOOvXBOe6+mJJmvAsyWq30JDKPqBjhuZcr UPvD5KeGQe8Nb/LOE9Bwf/hQEQEnpPC71DjUhsc= X-Received: by 2002:a9d:5a09:: with SMTP id v9mr1668754oth.244.1550138077514; Thu, 14 Feb 2019 01:54:37 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: "Rafael J. Wysocki" Date: Thu, 14 Feb 2019 10:54:25 +0100 Message-ID: Subject: Re: [PATCH 1/5] base: soc: Add serial_number attribute to soc To: Vaishali Thakkar Cc: Andy Gross , David Brown , Greg Kroah-Hartman , linux-arm-msm , Linux Kernel Mailing List , "Rafael J. Wysocki" , bjorn.andersson@linaro.org, Vinod Koul Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Feb 14, 2019 at 4:41 AM Vaishali Thakkar wrote: > > From: Bjorn Andersson > > Add new attribute named "serial_number" as a standard interface for > user space to acquire the serial number of the device. > > For ST-Ericsson SoCs this is exposed by the cryptically named "soc_id" > attribute, but this provides a human readable standardized name for this > property. > > Signed-off-by: Bjorn Andersson > Signed-off-by: Vaishali Thakkar > --- > Documentation/ABI/testing/sysfs-devices-soc | 7 +++++++ > drivers/base/soc.c | 7 +++++++ > include/linux/sys_soc.h | 1 + > 3 files changed, 15 insertions(+) > > diff --git a/Documentation/ABI/testing/sysfs-devices-soc b/Documentation/ABI/testing/sysfs-devices-soc > index 6d9cc253f2b2..919109697bf0 100644 > --- a/Documentation/ABI/testing/sysfs-devices-soc > +++ b/Documentation/ABI/testing/sysfs-devices-soc > @@ -26,6 +26,13 @@ Description: > Read-only attribute common to all SoCs. Contains SoC family name > (e.g. DB8500). > > +What: /sys/devices/socX/serial_number > +Date: January 2019 > +contact: Bjorn Andersson > +Description: > + Read-only attribute supported by most SoCs. Contains the SoC's > + serial number. Do I understand it correctly that the attr is not present if the serial number is not there? If so, you should say that here. > + > What: /sys/devices/socX/soc_id > Date: January 2012 > contact: Lee Jones > diff --git a/drivers/base/soc.c b/drivers/base/soc.c > index 10b280f30217..b0933b9fe67f 100644 > --- a/drivers/base/soc.c > +++ b/drivers/base/soc.c > @@ -33,6 +33,7 @@ static struct bus_type soc_bus_type = { > > static DEVICE_ATTR(machine, S_IRUGO, soc_info_get, NULL); > static DEVICE_ATTR(family, S_IRUGO, soc_info_get, NULL); > +static DEVICE_ATTR(serial_number, S_IRUGO, soc_info_get, NULL); > static DEVICE_ATTR(soc_id, S_IRUGO, soc_info_get, NULL); > static DEVICE_ATTR(revision, S_IRUGO, soc_info_get, NULL); > > @@ -57,6 +58,9 @@ static umode_t soc_attribute_mode(struct kobject *kobj, > if ((attr == &dev_attr_revision.attr) > && (soc_dev->attr->revision != NULL)) > return attr->mode; > + if ((attr == &dev_attr_serial_number.attr) > + && (soc_dev->attr->serial_number != NULL)) > + return attr->mode; > if ((attr == &dev_attr_soc_id.attr) > && (soc_dev->attr->soc_id != NULL)) > return attr->mode; > @@ -77,6 +81,8 @@ static ssize_t soc_info_get(struct device *dev, > return sprintf(buf, "%s\n", soc_dev->attr->family); > if (attr == &dev_attr_revision) > return sprintf(buf, "%s\n", soc_dev->attr->revision); > + if (attr == &dev_attr_serial_number) > + return sprintf(buf, "%s\n", soc_dev->attr->serial_number); > if (attr == &dev_attr_soc_id) > return sprintf(buf, "%s\n", soc_dev->attr->soc_id); > > @@ -87,6 +93,7 @@ static ssize_t soc_info_get(struct device *dev, > static struct attribute *soc_attr[] = { > &dev_attr_machine.attr, > &dev_attr_family.attr, > + &dev_attr_serial_number.attr, > &dev_attr_soc_id.attr, > &dev_attr_revision.attr, > NULL, > diff --git a/include/linux/sys_soc.h b/include/linux/sys_soc.h > index bed223b70217..2a13bc033bd6 100644 > --- a/include/linux/sys_soc.h > +++ b/include/linux/sys_soc.h > @@ -12,6 +12,7 @@ struct soc_device_attribute { > const char *machine; > const char *family; > const char *revision; > + const char *serial_number; > const char *soc_id; > const void *data; > }; > -- > 2.17.1 >