From: kernel test robot <lkp@intel.com>
To: Nuno Sa <nuno.sa@analog.com>
Cc: llvm@lists.linux.dev, kbuild-all@lists.01.org,
linux-kernel@vger.kernel.org,
Jonathan Cameron <Jonathan.Cameron@huawei.com>,
Lars-Peter Clausen <lars@metafoo.de>
Subject: drivers/iio/imu/adis16480.c:169:8: warning: Excessive padding in 'struct adis16480' (40 padding bytes, where 8 is optimal). Optimal fields order: adis, data, chip_info, ext_clk, clk_mode, clk_freq, consider reordering the fields or adding explicit padding...
Date: Sun, 24 Jul 2022 22:17:28 +0800 [thread overview]
Message-ID: <202207242232.7eNzaZhG-lkp@intel.com> (raw)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 515f71412bb73ebd7f41f90e1684fc80b8730789
commit: 941f130881fa9073a32944e69c26cdc15a554d96 iio: adis16480: support burst read function
date: 1 year, 2 months ago
config: arm-randconfig-c002-20220717 (https://download.01.org/0day-ci/archive/20220724/202207242232.7eNzaZhG-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 45067f8fbf61284839c739807c2da2e2505661eb)
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 arm cross compiling tool for clang build
# apt-get install binutils-arm-linux-gnueabi
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=941f130881fa9073a32944e69c26cdc15a554d96
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 941f130881fa9073a32944e69c26cdc15a554d96
# save the config file
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm clang-analyzer
If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>
clang-analyzer warnings: (new ones prefixed by >>)
#define to_si4713_device(sd) container_of(sd, struct si4713_device, sd)
^
include/linux/kernel.h:704:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:328:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:316:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:2: note: expanded from macro '__compiletime_assert'
do { \
^
drivers/media/radio/si4713/si4713.c:1351:6: note: Assuming field 'tuner' is 0
if (f->tuner)
^~~~~~~~
drivers/media/radio/si4713/si4713.c:1351:2: note: Taking false branch
if (f->tuner)
^
drivers/media/radio/si4713/si4713.c:1354:6: note: Assuming field 'power_state' is not equal to 0
if (sdev->power_state) {
^~~~~~~~~~~~~~~~~
drivers/media/radio/si4713/si4713.c:1354:2: note: Taking true branch
if (sdev->power_state) {
^
drivers/media/radio/si4713/si4713.c:1355:3: note: 'freq' declared without an initial value
u16 freq;
^~~~~~~~
drivers/media/radio/si4713/si4713.c:1358:10: note: Calling 'si4713_tx_tune_status'
rval = si4713_tx_tune_status(sdev, 0x00, &freq, &p, &a, &n);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/radio/si4713/si4713.c:698:6: note: Assuming 'err' is not equal to 0
if (!err) {
^~~~
drivers/media/radio/si4713/si4713.c:698:2: note: Taking false branch
if (!err) {
^
drivers/media/radio/si4713/si4713.c:711:2: note: Returning without writing to '*frequency'
return err;
^
drivers/media/radio/si4713/si4713.c:1358:10: note: Returning from 'si4713_tx_tune_status'
rval = si4713_tx_tune_status(sdev, 0x00, &freq, &p, &a, &n);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/radio/si4713/si4713.c:1359:7: note: Assuming 'rval' is >= 0
if (rval < 0)
^~~~~~~~
drivers/media/radio/si4713/si4713.c:1359:3: note: Taking false branch
if (rval < 0)
^
drivers/media/radio/si4713/si4713.c:1362:19: note: Assigned value is garbage or undefined
sdev->frequency = freq;
^ ~~~~
Suppressed 2 warnings (1 in non-user code, 1 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
3 warnings generated.
Suppressed 3 warnings (2 in non-user code, 1 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
3 warnings generated.
Suppressed 3 warnings (2 in non-user code, 1 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
3 warnings generated.
Suppressed 3 warnings (2 in non-user code, 1 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
3 warnings generated.
Suppressed 3 warnings (2 in non-user code, 1 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning generated.
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning generated.
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning generated.
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning generated.
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning generated.
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning generated.
drivers/iio/imu/adis16400.c:179:8: warning: Excessive padding in 'struct adis16400_state' (48 padding bytes, where 16 is optimal). Optimal fields order: adis, variant, filt_int, avail_scan_mask, consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding]
struct adis16400_state {
~~~~~~~^~~~~~~~~~~~~~~~~
drivers/iio/imu/adis16400.c:179:8: note: Excessive padding in 'struct adis16400_state' (48 padding bytes, where 16 is optimal). Optimal fields order: adis, variant, filt_int, avail_scan_mask, consider reordering the fields or adding explicit padding members
struct adis16400_state {
~~~~~~~^~~~~~~~~~~~~~~~~
1 warning generated.
drivers/iio/imu/adis16475.c:100:8: warning: Excessive padding in 'struct adis16475' (41 padding bytes, where 9 is optimal). Optimal fields order: adis, data, info, clk_freq, lsb_flag, sync_mode, burst32, consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding]
struct adis16475 {
~~~~~~~^~~~~~~~~~~
drivers/iio/imu/adis16475.c:100:8: note: Excessive padding in 'struct adis16475' (41 padding bytes, where 9 is optimal). Optimal fields order: adis, data, info, clk_freq, lsb_flag, sync_mode, burst32, consider reordering the fields or adding explicit padding members
struct adis16475 {
~~~~~~~^~~~~~~~~~~
1 warning generated.
>> drivers/iio/imu/adis16480.c:169:8: warning: Excessive padding in 'struct adis16480' (40 padding bytes, where 8 is optimal). Optimal fields order: adis, data, chip_info, ext_clk, clk_mode, clk_freq, consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding]
struct adis16480 {
~~~~~~~^~~~~~~~~~~
drivers/iio/imu/adis16480.c:169:8: note: Excessive padding in 'struct adis16480' (40 padding bytes, where 8 is optimal). Optimal fields order: adis, data, chip_info, ext_clk, clk_mode, clk_freq, consider reordering the fields or adding explicit padding members
struct adis16480 {
~~~~~~~^~~~~~~~~~~
1 warning generated.
drivers/hid/hid-kye.c:684:6: warning: Access to field 'maxfield' results in a dereference of an undefined pointer value (loaded from variable 'report') [clang-analyzer-core.NullDereference]
if (report->maxfield < 1 || report->field[0]->report_count < 7) {
^
drivers/hid/hid-kye.c:708:6: note: Assuming 'ret' is 0
if (ret) {
^~~
drivers/hid/hid-kye.c:708:2: note: Taking false branch
if (ret) {
^
drivers/hid/hid-kye.c:714:6: note: Assuming 'ret' is 0
if (ret) {
^~~
drivers/hid/hid-kye.c:714:2: note: Taking false branch
if (ret) {
^
drivers/hid/hid-kye.c:719:2: note: Control jumps to 'case 20501:' at line 725
switch (id->product) {
^
drivers/hid/hid-kye.c:726:9: note: Calling 'kye_tablet_enable'
ret = kye_tablet_enable(hdev);
^~~~~~~~~~~~~~~~~~~~~~~
drivers/hid/hid-kye.c:669:2: note: 'report' declared without an initial value
struct hid_report *report;
^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/hid/hid-kye.c:673:2: note: Loop condition is false. Execution continues on line 679
list_for_each(head, list) {
^
include/linux/list.h:571:2: note: expanded from macro 'list_for_each'
for (pos = (head)->next; pos != (head); pos = pos->next)
^
drivers/hid/hid-kye.c:679:6: note: Assuming 'head' is not equal to 'list'
if (head == list) {
^~~~~~~~~~~~
drivers/hid/hid-kye.c:679:2: note: Taking false branch
if (head == list) {
^
drivers/hid/hid-kye.c:684:6: note: Access to field 'maxfield' results in a dereference of an undefined pointer value (loaded from variable 'report')
if (report->maxfield < 1 || report->field[0]->report_count < 7) {
^~~~~~
1 warning generated.
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
3 warnings generated.
drivers/iio/proximity/sx9310.c:630:17: warning: The left operand of '>>' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
*val = pthresh >> (5 - regval);
^
drivers/iio/proximity/sx9310.c:679:6: note: Assuming field 'type' is equal to IIO_PROXIMITY
if (chan->type != IIO_PROXIMITY)
^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/iio/proximity/sx9310.c:679:2: note: Taking false branch
if (chan->type != IIO_PROXIMITY)
^
drivers/iio/proximity/sx9310.c:682:2: note: Control jumps to 'case IIO_EV_INFO_HYSTERESIS:' at line 694
switch (info) {
^
drivers/iio/proximity/sx9310.c:695:10: note: Calling 'sx9310_read_hysteresis'
return sx9310_read_hysteresis(data, chan, val);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/iio/proximity/sx9310.c:614:23: note: 'pthresh' declared without an initial value
unsigned int regval, pthresh;
^~~~~~~
drivers/iio/proximity/sx9310.c:617:8: note: Calling 'sx9310_read_thresh'
ret = sx9310_read_thresh(data, chan, &pthresh);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/iio/proximity/sx9310.c:596:6: note: 'ret' is >= 0
if (ret < 0)
^~~
drivers/iio/proximity/sx9310.c:596:2: note: Taking false branch
if (ret < 0)
^
drivers/iio/proximity/sx9310.c:600:6: note: Assuming 'ret' is not equal to 0
if (ret)
^~~
drivers/iio/proximity/sx9310.c:600:2: note: Taking true branch
if (ret)
^
drivers/iio/proximity/sx9310.c:617:8: note: Returning from 'sx9310_read_thresh'
ret = sx9310_read_thresh(data, chan, &pthresh);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/iio/proximity/sx9310.c:618:6: note: Assuming 'ret' is >= 0
if (ret < 0)
^~~~~~~
drivers/iio/proximity/sx9310.c:618:2: note: Taking false branch
if (ret < 0)
^
drivers/iio/proximity/sx9310.c:622:6: note: Assuming 'ret' is 0
if (ret)
^~~
drivers/iio/proximity/sx9310.c:622:2: note: Taking false branch
if (ret)
^
drivers/iio/proximity/sx9310.c:625:11: note: Taking false branch
regval = FIELD_GET(SX9310_REG_PROX_CTRL10_HYST_MASK, regval);
^
--
net/caif/cfutill.c:84:2: note: Taking false branch
caif_assert(layr != NULL);
^
include/net/caif/caif_layer.h:29:2: note: expanded from macro 'caif_assert'
if (!(assert)) { \
^
net/caif/cfutill.c:84:2: note: Loop condition is false. Exiting loop
caif_assert(layr != NULL);
^
include/net/caif/caif_layer.h:27:33: note: expanded from macro 'caif_assert'
#define caif_assert(assert) \
^
net/caif/cfutill.c:85:14: note: Assuming field 'dn' is equal to null
caif_assert(layr->dn != NULL);
^
include/net/caif/caif_layer.h:29:8: note: expanded from macro 'caif_assert'
if (!(assert)) { \
^~~~~~
net/caif/cfutill.c:85:20: note: Field 'dn' is equal to null
caif_assert(layr->dn != NULL);
^
net/caif/cfutill.c:85:2: note: Taking true branch
caif_assert(layr->dn != NULL);
^
include/net/caif/caif_layer.h:29:2: note: expanded from macro 'caif_assert'
if (!(assert)) { \
^
net/caif/cfutill.c:85:2: note: Taking true branch
caif_assert(layr->dn != NULL);
^
include/net/caif/caif_layer.h:31:3: note: expanded from macro 'caif_assert'
WARN_ON(!(assert)); \
^
include/asm-generic/bug.h:120:2: note: expanded from macro 'WARN_ON'
if (unlikely(__ret_warn_on)) \
^
net/caif/cfutill.c:85:2: note: Loop condition is false. Exiting loop
caif_assert(layr->dn != NULL);
^
include/net/caif/caif_layer.h:31:3: note: expanded from macro 'caif_assert'
WARN_ON(!(assert)); \
^
include/asm-generic/bug.h:121:3: note: expanded from macro 'WARN_ON'
__WARN(); \
^
include/asm-generic/bug.h:86:19: note: expanded from macro '__WARN'
#define __WARN() __WARN_printf(TAINT_WARN, NULL)
^
include/asm-generic/bug.h:88:3: note: expanded from macro '__WARN_printf'
instrumentation_begin(); \
^
include/linux/instrumentation.h:53:34: note: expanded from macro 'instrumentation_begin'
# define instrumentation_begin() do { } while(0)
^
net/caif/cfutill.c:85:2: note: Loop condition is false. Exiting loop
caif_assert(layr->dn != NULL);
^
include/net/caif/caif_layer.h:31:3: note: expanded from macro 'caif_assert'
WARN_ON(!(assert)); \
^
include/asm-generic/bug.h:121:3: note: expanded from macro 'WARN_ON'
__WARN(); \
^
include/asm-generic/bug.h:86:19: note: expanded from macro '__WARN'
#define __WARN() __WARN_printf(TAINT_WARN, NULL)
^
include/asm-generic/bug.h:90:3: note: expanded from macro '__WARN_printf'
instrumentation_end(); \
^
include/linux/instrumentation.h:54:33: note: expanded from macro 'instrumentation_end'
# define instrumentation_end() do { } while(0)
^
net/caif/cfutill.c:85:2: note: Loop condition is false. Exiting loop
caif_assert(layr->dn != NULL);
^
include/net/caif/caif_layer.h:31:3: note: expanded from macro 'caif_assert'
WARN_ON(!(assert)); \
^
include/asm-generic/bug.h:121:3: note: expanded from macro 'WARN_ON'
__WARN(); \
^
include/asm-generic/bug.h:86:19: note: expanded from macro '__WARN'
#define __WARN() __WARN_printf(TAINT_WARN, NULL)
^
include/asm-generic/bug.h:87:38: note: expanded from macro '__WARN_printf'
#define __WARN_printf(taint, arg...) do { \
^
net/caif/cfutill.c:85:2: note: Loop condition is false. Exiting loop
caif_assert(layr->dn != NULL);
^
include/net/caif/caif_layer.h:27:33: note: expanded from macro 'caif_assert'
#define caif_assert(assert) \
^
net/caif/cfutill.c:86:14: note: Access to field 'transmit' results in a dereference of a null pointer (loaded from field 'dn')
caif_assert(layr->dn->transmit != NULL);
^
include/net/caif/caif_layer.h:29:8: note: expanded from macro 'caif_assert'
if (!(assert)) { \
^~~~~~
1 warning generated.
>> drivers/iio/imu/adis16480.c:169:8: warning: Excessive padding in 'struct adis16480' (40 padding bytes, where 8 is optimal). Optimal fields order: adis, data, chip_info, ext_clk, clk_mode, clk_freq, consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding]
struct adis16480 {
~~~~~~~^~~~~~~~~~~
drivers/iio/imu/adis16480.c:169:8: note: Excessive padding in 'struct adis16480' (40 padding bytes, where 8 is optimal). Optimal fields order: adis, data, chip_info, ext_clk, clk_mode, clk_freq, consider reordering the fields or adding explicit padding members
struct adis16480 {
~~~~~~~^~~~~~~~~~~
1 warning generated.
drivers/iio/imu/fxos8700_core.c:167:8: warning: Excessive padding in 'struct fxos8700_data' (50 padding bytes, where 18 is optimal). Optimal fields order: buf, regmap, trig, consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding]
struct fxos8700_data {
~~~~~~~^~~~~~~~~~~~~~~
drivers/iio/imu/fxos8700_core.c:167:8: note: Excessive padding in 'struct fxos8700_data' (50 padding bytes, where 18 is optimal). Optimal fields order: buf, regmap, trig, consider reordering the fields or adding explicit padding members
struct fxos8700_data {
~~~~~~~^~~~~~~~~~~~~~~
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
4 warnings generated.
net/caif/cfsrvl.c:99:14: warning: Access to field 'dn' results in a dereference of a null pointer (loaded from variable 'layr') [clang-analyzer-core.NullDereference]
caif_assert(layr->dn != NULL);
^
include/net/caif/caif_layer.h:29:8: note: expanded from macro 'caif_assert'
if (!(assert)) { \
^~~~~~
net/caif/cfsrvl.c:96:27: note: Left side of '&&' is false
struct cfsrvl *service = container_obj(layr);
^
net/caif/cfsrvl.c:25:29: note: expanded from macro 'container_obj'
#define container_obj(layr) container_of(layr, struct cfsrvl, layer)
^
include/linux/kernel.h:704:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
net/caif/cfsrvl.c:96:27: note: Taking false branch
struct cfsrvl *service = container_obj(layr);
^
net/caif/cfsrvl.c:25:29: note: expanded from macro 'container_obj'
#define container_obj(layr) container_of(layr, struct cfsrvl, layer)
^
include/linux/kernel.h:704:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:328:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:316:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:308:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
net/caif/cfsrvl.c:96:27: note: Loop condition is false. Exiting loop
struct cfsrvl *service = container_obj(layr);
^
net/caif/cfsrvl.c:25:29: note: expanded from macro 'container_obj'
#define container_obj(layr) container_of(layr, struct cfsrvl, layer)
^
include/linux/kernel.h:704:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:328:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:316:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:2: note: expanded from macro '__compiletime_assert'
do { \
^
net/caif/cfsrvl.c:98:14: note: Assuming 'layr' is equal to null
caif_assert(layr != NULL);
^
include/net/caif/caif_layer.h:29:8: note: expanded from macro 'caif_assert'
if (!(assert)) { \
^~~~~~
vim +169 drivers/iio/imu/adis16480.c
326e2357553d39 Stefan Popa 2019-03-11 168
2f3abe6cbb6c96 Lars-Peter Clausen 2012-11-20 @169 struct adis16480 {
2f3abe6cbb6c96 Lars-Peter Clausen 2012-11-20 170 const struct adis16480_chip_info *chip_info;
2f3abe6cbb6c96 Lars-Peter Clausen 2012-11-20 171
2f3abe6cbb6c96 Lars-Peter Clausen 2012-11-20 172 struct adis adis;
326e2357553d39 Stefan Popa 2019-03-11 173 struct clk *ext_clk;
326e2357553d39 Stefan Popa 2019-03-11 174 enum adis16480_clock_mode clk_mode;
326e2357553d39 Stefan Popa 2019-03-11 175 unsigned int clk_freq;
941f130881fa90 Nuno Sa 2021-04-22 176 /* Alignment needed for the timestamp */
941f130881fa90 Nuno Sa 2021-04-22 177 __be16 data[ADIS16495_BURST_MAX_DATA] __aligned(8);
2f3abe6cbb6c96 Lars-Peter Clausen 2012-11-20 178 };
2f3abe6cbb6c96 Lars-Peter Clausen 2012-11-20 179
:::::: The code at line 169 was first introduced by commit
:::::: 2f3abe6cbb6c963ac790b40936b6761c9f0497b4 iio:imu: Add support for the ADIS16480 and similar IMUs
:::::: TO: Lars-Peter Clausen <lars@metafoo.de>
:::::: CC: Jonathan Cameron <jic23@kernel.org>
--
0-DAY CI Kernel Test Service
https://01.org/lkp
next reply other threads:[~2022-07-24 14:18 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-24 14:17 kernel test robot [this message]
-- strict thread matches above, loose matches on Subject: below --
2022-07-19 22:20 drivers/iio/imu/adis16480.c:169:8: warning: Excessive padding in 'struct adis16480' (40 padding bytes, where 8 is optimal). Optimal fields order: adis, data, chip_info, ext_clk, clk_mode, clk_freq, consider reordering the fields or adding explicit padding kernel test robot
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=202207242232.7eNzaZhG-lkp@intel.com \
--to=lkp@intel.com \
--cc=Jonathan.Cameron@huawei.com \
--cc=kbuild-all@lists.01.org \
--cc=lars@metafoo.de \
--cc=linux-kernel@vger.kernel.org \
--cc=llvm@lists.linux.dev \
--cc=nuno.sa@analog.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.