Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 40d25142 authored by Krzysztof Halasa's avatar Krzysztof Halasa Committed by Jeff Garzik
Browse files

Generic HDLC - remove now unneeded hdlc_device_desc



Removes now unneeded struct hdlc_device_desc

Signed-off-by: default avatarKrzysztof Halasa <khc@pm.waw.pl>
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent 983e2304
Loading
Loading
Loading
Loading
+9 −15
Original line number Diff line number Diff line
/*
 * Generic HDLC support routines for Linux
 *
 * Copyright (C) 1999 - 2006 Krzysztof Halasa <khc@pm.waw.pl>
 * Copyright (C) 1999 - 2008 Krzysztof Halasa <khc@pm.waw.pl>
 *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms of version 2 of the GNU General Public License
@@ -39,7 +39,7 @@
#include <net/net_namespace.h>


static const char* version = "HDLC support module revision 1.21";
static const char* version = "HDLC support module revision 1.22";

#undef DEBUG_LINK

@@ -66,19 +66,15 @@ static struct net_device_stats *hdlc_get_stats(struct net_device *dev)
static int hdlc_rcv(struct sk_buff *skb, struct net_device *dev,
		    struct packet_type *p, struct net_device *orig_dev)
{
	struct hdlc_device_desc *desc = dev_to_desc(dev);
	struct hdlc_device *hdlc = dev_to_hdlc(dev);

	if (dev->nd_net != &init_net) {
		kfree_skb(skb);
		return 0;
	}

	if (desc->netif_rx)
		return desc->netif_rx(skb);

	desc->stats.rx_dropped++; /* Shouldn't happen */
	dev_kfree_skb(skb);
	return NET_RX_DROP;
	BUG_ON(!hdlc->proto->netif_rx);
	return hdlc->proto->netif_rx(skb);
}


@@ -87,7 +83,7 @@ static inline void hdlc_proto_start(struct net_device *dev)
{
	hdlc_device *hdlc = dev_to_hdlc(dev);
	if (hdlc->proto->start)
		return hdlc->proto->start(dev);
		hdlc->proto->start(dev);
}


@@ -96,7 +92,7 @@ static inline void hdlc_proto_stop(struct net_device *dev)
{
	hdlc_device *hdlc = dev_to_hdlc(dev);
	if (hdlc->proto->stop)
		return hdlc->proto->stop(dev);
		hdlc->proto->stop(dev);
}


@@ -263,8 +259,7 @@ static void hdlc_setup(struct net_device *dev)
struct net_device *alloc_hdlcdev(void *priv)
{
	struct net_device *dev;
	dev = alloc_netdev(sizeof(struct hdlc_device_desc) +
			   sizeof(hdlc_device), "hdlc%d", hdlc_setup);
	dev = alloc_netdev(sizeof(struct hdlc_device), "hdlc%d", hdlc_setup);
	if (dev)
		dev_to_hdlc(dev)->priv = priv;
	return dev;
@@ -281,7 +276,7 @@ void unregister_hdlc_device(struct net_device *dev)


int attach_hdlc_protocol(struct net_device *dev, struct hdlc_proto *proto,
			 int (*rx)(struct sk_buff *skb), size_t size)
			 size_t size)
{
	detach_hdlc_protocol(dev);

@@ -297,7 +292,6 @@ int attach_hdlc_protocol(struct net_device *dev, struct hdlc_proto *proto,
			return -ENOBUFS;
		}
	dev_to_hdlc(dev)->proto = proto;
	dev_to_desc(dev)->netif_rx = rx;
	return 0;
}

+3 −2
Original line number Diff line number Diff line
@@ -250,7 +250,7 @@ static int cisco_rx(struct sk_buff *skb)
	return NET_RX_DROP;

 rx_error:
	dev_to_desc(dev)->stats.rx_errors++; /* Mark error */
	dev_to_hdlc(dev)->stats.rx_errors++; /* Mark error */
	dev_kfree_skb_any(skb);
	return NET_RX_DROP;
}
@@ -314,6 +314,7 @@ static struct hdlc_proto proto = {
	.stop		= cisco_stop,
	.type_trans	= cisco_type_trans,
	.ioctl		= cisco_ioctl,
	.netif_rx	= cisco_rx,
	.module		= THIS_MODULE,
};

@@ -360,7 +361,7 @@ static int cisco_ioctl(struct net_device *dev, struct ifreq *ifr)
		if (result)
			return result;

		result = attach_hdlc_protocol(dev, &proto, cisco_rx,
		result = attach_hdlc_protocol(dev, &proto,
					      sizeof(struct cisco_state));
		if (result)
			return result;
+4 −3
Original line number Diff line number Diff line
@@ -956,7 +956,7 @@ static int fr_rx(struct sk_buff *skb)


	if ((skb = skb_share_check(skb, GFP_ATOMIC)) == NULL) {
		dev_to_desc(frad)->stats.rx_dropped++;
		dev_to_hdlc(frad)->stats.rx_dropped++;
		return NET_RX_DROP;
	}

@@ -1017,7 +1017,7 @@ static int fr_rx(struct sk_buff *skb)
	}

 rx_error:
	dev_to_desc(frad)->stats.rx_errors++; /* Mark error */
	dev_to_hdlc(frad)->stats.rx_errors++; /* Mark error */
	dev_kfree_skb_any(skb);
	return NET_RX_DROP;
}
@@ -1217,6 +1217,7 @@ static struct hdlc_proto proto = {
	.stop		= fr_stop,
	.detach		= fr_destroy,
	.ioctl		= fr_ioctl,
	.netif_rx	= fr_rx,
	.module		= THIS_MODULE,
};

@@ -1275,7 +1276,7 @@ static int fr_ioctl(struct net_device *dev, struct ifreq *ifr)
			return result;

		if (dev_to_hdlc(dev)->proto != &proto) { /* Different proto */
			result = attach_hdlc_protocol(dev, &proto, fr_rx,
			result = attach_hdlc_protocol(dev, &proto,
						      sizeof(struct frad_state));
			if (result)
				return result;
+1 −1
Original line number Diff line number Diff line
@@ -122,7 +122,7 @@ static int ppp_ioctl(struct net_device *dev, struct ifreq *ifr)
		if (result)
			return result;

		result = attach_hdlc_protocol(dev, &proto, NULL,
		result = attach_hdlc_protocol(dev, &proto,
					      sizeof(struct ppp_state));
		if (result)
			return result;
+1 −1
Original line number Diff line number Diff line
@@ -82,7 +82,7 @@ static int raw_ioctl(struct net_device *dev, struct ifreq *ifr)
		if (result)
			return result;

		result = attach_hdlc_protocol(dev, &proto, NULL,
		result = attach_hdlc_protocol(dev, &proto,
					      sizeof(raw_hdlc_proto));
		if (result)
			return result;
Loading