[PATCH] FROMLIST: HID: nintendo: fix flexible_array.cocci warnings
by Julia Lawall
Zero-length and one-element arrays are deprecated, see
Documentation/process/deprecated.rst
Flexible-array members should be used instead.
Generated by: scripts/coccinelle/misc/flexible_array.cocci
Fixes: f4dc6237a840 ("FROMLIST: HID: nintendo: add nintendo switch controller driver")
CC: Daniel J. Ogorchock <djogorchock(a)gmail.com>
Reported-by: kernel test robot <lkp(a)intel.com>
Signed-off-by: kernel test robot <lkp(a)intel.com>
Signed-off-by: Julia Lawall <julia.lawall(a)inria.fr>
---
tree: https://git.linaro.org/people/lee.jones/linux.git aosp-android-mainline-tracking
head: 9b2a8deb96b1f9d4cc52497c4559f187db0408e1
commit: f4dc6237a840e52e0ecd3c46393af5b98029f650 [307/599] FROMLIST: HID: nintendo: add nintendo switch controller driver
:::::: branch date: 5 hours ago
:::::: commit date: 5 hours ago
Please take the patch only if it's a positive warning. Thanks!
hid-nintendo.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- a/drivers/hid/hid-nintendo.c
+++ b/drivers/hid/hid-nintendo.c
@@ -152,13 +152,13 @@ struct joycon_subcmd_request {
u8 packet_num; /* incremented every send */
u8 rumble_data[8];
u8 subcmd_id;
- u8 data[0]; /* length depends on the subcommand */
+ u8 data[]; /* length depends on the subcommand */
} __packed;
struct joycon_subcmd_reply {
u8 ack; /* MSB 1 for ACK, 0 for NACK */
u8 id; /* id of requested subcmd */
- u8 data[0]; /* will be at most 35 bytes */
+ u8 data[]; /* will be at most 35 bytes */
} __packed;
struct joycon_input_report {
1 year, 4 months
[intel-linux-intel-lts:5.4/yocto 415/1142] drivers/misc/xlink-usb/local_host/mxlk_interface.c:110:20: warning: incompatible pointer to integer conversion passing 'void *' to parameter of type 'int'
by kernel test robot
tree: https://github.com/intel/linux-intel-lts.git 5.4/yocto
head: eeb611e5394c56d45c5cc8f7dc484c9f19e93143
commit: 5e9e6d86fe729cf81e8a0df5c53d326b9f2ec791 [415/1142] xlink-usb: XLink USB Remote and Local Host driver
config: x86_64-randconfig-r026-20210514 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 425781bce01f2f1d5f553d3b2bf9ebbd6e15068c)
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 x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# https://github.com/intel/linux-intel-lts/commit/5e9e6d86fe729cf81e8a0df5c...
git remote add intel-linux-intel-lts https://github.com/intel/linux-intel-lts.git
git fetch --no-tags intel-linux-intel-lts 5.4/yocto
git checkout 5e9e6d86fe729cf81e8a0df5c53d326b9f2ec791
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/misc/xlink-usb/local_host/mxlk_interface.c:110:20: warning: incompatible pointer to integer conversion passing 'void *' to parameter of type 'int' [-Wint-conversion]
return vpu_close1(data);
^~~~
drivers/misc/xlink-usb/local_host/u_xlink.h:75:20: note: passing argument to parameter 'size' here
int vpu_close1(int size);
^
1 warning generated.
--
>> drivers/misc/xlink-usb/local_host/u_xlink.c:820:16: warning: ISO C90 forbids mixing declarations and code [-Wdeclaration-after-statement]
unsigned long flags;
^
>> drivers/misc/xlink-usb/local_host/u_xlink.c:978:11: warning: comparison of distinct pointer types ('typeof (remaining) *' (aka 'unsigned long *') and 'typeof (req->length) *' (aka 'unsigned int *')) [-Wcompare-distinct-pointer-types]
bcopy = min(remaining, req->length);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/kernel.h:875:19: note: expanded from macro 'min'
#define min(x, y) __careful_cmp(x, y, <)
^~~~~~~~~~~~~~~~~~~~~~
include/linux/kernel.h:866:24: note: expanded from macro '__careful_cmp'
__builtin_choose_expr(__safe_cmp(x, y), \
^~~~~~~~~~~~~~~~
include/linux/kernel.h:856:4: note: expanded from macro '__safe_cmp'
(__typecheck(x, y) && __no_side_effects(x, y))
^~~~~~~~~~~~~~~~~
include/linux/kernel.h:842:29: note: expanded from macro '__typecheck'
(!!(sizeof((typeof(x) *)1 == (typeof(y) *)1)))
~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~
drivers/misc/xlink-usb/local_host/u_xlink.c:976:10: warning: ISO C90 forbids mixing declarations and code [-Wdeclaration-after-statement]
size_t bcopy;
^
drivers/misc/xlink-usb/local_host/u_xlink.c:970:20: warning: ISO C90 forbids mixing declarations and code [-Wdeclaration-after-statement]
struct list_head *pool = &port->read_pool;
^
drivers/misc/xlink-usb/local_host/u_xlink.c:992:20: warning: ISO C90 forbids mixing declarations and code [-Wdeclaration-after-statement]
struct list_head *pool = &port->read_pool;
^
>> drivers/misc/xlink-usb/local_host/u_xlink.c:996:9: warning: variable 'BUF4' is used uninitialized whenever 'while' loop exits because its condition is false [-Wsometimes-uninitialized]
while (!list_empty(pool)) {
^~~~~~~~~~~~~~~~~
drivers/misc/xlink-usb/local_host/u_xlink.c:1002:9: note: uninitialized use occurs here
return BUF4;
^~~~
drivers/misc/xlink-usb/local_host/u_xlink.c:996:9: note: remove the condition if it is always true
while (!list_empty(pool)) {
^~~~~~~~~~~~~~~~~
1
drivers/misc/xlink-usb/local_host/u_xlink.c:993:11: note: initialize the variable 'BUF4' to silence this warning
int *BUF4;
^
= NULL
6 warnings generated.
--
>> drivers/misc/xlink-usb/local_host/f_vpuusb.c:349:5: warning: no previous prototype for function 'mxlk_trigger_reset' [-Wmissing-prototypes]
int mxlk_trigger_reset(void *arg)
^
drivers/misc/xlink-usb/local_host/f_vpuusb.c:349:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int mxlk_trigger_reset(void *arg)
^
static
>> drivers/misc/xlink-usb/local_host/f_vpuusb.c:358:28: warning: variable 'data' is uninitialized when used within its own initialization [-Wuninitialized]
int *data = vpu_read_swid(data);
~~~~ ^~~~
>> drivers/misc/xlink-usb/local_host/f_vpuusb.c:377:5: warning: no previous prototype for function 'vpu_setup' [-Wmissing-prototypes]
int vpu_setup(struct usb_function *f, const struct usb_ctrlrequest *ctrl)
^
drivers/misc/xlink-usb/local_host/f_vpuusb.c:377:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int vpu_setup(struct usb_function *f, const struct usb_ctrlrequest *ctrl)
^
static
>> drivers/misc/xlink-usb/local_host/f_vpuusb.c:525:5: warning: no previous prototype for function 'vpu_cdc_notify' [-Wmissing-prototypes]
int vpu_cdc_notify(struct f_acm *acm, u8 type, u16 value,
^
drivers/misc/xlink-usb/local_host/f_vpuusb.c:525:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int vpu_cdc_notify(struct f_acm *acm, u8 type, u16 value,
^
static
>> drivers/misc/xlink-usb/local_host/f_vpuusb.c:562:5: warning: no previous prototype for function 'vpu_notify_serial_state' [-Wmissing-prototypes]
int vpu_notify_serial_state(struct f_acm *acm)
^
drivers/misc/xlink-usb/local_host/f_vpuusb.c:562:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int vpu_notify_serial_state(struct f_acm *acm)
^
static
5 warnings generated.
vim +110 drivers/misc/xlink-usb/local_host/mxlk_interface.c
97
98 int xlink_usb_write(uint32_t sw_device_id, void *data, size_t *const size,
99 uint32_t timeout)
100 {
101 int mxlk;
102 int rc;
103
104 mxlk = usb_get_by_id(sw_device_id);
105 if (!mxlk)
106 return -ENODEV;
107 rc = vpu_write1(data, size, timeout);
108 if (rc < 0)
109 return rc;
> 110 return vpu_close1(data);
111 }
112 EXPORT_SYMBOL(xlink_usb_write);
113
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 4 months
[linux-next:master 2707/3150] net/bridge/br_input.c:135:8: error: too many arguments to function 'br_multicast_is_router'
by kernel test robot
Hi Linus,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: cd557f1c605fc5a2c0eb0b540610f50dc67dd849
commit: 1a3065a26807b4cdd65d3b696ddb18385610f7da [2707/3150] net: bridge: mcast: prepare is-router function for mcast router split
config: mips-randconfig-r012-20210514 (attached as .config)
compiler: mips-linux-gcc (GCC) 9.3.0
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
# https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commi...
git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git fetch --no-tags linux-next master
git checkout 1a3065a26807b4cdd65d3b696ddb18385610f7da
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross W=1 ARCH=mips
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
net/bridge/br_input.c: In function 'br_handle_frame_finish':
>> net/bridge/br_input.c:135:8: error: too many arguments to function 'br_multicast_is_router'
135 | br_multicast_is_router(br, skb)) {
| ^~~~~~~~~~~~~~~~~~~~~~
In file included from net/bridge/br_input.c:23:
net/bridge/br_private.h:1059:20: note: declared here
1059 | static inline bool br_multicast_is_router(struct net_bridge *br)
| ^~~~~~~~~~~~~~~~~~~~~~
vim +/br_multicast_is_router +135 net/bridge/br_input.c
65
66 /* note: already called with rcu_read_lock */
67 int br_handle_frame_finish(struct net *net, struct sock *sk, struct sk_buff *skb)
68 {
69 struct net_bridge_port *p = br_port_get_rcu(skb->dev);
70 enum br_pkt_type pkt_type = BR_PKT_UNICAST;
71 struct net_bridge_fdb_entry *dst = NULL;
72 struct net_bridge_mdb_entry *mdst;
73 bool local_rcv, mcast_hit = false;
74 struct net_bridge *br;
75 u16 vid = 0;
76 u8 state;
77
78 if (!p || p->state == BR_STATE_DISABLED)
79 goto drop;
80
81 state = p->state;
82 if (!br_allowed_ingress(p->br, nbp_vlan_group_rcu(p), skb, &vid,
83 &state))
84 goto out;
85
86 nbp_switchdev_frame_mark(p, skb);
87
88 /* insert into forwarding database after filtering to avoid spoofing */
89 br = p->br;
90 if (p->flags & BR_LEARNING)
91 br_fdb_update(br, p, eth_hdr(skb)->h_source, vid, 0);
92
93 local_rcv = !!(br->dev->flags & IFF_PROMISC);
94 if (is_multicast_ether_addr(eth_hdr(skb)->h_dest)) {
95 /* by definition the broadcast is also a multicast address */
96 if (is_broadcast_ether_addr(eth_hdr(skb)->h_dest)) {
97 pkt_type = BR_PKT_BROADCAST;
98 local_rcv = true;
99 } else {
100 pkt_type = BR_PKT_MULTICAST;
101 if (br_multicast_rcv(br, p, skb, vid))
102 goto drop;
103 }
104 }
105
106 if (state == BR_STATE_LEARNING)
107 goto drop;
108
109 BR_INPUT_SKB_CB(skb)->brdev = br->dev;
110 BR_INPUT_SKB_CB(skb)->src_port_isolated = !!(p->flags & BR_ISOLATED);
111
112 if (IS_ENABLED(CONFIG_INET) &&
113 (skb->protocol == htons(ETH_P_ARP) ||
114 skb->protocol == htons(ETH_P_RARP))) {
115 br_do_proxy_suppress_arp(skb, br, vid, p);
116 } else if (IS_ENABLED(CONFIG_IPV6) &&
117 skb->protocol == htons(ETH_P_IPV6) &&
118 br_opt_get(br, BROPT_NEIGH_SUPPRESS_ENABLED) &&
119 pskb_may_pull(skb, sizeof(struct ipv6hdr) +
120 sizeof(struct nd_msg)) &&
121 ipv6_hdr(skb)->nexthdr == IPPROTO_ICMPV6) {
122 struct nd_msg *msg, _msg;
123
124 msg = br_is_nd_neigh_msg(skb, &_msg);
125 if (msg)
126 br_do_suppress_nd(skb, br, vid, p, msg);
127 }
128
129 switch (pkt_type) {
130 case BR_PKT_MULTICAST:
131 mdst = br_mdb_get(br, skb, vid);
132 if ((mdst || BR_INPUT_SKB_CB_MROUTERS_ONLY(skb)) &&
133 br_multicast_querier_exists(br, eth_hdr(skb), mdst)) {
134 if ((mdst && mdst->host_joined) ||
> 135 br_multicast_is_router(br, skb)) {
136 local_rcv = true;
137 br->dev->stats.multicast++;
138 }
139 mcast_hit = true;
140 } else {
141 local_rcv = true;
142 br->dev->stats.multicast++;
143 }
144 break;
145 case BR_PKT_UNICAST:
146 dst = br_fdb_find_rcu(br, eth_hdr(skb)->h_dest, vid);
147 break;
148 default:
149 break;
150 }
151
152 if (dst) {
153 unsigned long now = jiffies;
154
155 if (test_bit(BR_FDB_LOCAL, &dst->flags))
156 return br_pass_frame_up(skb);
157
158 if (now != dst->used)
159 dst->used = now;
160 br_forward(dst->dst, skb, local_rcv, false);
161 } else {
162 if (!mcast_hit)
163 br_flood(br, skb, pkt_type, local_rcv, false);
164 else
165 br_multicast_flood(mdst, skb, local_rcv, false);
166 }
167
168 if (local_rcv)
169 return br_pass_frame_up(skb);
170
171 out:
172 return 0;
173 drop:
174 kfree_skb(skb);
175 goto out;
176 }
177 EXPORT_SYMBOL_GPL(br_handle_frame_finish);
178
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 4 months
[linux-next:master 2901/3150] include/linux/compiler_types.h:328:38: error: call to '__compiletime_assert_205' declared with attribute error: unexpected size in kmalloc_index()
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: cd557f1c605fc5a2c0eb0b540610f50dc67dd849
commit: ff3daafe3fd3e54c8cf6aeb865099c7bb02e5c51 [2901/3150] mm, slub: change run-time assertion in kmalloc_index() to compile-time
config: i386-randconfig-f001-20191225 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commi...
git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git fetch --no-tags linux-next master
git checkout ff3daafe3fd3e54c8cf6aeb865099c7bb02e5c51
# save the attached .config to linux build tree
make W=1 W=1 ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from <command-line>:
In function 'kmalloc_index',
inlined from 'kmalloc_node' at include/linux/slab.h:572:20,
inlined from 'bpf_map_kmalloc_node.isra.0.part.0' at include/linux/bpf.h:1319:9:
>> include/linux/compiler_types.h:328:38: error: call to '__compiletime_assert_205' declared with attribute error: unexpected size in kmalloc_index()
328 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^
include/linux/compiler_types.h:309:4: note: in definition of macro '__compiletime_assert'
309 | prefix ## suffix(); \
| ^~~~~~
include/linux/compiler_types.h:328:2: note: in expansion of macro '_compiletime_assert'
328 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
| ^~~~~~~~~~~~~~~~~~
include/linux/slab.h:389:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
389 | BUILD_BUG_ON_MSG(1, "unexpected size in kmalloc_index()");
| ^~~~~~~~~~~~~~~~
vim +/__compiletime_assert_205 +328 include/linux/compiler_types.h
eb5c2d4b45e3d2 Will Deacon 2020-07-21 314
eb5c2d4b45e3d2 Will Deacon 2020-07-21 315 #define _compiletime_assert(condition, msg, prefix, suffix) \
eb5c2d4b45e3d2 Will Deacon 2020-07-21 316 __compiletime_assert(condition, msg, prefix, suffix)
eb5c2d4b45e3d2 Will Deacon 2020-07-21 317
eb5c2d4b45e3d2 Will Deacon 2020-07-21 318 /**
eb5c2d4b45e3d2 Will Deacon 2020-07-21 319 * compiletime_assert - break build and emit msg if condition is false
eb5c2d4b45e3d2 Will Deacon 2020-07-21 320 * @condition: a compile-time constant condition to check
eb5c2d4b45e3d2 Will Deacon 2020-07-21 321 * @msg: a message to emit if condition is false
eb5c2d4b45e3d2 Will Deacon 2020-07-21 322 *
eb5c2d4b45e3d2 Will Deacon 2020-07-21 323 * In tradition of POSIX assert, this macro will break the build if the
eb5c2d4b45e3d2 Will Deacon 2020-07-21 324 * supplied condition is *false*, emitting the supplied error message if the
eb5c2d4b45e3d2 Will Deacon 2020-07-21 325 * compiler has support to do so.
eb5c2d4b45e3d2 Will Deacon 2020-07-21 326 */
eb5c2d4b45e3d2 Will Deacon 2020-07-21 327 #define compiletime_assert(condition, msg) \
eb5c2d4b45e3d2 Will Deacon 2020-07-21 @328 _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
eb5c2d4b45e3d2 Will Deacon 2020-07-21 329
:::::: The code at line 328 was first introduced by commit
:::::: eb5c2d4b45e3d2d5d052ea6b8f1463976b1020d5 compiler.h: Move compiletime_assert() macros into compiler_types.h
:::::: TO: Will Deacon <will(a)kernel.org>
:::::: CC: Will Deacon <will(a)kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 4 months
[arm-platforms:irq/domain_cleanup 23/25] drivers/irqchip/irq-ingenic-tcu.c:41:3: error: implicit declaration of function 'generic_handle_domain_irq'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git irq/domain_cleanup
head: 6c1d2ff6977626ba56bd0ee4d04b955bf06a2032
commit: a9e69bee36a8712077e2d6f66108428a2f18e1a4 [23/25] irqchip: Bulk conversion to generic_handle_domain_irq()
config: s390-randconfig-r021-20210514 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 425781bce01f2f1d5f553d3b2bf9ebbd6e15068c)
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 s390 cross compiling tool for clang build
# apt-get install binutils-s390x-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git/com...
git remote add arm-platforms https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git
git fetch --no-tags arm-platforms irq/domain_cleanup
git checkout a9e69bee36a8712077e2d6f66108428a2f18e1a4
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=s390
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from drivers/irqchip/irq-ingenic-tcu.c:9:
In file included from include/linux/irqchip.h:14:
In file included from include/linux/acpi.h:13:
In file included from include/linux/irqdomain.h:34:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/s390/include/asm/io.h:75:
include/asm-generic/io.h:464:31: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __raw_readb(PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:477:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __le16_to_cpu((__le16 __force)__raw_readw(PCI_IOBASE + addr));
~~~~~~~~~~ ^
include/uapi/linux/byteorder/big_endian.h:36:59: note: expanded from macro '__le16_to_cpu'
#define __le16_to_cpu(x) __swab16((__force __u16)(__le16)(x))
^
include/uapi/linux/swab.h:102:54: note: expanded from macro '__swab16'
#define __swab16(x) (__u16)__builtin_bswap16((__u16)(x))
^
In file included from drivers/irqchip/irq-ingenic-tcu.c:9:
In file included from include/linux/irqchip.h:14:
In file included from include/linux/acpi.h:13:
In file included from include/linux/irqdomain.h:34:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/s390/include/asm/io.h:75:
include/asm-generic/io.h:490:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + addr));
~~~~~~~~~~ ^
include/uapi/linux/byteorder/big_endian.h:34:59: note: expanded from macro '__le32_to_cpu'
#define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x))
^
include/uapi/linux/swab.h:115:54: note: expanded from macro '__swab32'
#define __swab32(x) (__u32)__builtin_bswap32((__u32)(x))
^
In file included from drivers/irqchip/irq-ingenic-tcu.c:9:
In file included from include/linux/irqchip.h:14:
In file included from include/linux/acpi.h:13:
In file included from include/linux/irqdomain.h:34:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/s390/include/asm/io.h:75:
include/asm-generic/io.h:501:33: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writeb(value, PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:511:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writew((u16 __force)cpu_to_le16(value), PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:521:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writel((u32 __force)cpu_to_le32(value), PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:609:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsb(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:617:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsw(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:625:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsl(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:634:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesb(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:643:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesw(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:652:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesl(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
>> drivers/irqchip/irq-ingenic-tcu.c:41:3: error: implicit declaration of function 'generic_handle_domain_irq' [-Werror,-Wimplicit-function-declaration]
generic_handle_domain_irq(domain, i);
^
drivers/irqchip/irq-ingenic-tcu.c:41:3: note: did you mean 'generic_handle_irq'?
include/linux/irqdesc.h:162:5: note: 'generic_handle_irq' declared here
int generic_handle_irq(unsigned int irq);
^
12 warnings and 1 error generated.
vim +/generic_handle_domain_irq +41 drivers/irqchip/irq-ingenic-tcu.c
23
24 static void ingenic_tcu_intc_cascade(struct irq_desc *desc)
25 {
26 struct irq_chip *irq_chip = irq_data_get_irq_chip(&desc->irq_data);
27 struct irq_domain *domain = irq_desc_get_handler_data(desc);
28 struct irq_chip_generic *gc = irq_get_domain_generic_chip(domain, 0);
29 struct regmap *map = gc->private;
30 uint32_t irq_reg, irq_mask;
31 unsigned int i;
32
33 regmap_read(map, TCU_REG_TFR, &irq_reg);
34 regmap_read(map, TCU_REG_TMR, &irq_mask);
35
36 chained_irq_enter(irq_chip, desc);
37
38 irq_reg &= ~irq_mask;
39
40 for_each_set_bit(i, (unsigned long *)&irq_reg, 32)
> 41 generic_handle_domain_irq(domain, i);
42
43 chained_irq_exit(irq_chip, desc);
44 }
45
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 4 months
[xlnx:xlnx_rebase_v5.4 903/1757] include/linux/usb/xhci_pdriver.h:22:51: error: unknown type name 'bool'
by kernel test robot
tree: https://github.com/Xilinx/linux-xlnx xlnx_rebase_v5.4
head: f09edce8c39b74223461bf2175649535ebe8b213
commit: 6d0468b837bc2b3cce625f59904d137e63637b5d [903/1757] usb: dwc3: Add support for clock disabling during suspend
config: um-allmodconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/Xilinx/linux-xlnx/commit/6d0468b837bc2b3cce625f59904d1...
git remote add xlnx https://github.com/Xilinx/linux-xlnx
git fetch --no-tags xlnx xlnx_rebase_v5.4
git checkout 6d0468b837bc2b3cce625f59904d137e63637b5d
# save the attached .config to linux build tree
make W=1 W=1 ARCH=um
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
cc1: warning: arch/um/include/uapi: No such file or directory [-Wmissing-include-dirs]
In file included from <command-line>:
>> include/linux/usb/xhci_pdriver.h:22:51: error: unknown type name 'bool'
22 | void dwc3_host_wakeup_capable(struct device *dev, bool wakeup)
| ^~~~
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for UIO_DMEM_GENIRQ
Depends on UIO && HAS_DMA
Selected by
- UIO_XILINX_AI_ENGINE && UIO
vim +/bool +22 include/linux/usb/xhci_pdriver.h
20
21 #else
> 22 void dwc3_host_wakeup_capable(struct device *dev, bool wakeup)
23 { ; }
24 #endif
25
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 4 months
[linux-next:master 3053/3150] arch/ia64/include/asm/pal.h:1703:64: error: implicit declaration of function 'ia64_tpa'; did you mean 'ia64_pal'?
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: cd557f1c605fc5a2c0eb0b540610f50dc67dd849
commit: 081fc0dbf90f9604b7d1f65599964465270ee1a9 [3053/3150] kernel.h: split out panic and oops helpers
config: ia64-allmodconfig (attached as .config)
compiler: ia64-linux-gcc (GCC) 9.3.0
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
# https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commi...
git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git fetch --no-tags linux-next master
git checkout 081fc0dbf90f9604b7d1f65599964465270ee1a9
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross W=1 ARCH=ia64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from arch/ia64/include/asm/irqflags.h:14,
from include/linux/irqflags.h:16,
from kernel/locking/irqflag-debug.c:5:
arch/ia64/include/asm/pal.h: In function 'ia64_pal_tr_read':
>> arch/ia64/include/asm/pal.h:1703:64: error: implicit declaration of function 'ia64_tpa'; did you mean 'ia64_pal'? [-Werror=implicit-function-declaration]
1703 | PAL_CALL_PHYS_STK(iprv, PAL_VM_TR_READ, reg_num, tr_type,(u64)ia64_tpa(tr_buffer));
| ^~~~~~~~
arch/ia64/include/asm/pal.h:823:48: note: in definition of macro 'PAL_CALL_PHYS_STK'
823 | iprv = ia64_pal_call_phys_stacked(a0, a1, a2, a3); \
| ^~
In file included from include/linux/irqflags.h:16,
from kernel/locking/irqflag-debug.c:5:
arch/ia64/include/asm/irqflags.h: In function 'arch_maybe_save_ip':
>> arch/ia64/include/asm/irqflags.h:22:17: error: implicit declaration of function 'ia64_getreg'; did you mean 'ia64_get_ptce'? [-Werror=implicit-function-declaration]
22 | last_cli_ip = ia64_getreg(_IA64_REG_IP);
| ^~~~~~~~~~~
| ia64_get_ptce
>> arch/ia64/include/asm/irqflags.h:22:29: error: '_IA64_REG_IP' undeclared (first use in this function)
22 | last_cli_ip = ia64_getreg(_IA64_REG_IP);
| ^~~~~~~~~~~~
arch/ia64/include/asm/irqflags.h:22:29: note: each undeclared identifier is reported only once for each function it appears in
arch/ia64/include/asm/irqflags.h: In function 'arch_local_save_flags':
>> arch/ia64/include/asm/irqflags.h:38:2: error: implicit declaration of function 'ia64_stop' [-Werror=implicit-function-declaration]
38 | ia64_stop();
| ^~~~~~~~~
>> arch/ia64/include/asm/irqflags.h:39:21: error: '_IA64_REG_PSR' undeclared (first use in this function)
39 | return ia64_getreg(_IA64_REG_PSR);
| ^~~~~~~~~~~~~
arch/ia64/include/asm/irqflags.h: In function 'arch_local_irq_save':
>> arch/ia64/include/asm/irqflags.h:47:2: error: implicit declaration of function 'ia64_rsm' [-Werror=implicit-function-declaration]
47 | ia64_rsm(IA64_PSR_I);
| ^~~~~~~~
arch/ia64/include/asm/irqflags.h: In function 'arch_local_irq_enable':
>> arch/ia64/include/asm/irqflags.h:65:2: error: implicit declaration of function 'ia64_ssm' [-Werror=implicit-function-declaration]
65 | ia64_ssm(IA64_PSR_I);
| ^~~~~~~~
>> arch/ia64/include/asm/irqflags.h:66:2: error: implicit declaration of function 'ia64_srlz_d' [-Werror=implicit-function-declaration]
66 | ia64_srlz_d();
| ^~~~~~~~~~~
arch/ia64/include/asm/irqflags.h: In function 'arch_local_irq_restore':
>> arch/ia64/include/asm/irqflags.h:74:2: error: implicit declaration of function 'ia64_intrin_local_irq_restore'; did you mean 'arch_local_irq_restore'? [-Werror=implicit-function-declaration]
74 | ia64_intrin_local_irq_restore(flags & IA64_PSR_I);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| arch_local_irq_restore
cc1: some warnings being treated as errors
vim +1703 arch/ia64/include/asm/pal.h
^1da177e4c3f41 include/asm-ia64/pal.h Linus Torvalds 2005-04-16 1697
^1da177e4c3f41 include/asm-ia64/pal.h Linus Torvalds 2005-04-16 1698 /* Read a translation register */
^1da177e4c3f41 include/asm-ia64/pal.h Linus Torvalds 2005-04-16 1699 static inline s64
^1da177e4c3f41 include/asm-ia64/pal.h Linus Torvalds 2005-04-16 1700 ia64_pal_tr_read (u64 reg_num, u64 tr_type, u64 *tr_buffer, pal_tr_valid_u_t *tr_valid)
^1da177e4c3f41 include/asm-ia64/pal.h Linus Torvalds 2005-04-16 1701 {
^1da177e4c3f41 include/asm-ia64/pal.h Linus Torvalds 2005-04-16 1702 struct ia64_pal_retval iprv;
^1da177e4c3f41 include/asm-ia64/pal.h Linus Torvalds 2005-04-16 @1703 PAL_CALL_PHYS_STK(iprv, PAL_VM_TR_READ, reg_num, tr_type,(u64)ia64_tpa(tr_buffer));
^1da177e4c3f41 include/asm-ia64/pal.h Linus Torvalds 2005-04-16 1704 if (tr_valid)
^1da177e4c3f41 include/asm-ia64/pal.h Linus Torvalds 2005-04-16 1705 tr_valid->piv_val = iprv.v0;
^1da177e4c3f41 include/asm-ia64/pal.h Linus Torvalds 2005-04-16 1706 return iprv.status;
^1da177e4c3f41 include/asm-ia64/pal.h Linus Torvalds 2005-04-16 1707 }
^1da177e4c3f41 include/asm-ia64/pal.h Linus Torvalds 2005-04-16 1708
:::::: The code at line 1703 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2
:::::: TO: Linus Torvalds <torvalds(a)ppc970.osdl.org>
:::::: CC: Linus Torvalds <torvalds(a)ppc970.osdl.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 4 months
[intel-linux-intel-lts:5.4/yocto 5/5] drivers/gpu/drm/drm_edid.c:5539:47: error: passing 'u8 const[8]' to parameter of type 'char *' discards qualifiers
by kernel test robot
tree: https://github.com/intel/linux-intel-lts.git 5.4/yocto
head: 8e2b1510d279aecb1f89907553283c79c1b2b226
commit: 8e2b1510d279aecb1f89907553283c79c1b2b226 [5/5] drm/edid: Fix DispID tile parsing for override EDID
config: x86_64-randconfig-a015-20210514 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 425781bce01f2f1d5f553d3b2bf9ebbd6e15068c)
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 x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# https://github.com/intel/linux-intel-lts/commit/8e2b1510d279aecb1f8990755...
git remote add intel-linux-intel-lts https://github.com/intel/linux-intel-lts.git
git fetch --no-tags intel-linux-intel-lts 5.4/yocto
git checkout 8e2b1510d279aecb1f89907553283c79c1b2b226
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Note: the intel-linux-intel-lts/5.4/yocto HEAD 2521f747baec6ccd170456c0fe697c48844a080d builds fine.
It only hurts bisectibility.
All error/warnings (new ones prefixed by >>):
>> drivers/gpu/drm/drm_edid.c:5539:47: error: passing 'u8 const[8]' to parameter of type 'char *' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
tg = drm_mode_get_tile_group(connector->dev, tile->topology_id);
^~~~~~~~~~~~~~~~~
include/drm/drm_connector.h:1574:18: note: passing argument to parameter 'topology' here
char topology[8]);
^
drivers/gpu/drm/drm_edid.c:5541:51: error: passing 'u8 const[8]' to parameter of type 'char *' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
tg = drm_mode_create_tile_group(connector->dev, tile->topology_id);
^~~~~~~~~~~~~~~~~
include/drm/drm_connector.h:1572:14: note: passing argument to parameter 'topology' here
char topology[8]);
^
>> drivers/gpu/drm/drm_edid.c:5597:56: warning: variable 'length' is uninitialized when used here [-Wuninitialized]
ret = drm_displayid_parse_tiled(connector, displayid, length, idx);
^~~~~~
drivers/gpu/drm/drm_edid.c:5588:12: note: initialize the variable 'length' to silence this warning
int length, idx;
^
= 0
>> drivers/gpu/drm/drm_edid.c:5597:64: warning: variable 'idx' is uninitialized when used here [-Wuninitialized]
ret = drm_displayid_parse_tiled(connector, displayid, length, idx);
^~~
drivers/gpu/drm/drm_edid.c:5588:17: note: initialize the variable 'idx' to silence this warning
int length, idx;
^
= 0
2 warnings and 2 errors generated.
vim +5539 drivers/gpu/drm/drm_edid.c
40d9b043a89e23 Dave Airlie 2014-10-20 5504
5e546cd5b3bc76 Dave Airlie 2016-05-03 5505 static int drm_parse_tiled_block(struct drm_connector *connector,
8e2b1510d279ae Ville Syrjälä 2020-03-13 5506 const struct displayid_block *block)
40d9b043a89e23 Dave Airlie 2014-10-20 5507 {
8e2b1510d279ae Ville Syrjälä 2020-03-13 5508 const struct displayid_tiled_block *tile = (struct displayid_tiled_block *)block;
40d9b043a89e23 Dave Airlie 2014-10-20 5509 u16 w, h;
40d9b043a89e23 Dave Airlie 2014-10-20 5510 u8 tile_v_loc, tile_h_loc;
40d9b043a89e23 Dave Airlie 2014-10-20 5511 u8 num_v_tile, num_h_tile;
40d9b043a89e23 Dave Airlie 2014-10-20 5512 struct drm_tile_group *tg;
40d9b043a89e23 Dave Airlie 2014-10-20 5513
40d9b043a89e23 Dave Airlie 2014-10-20 5514 w = tile->tile_size[0] | tile->tile_size[1] << 8;
40d9b043a89e23 Dave Airlie 2014-10-20 5515 h = tile->tile_size[2] | tile->tile_size[3] << 8;
40d9b043a89e23 Dave Airlie 2014-10-20 5516
40d9b043a89e23 Dave Airlie 2014-10-20 5517 num_v_tile = (tile->topo[0] & 0xf) | (tile->topo[2] & 0x30);
40d9b043a89e23 Dave Airlie 2014-10-20 5518 num_h_tile = (tile->topo[0] >> 4) | ((tile->topo[2] >> 2) & 0x30);
40d9b043a89e23 Dave Airlie 2014-10-20 5519 tile_v_loc = (tile->topo[1] & 0xf) | ((tile->topo[2] & 0x3) << 4);
40d9b043a89e23 Dave Airlie 2014-10-20 5520 tile_h_loc = (tile->topo[1] >> 4) | (((tile->topo[2] >> 2) & 0x3) << 4);
40d9b043a89e23 Dave Airlie 2014-10-20 5521
40d9b043a89e23 Dave Airlie 2014-10-20 5522 connector->has_tile = true;
40d9b043a89e23 Dave Airlie 2014-10-20 5523 if (tile->tile_cap & 0x80)
40d9b043a89e23 Dave Airlie 2014-10-20 5524 connector->tile_is_single_monitor = true;
40d9b043a89e23 Dave Airlie 2014-10-20 5525
40d9b043a89e23 Dave Airlie 2014-10-20 5526 connector->num_h_tile = num_h_tile + 1;
40d9b043a89e23 Dave Airlie 2014-10-20 5527 connector->num_v_tile = num_v_tile + 1;
40d9b043a89e23 Dave Airlie 2014-10-20 5528 connector->tile_h_loc = tile_h_loc;
40d9b043a89e23 Dave Airlie 2014-10-20 5529 connector->tile_v_loc = tile_v_loc;
40d9b043a89e23 Dave Airlie 2014-10-20 5530 connector->tile_h_size = w + 1;
40d9b043a89e23 Dave Airlie 2014-10-20 5531 connector->tile_v_size = h + 1;
40d9b043a89e23 Dave Airlie 2014-10-20 5532
40d9b043a89e23 Dave Airlie 2014-10-20 5533 DRM_DEBUG_KMS("tile cap 0x%x\n", tile->tile_cap);
40d9b043a89e23 Dave Airlie 2014-10-20 5534 DRM_DEBUG_KMS("tile_size %d x %d\n", w + 1, h + 1);
40d9b043a89e23 Dave Airlie 2014-10-20 5535 DRM_DEBUG_KMS("topo num tiles %dx%d, location %dx%d\n",
40d9b043a89e23 Dave Airlie 2014-10-20 5536 num_h_tile + 1, num_v_tile + 1, tile_h_loc, tile_v_loc);
40d9b043a89e23 Dave Airlie 2014-10-20 5537 DRM_DEBUG_KMS("vend %c%c%c\n", tile->topology_id[0], tile->topology_id[1], tile->topology_id[2]);
40d9b043a89e23 Dave Airlie 2014-10-20 5538
40d9b043a89e23 Dave Airlie 2014-10-20 @5539 tg = drm_mode_get_tile_group(connector->dev, tile->topology_id);
40d9b043a89e23 Dave Airlie 2014-10-20 5540 if (!tg) {
40d9b043a89e23 Dave Airlie 2014-10-20 5541 tg = drm_mode_create_tile_group(connector->dev, tile->topology_id);
40d9b043a89e23 Dave Airlie 2014-10-20 5542 }
40d9b043a89e23 Dave Airlie 2014-10-20 5543 if (!tg)
40d9b043a89e23 Dave Airlie 2014-10-20 5544 return -ENOMEM;
40d9b043a89e23 Dave Airlie 2014-10-20 5545
40d9b043a89e23 Dave Airlie 2014-10-20 5546 if (connector->tile_group != tg) {
40d9b043a89e23 Dave Airlie 2014-10-20 5547 /* if we haven't got a pointer,
40d9b043a89e23 Dave Airlie 2014-10-20 5548 take the reference, drop ref to old tile group */
40d9b043a89e23 Dave Airlie 2014-10-20 5549 if (connector->tile_group) {
40d9b043a89e23 Dave Airlie 2014-10-20 5550 drm_mode_put_tile_group(connector->dev, connector->tile_group);
40d9b043a89e23 Dave Airlie 2014-10-20 5551 }
40d9b043a89e23 Dave Airlie 2014-10-20 5552 connector->tile_group = tg;
40d9b043a89e23 Dave Airlie 2014-10-20 5553 } else
40d9b043a89e23 Dave Airlie 2014-10-20 5554 /* if same tile group, then release the ref we just took. */
40d9b043a89e23 Dave Airlie 2014-10-20 5555 drm_mode_put_tile_group(connector->dev, tg);
5e546cd5b3bc76 Dave Airlie 2016-05-03 5556 return 0;
5e546cd5b3bc76 Dave Airlie 2016-05-03 5557 }
5e546cd5b3bc76 Dave Airlie 2016-05-03 5558
8e2b1510d279ae Ville Syrjälä 2020-03-13 5559 static int drm_displayid_parse_tiled(struct drm_connector *connector,
8e2b1510d279ae Ville Syrjälä 2020-03-13 5560 const u8 *displayid, int length, int idx)
5e546cd5b3bc76 Dave Airlie 2016-05-03 5561 {
8e2b1510d279ae Ville Syrjälä 2020-03-13 5562 const struct displayid_block *block;
5e546cd5b3bc76 Dave Airlie 2016-05-03 5563 int ret;
5e546cd5b3bc76 Dave Airlie 2016-05-03 5564
3a4a2ea39f86c5 Tomas Bzatek 2016-05-01 5565 idx += sizeof(struct displayid_hdr);
80d42db02b3a5b Andres Rodriguez 2019-06-19 5566 for_each_displayid_db(displayid, block, idx, length) {
3a4a2ea39f86c5 Tomas Bzatek 2016-05-01 5567 DRM_DEBUG_KMS("block id 0x%x, rev %d, len %d\n",
5e546cd5b3bc76 Dave Airlie 2016-05-03 5568 block->tag, block->rev, block->num_bytes);
5e546cd5b3bc76 Dave Airlie 2016-05-03 5569
5e546cd5b3bc76 Dave Airlie 2016-05-03 5570 switch (block->tag) {
5e546cd5b3bc76 Dave Airlie 2016-05-03 5571 case DATA_BLOCK_TILED_DISPLAY:
5e546cd5b3bc76 Dave Airlie 2016-05-03 5572 ret = drm_parse_tiled_block(connector, block);
5e546cd5b3bc76 Dave Airlie 2016-05-03 5573 if (ret)
5e546cd5b3bc76 Dave Airlie 2016-05-03 5574 return ret;
40d9b043a89e23 Dave Airlie 2014-10-20 5575 break;
40d9b043a89e23 Dave Airlie 2014-10-20 5576 default:
3a4a2ea39f86c5 Tomas Bzatek 2016-05-01 5577 DRM_DEBUG_KMS("found DisplayID tag 0x%x, unhandled\n", block->tag);
40d9b043a89e23 Dave Airlie 2014-10-20 5578 break;
40d9b043a89e23 Dave Airlie 2014-10-20 5579 }
3a4a2ea39f86c5 Tomas Bzatek 2016-05-01 5580 }
40d9b043a89e23 Dave Airlie 2014-10-20 5581 return 0;
40d9b043a89e23 Dave Airlie 2014-10-20 5582 }
40d9b043a89e23 Dave Airlie 2014-10-20 5583
8e2b1510d279ae Ville Syrjälä 2020-03-13 5584 void drm_update_tile_info(struct drm_connector *connector,
8e2b1510d279ae Ville Syrjälä 2020-03-13 5585 const struct edid *edid)
40d9b043a89e23 Dave Airlie 2014-10-20 5586 {
8e2b1510d279ae Ville Syrjälä 2020-03-13 5587 const void *displayid = NULL;
8e2b1510d279ae Ville Syrjälä 2020-03-13 5588 int length, idx;
40d9b043a89e23 Dave Airlie 2014-10-20 5589 int ret;
40d9b043a89e23 Dave Airlie 2014-10-20 5590 connector->has_tile = false;
40d9b043a89e23 Dave Airlie 2014-10-20 5591 displayid = drm_find_displayid_extension(edid);
40d9b043a89e23 Dave Airlie 2014-10-20 5592 if (!displayid) {
40d9b043a89e23 Dave Airlie 2014-10-20 5593 /* drop reference to any tile group we had */
40d9b043a89e23 Dave Airlie 2014-10-20 5594 goto out_drop_ref;
40d9b043a89e23 Dave Airlie 2014-10-20 5595 }
40d9b043a89e23 Dave Airlie 2014-10-20 5596
8e2b1510d279ae Ville Syrjälä 2020-03-13 @5597 ret = drm_displayid_parse_tiled(connector, displayid, length, idx);
:::::: The code at line 5539 was first introduced by commit
:::::: 40d9b043a89e2301e1f97ade055a73ecc28e9afe drm/connector: store tile information from displayid (v3)
:::::: TO: Dave Airlie <airlied(a)redhat.com>
:::::: CC: Dave Airlie <airlied(a)redhat.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 4 months