Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp3859544imu; Mon, 7 Jan 2019 10:46:46 -0800 (PST) X-Google-Smtp-Source: AFSGD/VNGhoi4dOUfJbFAG96JgG1ynRn3hpxDgawQss/EvoGKP0c7BDZDj1qn9NizgfIVkLbo963 X-Received: by 2002:a62:644:: with SMTP id 65mr64221953pfg.161.1546886806888; Mon, 07 Jan 2019 10:46:46 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1546886806; cv=none; d=google.com; s=arc-20160816; b=Rr56dWbPj5YouZWI7i/bEV5Gv9uoQ3ZzmDfldccoMnqmMnlqSKXR3RKtEv594zX5w7 CuMgbDfj7PB8fCPml/qQQriiBtPaBK9nTpGhX3LpZWvzpKwxsB+TmLG7ILB5cvTOXm3S lQHV77E0wKprQ9hNUENwwxyfK73JhkJKGCSRZgYK70AlwgO+h2g6EbiTRwMT2Xy/pG3k nKx2bUb+ItZdJILN8lGrtzzU2TG91cQBeoTH0mSV0+L6mZFZ2SMpolJdH9cE1AiMUzOE O5YNnPVTkZSBIKbXLsVNJ8h4XfsYOfeyJKH1s2oeqqp7xhDXVEzLZKDDmim4Irxe62Pa 8Hpg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:dkim-signature; bh=+U3XuUmg0XccEuCDZlmrK486PGTLmI8Q6wHipDWNVfQ=; b=Zpk8s2IJ/+wvxQxkDOQsx8vxbGYg0sJlkLq3ugK+T1EWnnNRARESC2O9hvwKCdjX4U y9jQAm7ykppOenXmIrlAHnTMhMcyULJDWxH6uscDYnEeBhqPT74tXaCVjiOCMhrlVKgg XJkY7QAll9jrprZYQNXb3CMZ2Z9w7SHMmhfhBmoXmxAXRCI2CPOGgHV88qzJb5/rwiqt JhMl7H2xHFmVvgnx/C1gEaaxExX/K/zsvQ5Xx400545Myf0CyR0eEG+jw1M58oQTHmMv o/v9QxonxxBWM0Ht4l//+mmDJHTS4xpnNXog3Nl1VNGdLKwBjnwRPFM52jsuWVfdjDq0 YlJg== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=RXKmDPQ3; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b10si12578572plz.233.2019.01.07.10.46.31; Mon, 07 Jan 2019 10:46:46 -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; dkim=fail header.i=@gmail.com header.s=20161025 header.b=RXKmDPQ3; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728468AbfAGOEO (ORCPT + 99 others); Mon, 7 Jan 2019 09:04:14 -0500 Received: from mail-pl1-f193.google.com ([209.85.214.193]:45855 "EHLO mail-pl1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726589AbfAGOEO (ORCPT ); Mon, 7 Jan 2019 09:04:14 -0500 Received: by mail-pl1-f193.google.com with SMTP id a14so181921plm.12; Mon, 07 Jan 2019 06:04:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=+U3XuUmg0XccEuCDZlmrK486PGTLmI8Q6wHipDWNVfQ=; b=RXKmDPQ3W5hRRkcqEWde7OeULy1TosigWT0tolNGir2XbYrWQFwh2QRMTVcq3HLXDJ Qt7BYnxwTaCh7HuAF+Cumf5XqHA8/IIdW/2zYiPwZHpCQzX1Tv+FD6+Zlizq0Uy1jFQo pZo8vtNyxIu3Sd7w4vmkaZh4R6veqnwhhRj5DjC2g3YxedesjE7gQFmD7a8xmrynLsVx bcN8ZQcra9OPUzjDjC0JNyGixWVvqDA0eqh69Pm4NoC3ZGeZa47PS8hcCipNn/BVzT9+ d/d1jk3tF7ivXnlBnexItTx/8Usi3UoSvJW6BHlAnocgRpdbqWW67HC87GGktsP0hPJc G9FQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:cc:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=+U3XuUmg0XccEuCDZlmrK486PGTLmI8Q6wHipDWNVfQ=; b=aiXOVKgdTIReVEpQAA45wQ4JfNRH8jrpPKVnOjZqHYeFaA37OT9ufIOrlony83T+rK mEwQBdFtiATFupItZw5nXz+DGDatjqJ0y4jBsBQmRhGyk6dDErP+chb98DUQyB/N4Kww yGs1jVuPAfVYmDhx5FCi67X8ij4XiCpHT1vCyZ8v11auwM7BbYlyJya9BfuETdJsHbME psg6vKTpFNBPasHaAXhc/nFvWQpX6ml1uwNtUPdUrOKMYwgaRoXH2p9eQ1Q94XqsGePN SLgj9gY6TprYYzof0AAIKYXCTiwQk3tZYNdgOUWTcIUh3rO3ZPyJwf/uFWELty3LgZIs nvcQ== X-Gm-Message-State: AJcUukd3iy2+TI9WTQo6EYQKK+TfaklE2CSDRAWjFQwBiKJM+wXtkWuz vyhc3QDdM+bLjfpaTU6tadk= X-Received: by 2002:a17:902:c5:: with SMTP id a63mr62308161pla.267.1546869852854; Mon, 07 Jan 2019 06:04:12 -0800 (PST) Received: from server.roeck-us.net ([2600:1700:e321:62f0:329c:23ff:fee3:9d7c]) by smtp.gmail.com with ESMTPSA id 22sm84612975pgd.85.2019.01.07.06.04.11 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 07 Jan 2019 06:04:11 -0800 (PST) Subject: Re: [PATCH v2 1/4] pmbus: associate PMBUS_SKIP_STATUS_CHECK with driver_data To: Xiaoting Liu , jdelvare@suse.com Cc: openbmc@lists.ozlabs.org, linux-hwmon@vger.kernel.org, linux-kernel@vger.kernel.org, shunyong.yang@hxt-semitech.com, dongsheng.wang@hxt-semitech.com References: From: Guenter Roeck Message-ID: Date: Mon, 7 Jan 2019 06:04:10 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.2.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 1/7/19 2:57 AM, Xiaoting Liu wrote: > Current code compares device name with name in i2c_device_id to decide > whether PMBUS_SKIP_STATUS_CHECK should be set in pmbus_platform_data, > which makes adding new devices with PMBUS_SKIP_STATUS_CHECK should also > modify code in pmbus_probe(). > > This patch adds pmbus_device_info to save pages and flags. Its pointer > is put in driver_data of i2c_device_id, which makes adding new device > more straightforward. > > Signed-off-by: Shunyong Yang > Signed-off-by: Xiaoting Liu > --- > v2: > Move struct pmbus_device_info definition location from pmbus.h to pmbus.c. > Change struct name from default_pmbus_info to pmbus_info_one. > Change struct name from pmbus_info to pmbus_info_zero. > Replace struct name dps460_pmbus_info and sgd009_pmbus_info with > pmbus_info_one_skip. > --- > drivers/hwmon/pmbus/pmbus.c | 55 +++++++++++++++++++++++++++------------------ > 1 file changed, 33 insertions(+), 22 deletions(-) > > diff --git a/drivers/hwmon/pmbus/pmbus.c b/drivers/hwmon/pmbus/pmbus.c > index 7688dab32f6e..e38dd97cc49a 100644 > --- a/drivers/hwmon/pmbus/pmbus.c > +++ b/drivers/hwmon/pmbus/pmbus.c > @@ -28,6 +28,11 @@ > #include > #include "pmbus.h" > > +struct pmbus_device_info { > + int pages; > + u32 flags; > +}; > + > /* > * Find sensor groups and status registers on each page. > */ > @@ -172,13 +177,15 @@ static int pmbus_probe(struct i2c_client *client, > struct pmbus_driver_info *info; > struct pmbus_platform_data *pdata = NULL; > struct device *dev = &client->dev; > + struct pmbus_device_info *device_info; > > info = devm_kzalloc(dev, sizeof(struct pmbus_driver_info), GFP_KERNEL); > if (!info) > return -ENOMEM; > > - if (!strcmp(id->name, "dps460") || !strcmp(id->name, "dps800") || > - !strcmp(id->name, "sgd009")) { > + device_info = (struct pmbus_device_info *)id->driver_data; > + Please no empty line between assignments and checking its results. > + if (device_info->flags & PMBUS_SKIP_STATUS_CHECK) { > pdata = devm_kzalloc(dev, sizeof(struct pmbus_platform_data), > GFP_KERNEL); > if (!pdata) > @@ -187,36 +194,40 @@ static int pmbus_probe(struct i2c_client *client, > pdata->flags = PMBUS_SKIP_STATUS_CHECK; > } > > - info->pages = id->driver_data; > + info->pages = device_info->pages; > info->identify = pmbus_identify; > dev->platform_data = pdata; > > return pmbus_do_probe(client, id, info); > } > > +static const struct pmbus_device_info pmbus_info_one = {1, 0}; > +static const struct pmbus_device_info pmbus_info_zero = {0, 0}; > +static const struct pmbus_device_info pmbus_info_one_skip = { > + 1, PMBUS_SKIP_STATUS_CHECK}; > /* > * Use driver_data to set the number of pages supported by the chip. > */ > static const struct i2c_device_id pmbus_id[] = { > - {"adp4000", 1}, > - {"bmr453", 1}, > - {"bmr454", 1}, > - {"dps460", 1}, > - {"dps800", 1}, > - {"mdt040", 1}, > - {"ncp4200", 1}, > - {"ncp4208", 1}, > - {"pdt003", 1}, > - {"pdt006", 1}, > - {"pdt012", 1}, > - {"pmbus", 0}, > - {"sgd009", 1}, > - {"tps40400", 1}, > - {"tps544b20", 1}, > - {"tps544b25", 1}, > - {"tps544c20", 1}, > - {"tps544c25", 1}, > - {"udt020", 1}, > + {"adp4000", (kernel_ulong_t)&pmbus_info_one}, > + {"bmr453", (kernel_ulong_t)&pmbus_info_one}, > + {"bmr454", (kernel_ulong_t)&pmbus_info_one}, > + {"dps460", (kernel_ulong_t)&pmbus_info_one_skip}, > + {"dps800", (kernel_ulong_t)&pmbus_info_one_skip}, > + {"mdt040", (kernel_ulong_t)&pmbus_info_one}, > + {"ncp4200", (kernel_ulong_t)&pmbus_info_one}, > + {"ncp4208", (kernel_ulong_t)&pmbus_info_one}, > + {"pdt003", (kernel_ulong_t)&pmbus_info_one}, > + {"pdt006", (kernel_ulong_t)&pmbus_info_one}, > + {"pdt012", (kernel_ulong_t)&pmbus_info_one}, > + {"pmbus", (kernel_ulong_t)&pmbus_info_zero}, > + {"sgd009", (kernel_ulong_t)&pmbus_info_one_skip}, > + {"tps40400", (kernel_ulong_t)&pmbus_info_one}, > + {"tps544b20", (kernel_ulong_t)&pmbus_info_one}, > + {"tps544b25", (kernel_ulong_t)&pmbus_info_one}, > + {"tps544c20", (kernel_ulong_t)&pmbus_info_one}, > + {"tps544c25", (kernel_ulong_t)&pmbus_info_one}, > + {"udt020", (kernel_ulong_t)&pmbus_info_one}, > {} > }; > > -- > 1.8.3.1 > > > > > This email is intended only for the named addressee. It may contain information that is confidential/private, legally privileged, or copyright-protected, and you should handle it accordingly. If you are not the intended recipient, you do not have legal rights to retain, copy, or distribute this email or its contents, and should promptly delete the email and all electronic copies in your system; do not retain copies in any media. If you have received this email in error, please notify the sender promptly. Thank you. > I think I mentioned that before. This legalese makes it all but impossible for me to apply your patches. Guenter