net: dsa: fix build error with devlink build as module
Tobias Regnery authored
After commit 96567d5d ("net: dsa: dsa2: Add basic support of devlink")
I see the following link error with CONFIG_NET_DSA=y and CONFIG_NET_DEVLINK=m:

net/built-in.o: In function 'dsa_register_switch':
(.text+0xe226b): undefined reference to `devlink_alloc'
net/built-in.o: In function 'dsa_register_switch':
(.text+0xe2284): undefined reference to `devlink_register'
net/built-in.o: In function 'dsa_register_switch':
(.text+0xe243e): undefined reference to `devlink_port_register'
net/built-in.o: In function 'dsa_register_switch':
(.text+0xe24e1): undefined reference to `devlink_port_register'
net/built-in.o: In function 'dsa_register_switch':
(.text+0xe24fa): undefined reference to `devlink_port_type_eth_set'
net/built-in.o: In function 'dsa_dst_unapply.part.8':
dsa2.c:(.text.unlikely+0x345): undefined reference to 'devlink_port_unregister'
dsa2.c:(.text.unlikely+0x36c): undefined reference to 'devlink_port_unregister'
dsa2.c:(.text.unlikely+0x38e): undefined reference to 'devlink_port_unregister'
dsa2.c:(.text.unlikely+0x3f2): undefined reference to 'devlink_unregister'
dsa2.c:(.text.unlikely+0x3fb): undefined reference to 'devlink_free'

Fix this by adding a dependency on MAY_USE_DEVLINK so that CONFIG_NET_DSA
get switched to be build as module when CONFIG_NET_DEVLINK=m.

Fixes: 96567d5d

 ("net: dsa: dsa2: Add basic support of devlink")
Signed-off-by: default avatarTobias Regnery <tobias.regnery@gmail.com>
Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
768bfa2a
Name Last commit Last update
..
6lowpan 6lowpan: use rb_entry()
802 Replace <asm/uaccess.h> with <linux/uaccess.h> globally
8021q net/8021q: create device with all possible features in wanted_features
9p Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
appletalk lib/vsprintf.c: remove %Z support
atm neighbour: fix nlmsg_pid in notifications
ax25 net: Work around lockdep limitation in sockets that use sockets
batman-adv Merge tag 'batadv-net-for-davem-20170316' of git://git.open-mesh.org/linux-merge
bluetooth net: Work around lockdep limitation in sockets that use sockets
bpf bpf: introduce BPF_PROG_TEST_RUN command
bridge net: break include loop netdevice.h, dsa.h, devlink.h
caif sched/headers: Prepare for new header dependencies before moving code to <linux/sched/signal.h>
can can: bcm: fix hrtimer/tasklet termination in bcm op removal
ceph libceph: osd_request_timeout option
core bpf: introduce BPF_PROG_TEST_RUN command
dcb net: dcb: set error code on failures
dccp dccp: fix memory leak during tear-down of unsuccessful connection request
decnet Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
dns_resolver Merge branch 'WIP.sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
dsa net: dsa: fix build error with devlink build as module
ethernet Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec-next
hsr net/hsr: use eth_hw_addr_random()
ieee802154 lib/vsprintf.c: remove %Z support
ife net: Introduce ife encapsulation module
ipv4 net: tcp: Refine the __tcp_select_window
ipv6
ipx
irda
iucv
kcm
key
l2tp
l3mdev
lapb
llc
mac80211
mac802154
mpls
ncsi
netfilter
netlabel
netlink
netrom
nfc
openvswitch
packet
phonet
psample
qrtr
rds
rfkill
rose
rxrpc
sched
sctp
smc
strparser
sunrpc
switchdev
tipc
unix
vmw_vsock
wimax
wireless
x25
xfrm
Kconfig
Makefile
compat.c
socket.c
sysctl_net.c