mac802154: tx: remove xmit channel context switch

This patch removes the channel hoping feature before xmit. There are
several issues to provide a real channel hoping (timing requirements,
etc.). It's not very useful at the moment. In my opinion this was added
for support RF4CE and doing some userspace magic to do some channel hoping.

We don't have any known kernelspace protocol which really use this
feature. We simply drop this feature now.
mac802154: tx: add drv_xmit to driver-ops

This patch adds a new helper for calling the xmit callback from
ieee802154_ops.
mac802154: tx: fix error handling on xmit

In case of an error we should call kfree_skb instead of dev_kfree_skb or
consume_skb.
mac802154: tx: add support for xmit_async callback

This patch renames the existsing xmit callback to xmit_sync and
introduces an asynchronous xmit_async function. If ieee802154_ops
doesn't provide the xmit_async callback, then we have a fallback to
the xmit_sync callback.
at86rf230: asynchrous xmit handling

This patch converts the sync xmit handling into an async xmit handling. The
driver was already prepared for this step, all other drivers need more
work to implement a xmit_async function.
ieee802154: add valid frame length helper

This patch adds a generic valid frame length check function helper. This
is useful to check the length field after receiving. For example the
at86rf231 doesn't filter invalid frame length. Sometimes the CRC can also
be correct. If we get the lqi value with an invalid frame length the
kernel may crash, because we dereference an invalid pointer.
at86rf230: use ieee802154_is_valid_frame_len

This patch adds the ieee802154_is_valid_frame_len function to validate
the frame length. If the frame length is invalid we use the maximum
payload to receive also corrupted frames in monitor mode.
at86rf230: improve receive handling

Current behaviour it to copy the frame inclusive CRC into a skb, then
remove the CRC from the skb. This patch optimizes this by not copying
the CRC in the first place.
ieee802154: remove current netlink interface
mac802154: fix typo
mac802154: ieee802154: rename wpan-phy.h to cfg802154.h
cfg802154: add wpan_dev struct
netdevice: add wpan dev ieee802154 pointer
mac802154: remove interface add and del
ieee802154: rename wpan-class to core
ieee802154: add net namespace
ieee802154: rework phy allocation
mac802154: add ieee802154_vif struct
ieee802154: move sysfs entries into sysfs.c
ieee802154: add new cfg802154 netlink interface