void devlink_net_set(struct devlink *devlink, struct net *net)
 {
-       if (WARN_ON(devlink->registered))
+       if (WARN_ON(devlink->dev))
                return;
        __devlink_net_set(devlink, net);
 }
        struct sk_buff *msg;
        int err;
 
-       if (!devlink_port->registered)
+       if (!devlink_port->devlink)
                return;
 
        WARN_ON(cmd != DEVLINK_CMD_PORT_NEW && cmd != DEVLINK_CMD_PORT_DEL);
  */
 int devlink_register(struct devlink *devlink, struct device *dev)
 {
+       WARN_ON(devlink->dev);
        devlink->dev = dev;
-       devlink->registered = true;
        mutex_lock(&devlink_mutex);
        list_add_tail(&devlink->list, &devlink_list);
        devlink_notify(devlink, DEVLINK_CMD_NEW);
                mutex_unlock(&devlink->lock);
                return -EEXIST;
        }
+
+       WARN_ON(devlink_port->devlink);
        devlink_port->devlink = devlink;
        devlink_port->index = port_index;
-       devlink_port->registered = true;
        spin_lock_init(&devlink_port->type_lock);
        INIT_LIST_HEAD(&devlink_port->reporter_list);
        mutex_init(&devlink_port->reporters_lock);
                                    enum devlink_port_type type,
                                    void *type_dev)
 {
-       if (WARN_ON(!devlink_port->registered))
+       if (WARN_ON(!devlink_port->devlink))
                return;
        devlink_port_type_warn_cancel(devlink_port);
        spin_lock_bh(&devlink_port->type_lock);
 {
        int ret;
 
-       if (WARN_ON(devlink_port->registered))
+       if (WARN_ON(devlink_port->devlink))
                return;
        devlink_port->attrs = *attrs;
        ret = __devlink_port_attrs_set(devlink_port, attrs->flavour);
        struct devlink_port_attrs *attrs = &devlink_port->attrs;
        int ret;
 
-       if (WARN_ON(devlink_port->registered))
+       if (WARN_ON(devlink_port->devlink))
                return;
        ret = __devlink_port_attrs_set(devlink_port,
                                       DEVLINK_PORT_FLAVOUR_PCI_PF);
        struct devlink_port_attrs *attrs = &devlink_port->attrs;
        int ret;
 
-       if (WARN_ON(devlink_port->registered))
+       if (WARN_ON(devlink_port->devlink))
                return;
        ret = __devlink_port_attrs_set(devlink_port,
                                       DEVLINK_PORT_FLAVOUR_PCI_VF);
        struct devlink_port_attrs *attrs = &devlink_port->attrs;
        int ret;
 
-       if (WARN_ON(devlink_port->registered))
+       if (WARN_ON(devlink_port->devlink))
                return;
        ret = __devlink_port_attrs_set(devlink_port,
                                       DEVLINK_PORT_FLAVOUR_PCI_SF);