From: kernel test robot <lkp@intel.com>
To: Stuart Hayes <stuart.w.hayes@gmail.com>,
Bjorn Helgaas <helgaas@kernel.org>
Cc: kbuild-all@lists.01.org, clang-built-linux@googlegroups.com,
linux-pci@vger.kernel.org,
Stuart Hayes <stuart.w.hayes@gmail.com>
Subject: Re: [PATCH] Expose PCIe SSD Status LED Management DSM in sysfs
Date: Mon, 9 Nov 2020 21:41:06 +0800 [thread overview]
Message-ID: <202011092153.xIcgNwB2-lkp@intel.com> (raw)
In-Reply-To: <20201106194221.59353-1-stuart.w.hayes@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 6759 bytes --]
Hi Stuart,
I love your patch! Perhaps something to improve:
[auto build test WARNING on pci/next]
[also build test WARNING on linus/master v5.10-rc3 next-20201109]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Stuart-Hayes/Expose-PCIe-SSD-Status-LED-Management-DSM-in-sysfs/20201109-100709
base: https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git next
config: arm64-randconfig-r024-20201109 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 09ec07827b1128504457a93dee80b2ceee1af600)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# https://github.com/0day-ci/linux/commit/71fa2ed2b9ac8be92eb60fb757e0333dd6788d2f
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Stuart-Hayes/Expose-PCIe-SSD-Status-LED-Management-DSM-in-sysfs/20201109-100709
git checkout 71fa2ed2b9ac8be92eb60fb757e0333dd6788d2f
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
>> drivers/pci/pci-ssdleds.c:126:48: warning: use of logical '||' with constant operand [-Wconstant-logical-operand]
1 << SSDLEDS_GET_SUPPORTED_STATES_DSM ||
^
drivers/pci/pci-ssdleds.c:126:48: note: use '|' for a bitwise operation
1 << SSDLEDS_GET_SUPPORTED_STATES_DSM ||
^~
|
drivers/pci/pci-ssdleds.c:127:37: warning: use of logical '||' with constant operand [-Wconstant-logical-operand]
1 << SSDLEDS_GET_STATE_DSM ||
^
drivers/pci/pci-ssdleds.c:127:37: note: use '|' for a bitwise operation
1 << SSDLEDS_GET_STATE_DSM ||
^~
|
>> drivers/pci/pci-ssdleds.c:128:12: warning: converting the result of '<<' to a boolean always evaluates to true [-Wtautological-constant-compare]
1 << SSDLEDS_SET_STATE_DSM);
^
drivers/pci/pci-ssdleds.c:126:12: warning: converting the result of '<<' to a boolean always evaluates to true [-Wtautological-constant-compare]
1 << SSDLEDS_GET_SUPPORTED_STATES_DSM ||
^
drivers/pci/pci-ssdleds.c:127:12: warning: converting the result of '<<' to a boolean always evaluates to true [-Wtautological-constant-compare]
1 << SSDLEDS_GET_STATE_DSM ||
^
>> drivers/pci/pci-ssdleds.c:184:6: warning: no previous prototype for function 'pci_create_ssdleds_files' [-Wmissing-prototypes]
void pci_create_ssdleds_files(struct pci_dev *pdev)
^
drivers/pci/pci-ssdleds.c:184:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void pci_create_ssdleds_files(struct pci_dev *pdev)
^
static
>> drivers/pci/pci-ssdleds.c:191:6: warning: no previous prototype for function 'pci_remove_ssdleds_files' [-Wmissing-prototypes]
void pci_remove_ssdleds_files(struct pci_dev *pdev)
^
drivers/pci/pci-ssdleds.c:191:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void pci_remove_ssdleds_files(struct pci_dev *pdev)
^
static
7 warnings generated.
vim +126 drivers/pci/pci-ssdleds.c
116
117 static bool device_has_dsm(struct device *dev)
118 {
119 acpi_handle handle;
120
121 handle = ACPI_HANDLE(dev);
122 if (!handle)
123 return false;
124
125 return !!acpi_check_dsm(handle, &pci_ssdleds_dsm_guid, 0x1,
> 126 1 << SSDLEDS_GET_SUPPORTED_STATES_DSM ||
127 1 << SSDLEDS_GET_STATE_DSM ||
> 128 1 << SSDLEDS_SET_STATE_DSM);
129 }
130
131 static ssize_t ssdleds_current_store(struct device *dev,
132 struct device_attribute *attr,
133 const char *buf, size_t count)
134 {
135 int ret;
136
137 ret = ssdleds_dsm_set(dev, buf, SSDLEDS_SET_STATE_DSM);
138 return (ret < 0) ? ret : count;
139 }
140
141 static ssize_t ssdleds_current_show(struct device *dev,
142 struct device_attribute *attr, char *buf)
143 {
144 return ssdleds_dsm_get(dev, buf, SSDLEDS_GET_STATE_DSM);
145 }
146
147 static ssize_t ssdleds_supported_show(struct device *dev,
148 struct device_attribute *attr, char *buf)
149 {
150 return ssdleds_dsm_get(dev, buf, SSDLEDS_GET_SUPPORTED_STATES_DSM);
151 }
152
153 static umode_t ssdleds_attr_visible(struct kobject *kobj,
154 struct attribute *attr, int n)
155 {
156 struct device *dev = kobj_to_dev(kobj);
157 umode_t mode = attr->mode;
158
159 return device_has_dsm(dev) ? mode : 0;
160 }
161
162 static struct device_attribute ssdleds_attr_current = {
163 .attr = {.name = "ssdleds_current_state", .mode = 0644},
164 .show = ssdleds_current_show,
165 .store = ssdleds_current_store,
166 };
167
168 static struct device_attribute ssdleds_attr_supported = {
169 .attr = {.name = "ssdleds_supported_states", .mode = 0444},
170 .show = ssdleds_supported_show,
171 };
172
173 static struct attribute *ssdleds_attributes[] = {
174 &ssdleds_attr_current.attr,
175 &ssdleds_attr_supported.attr,
176 NULL,
177 };
178
179 static const struct attribute_group ssdleds_attr_group = {
180 .attrs = ssdleds_attributes,
181 .is_visible = ssdleds_attr_visible,
182 };
183
> 184 void pci_create_ssdleds_files(struct pci_dev *pdev)
185 {
186 int ret;
187
188 ret = sysfs_create_group(&pdev->dev.kobj, &ssdleds_attr_group);
189 }
190
> 191 void pci_remove_ssdleds_files(struct pci_dev *pdev)
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 40167 bytes --]
prev parent reply other threads:[~2020-11-09 13:41 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-06 19:42 [PATCH] Expose PCIe SSD Status LED Management DSM in sysfs Stuart Hayes
2020-11-09 10:11 ` kernel test robot
2020-11-09 13:41 ` kernel test robot [this message]
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=202011092153.xIcgNwB2-lkp@intel.com \
--to=lkp@intel.com \
--cc=clang-built-linux@googlegroups.com \
--cc=helgaas@kernel.org \
--cc=kbuild-all@lists.01.org \
--cc=linux-pci@vger.kernel.org \
--cc=stuart.w.hayes@gmail.com \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox