Commit fece7a8c authored by M Chetan Kumar's avatar M Chetan Kumar Committed by David S. Miller
Browse files

net: wwan: t7xx: use union to group port type specific data



Use union inside t7xx_port to group port type specific data members.

Signed-off-by: default avatarM Chetan Kumar <m.chetan.kumar@linux.intel.com>
Reviewed-by: default avatarSergey Ryazanov <ryazanov.s.a@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent b0e01253
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -99,7 +99,6 @@ struct t7xx_port_conf {
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 */
@@ -122,6 +121,11 @@ struct t7xx_port {
	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);
+8 −8
Original line number Diff line number Diff line
@@ -109,12 +109,12 @@ static int t7xx_port_wwan_init(struct t7xx_port *port)

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)
@@ -129,7 +129,7 @@ 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;
}

@@ -158,10 +158,10 @@ static void t7xx_port_wwan_md_state_notify(struct t7xx_port *port, unsigned int
	if (state != MD_STATE_READY)
		return;

	if (!port->wwan_port) {
		port->wwan_port = wwan_create_port(port->dev, port_conf->port_type,
	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_port))
		if (IS_ERR(port->wwan.wwan_port))
			dev_err(port->dev, "Unable to create WWWAN port %s", port_conf->name);
	}
}