net: switchdev: Replace port attr set SDO with a notification
Florian Fainelli authored

Drop switchdev_ops.switchdev_port_attr_set. Drop the uses of this field
from all clients, which were migrated to use switchdev notification in
the previous patches.

Add a new function switchdev_port_attr_notify() that sends the switchdev
notifications SWITCHDEV_PORT_ATTR_SET and calls the blocking (process)
notifier chain.

We have one odd case within net/bridge/br_switchdev.c with the
SWITCHDEV_ATTR_ID_PORT_PRE_BRIDGE_FLAGS attribute identifier that
requires executing from atomic context, we deal with that one
specifically.

Drop __switchdev_port_attr_set() and update switchdev_port_attr_set()
likewise.
Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
Reviewed-by: default avatarIdo Schimmel <idosch@mellanox.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
d45224d6
Name Last commit Last update
Documentation doc: add phylink documentation to the networking book
LICENSES Merge tag 'docs-4.20' of git://git.lwn.net/linux
arch Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
block Merge tag 'for-linus-20190215' of git://git.kernel.dk/linux-block
certs kbuild: remove redundant target cleaning on failure
crypto net: crypto set sk to NULL when af_alg_release.
drivers staging: fsl-dpaa2: ethsw: Handle SWITCHDEV_PORT_ATTR_SET
firmware kbuild: change filechk to surround the given command with { }
fs Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
include switchdev: Add SWITCHDEV_PORT_ATTR_SET
init revert "initramfs: cleanup incomplete rootfs"
ipc ipc: IPCMNI limit check for semmni
kernel Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
lib Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
mm mm, memory_hotplug: fix off-by-one in is_pageblock_removable
net net: switchdev: Replace port attr set SDO with a notification
samples Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
scripts kallsyms: Handle too long symbols in kallsyms.c
security Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
sound Merge tag 'sound-5.0' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
tools tc-testing: gitignore, ignore local tdc config file
usr user/Makefile: Fix typo and capitalization in comment section
virt Merge tag 'kvm-arm-fixes-for-5.0' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into kvm-master
.clang-format clang-format: Update .clang-format with the latest for_each macro list
.cocciconfig scripts: add Linux .cocciconfig for coccinelle
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS
Makefile
README
Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.