}
 
        pnp = phonet_proto_get(protocol);
+#ifdef CONFIG_KMOD
+       if (pnp == NULL &&
+           request_module("net-pf-%d-proto-%d", PF_PHONET, protocol) == 0)
+               pnp = phonet_proto_get(protocol);
+#endif
        if (pnp == NULL)
                return -EPROTONOSUPPORT;
        if (sock->type != pnp->sock_type) {
 }
 
 static struct net_proto_family phonet_proto_family = {
-       .family = AF_PHONET,
+       .family = PF_PHONET,
        .create = pn_socket_create,
        .owner = THIS_MODULE,
 };
 
 err:
        phonet_sysctl_exit();
-       sock_unregister(AF_PHONET);
+       sock_unregister(PF_PHONET);
        dev_remove_pack(&phonet_packet_type);
        phonet_device_exit();
        return err;
 {
        isi_unregister();
        phonet_sysctl_exit();
-       sock_unregister(AF_PHONET);
+       sock_unregister(PF_PHONET);
        dev_remove_pack(&phonet_packet_type);
        phonet_device_exit();
 }
 module_exit(phonet_exit);
 MODULE_DESCRIPTION("Phonet protocol stack for Linux");
 MODULE_LICENSE("GPL");
+MODULE_ALIAS_NETPROTO(PF_PHONET);