struct t7xx_port {
        /* Members not initialized in definition */
        const struct t7xx_port_conf     *port_conf;
-       struct wwan_port                *wwan_port;
        struct t7xx_pci_dev             *t7xx_dev;
        struct device                   *dev;
        u16                             seq_nums[2];    /* TX/RX sequence numbers */
        int                             rx_length_th;
        bool                            chan_enable;
        struct task_struct              *thread;
+       union {
+               struct {
+                       struct wwan_port                *wwan_port;
+               } wwan;
+       };
 };
 
 struct sk_buff *t7xx_port_alloc_skb(int payload);
 
 
 static void t7xx_port_wwan_uninit(struct t7xx_port *port)
 {
-       if (!port->wwan_port)
+       if (!port->wwan.wwan_port)
                return;
 
        port->rx_length_th = 0;
-       wwan_remove_port(port->wwan_port);
-       port->wwan_port = NULL;
+       wwan_remove_port(port->wwan.wwan_port);
+       port->wwan.wwan_port = NULL;
 }
 
 static int t7xx_port_wwan_recv_skb(struct t7xx_port *port, struct sk_buff *skb)
                return 0;
        }
 
-       wwan_port_rx(port->wwan_port, skb);
+       wwan_port_rx(port->wwan.wwan_port, skb);
        return 0;
 }
 
        if (state != MD_STATE_READY)
                return;
 
-       if (!port->wwan_port) {
-               port->wwan_port = wwan_create_port(port->dev, port_conf->port_type,
-                                                  &wwan_ops, port);
-               if (IS_ERR(port->wwan_port))
+       if (!port->wwan.wwan_port) {
+               port->wwan.wwan_port = wwan_create_port(port->dev, port_conf->port_type,
+                                                       &wwan_ops, port);
+               if (IS_ERR(port->wwan.wwan_port))
                        dev_err(port->dev, "Unable to create WWWAN port %s", port_conf->name);
        }
 }