diff options
Diffstat (limited to 'net/atm')
| -rw-r--r-- | net/atm/br2684.c | 1 | ||||
| -rw-r--r-- | net/atm/common.c | 14 | ||||
| -rw-r--r-- | net/atm/common.h | 2 | ||||
| -rw-r--r-- | net/atm/lec.c | 1 | ||||
| -rw-r--r-- | net/atm/mpc.c | 9 | ||||
| -rw-r--r-- | net/atm/mpoa_caches.c | 48 | ||||
| -rw-r--r-- | net/atm/mpoa_caches.h | 9 | ||||
| -rw-r--r-- | net/atm/mpoa_proc.c | 16 | ||||
| -rw-r--r-- | net/atm/proc.c | 1 | 
9 files changed, 50 insertions, 51 deletions
| diff --git a/net/atm/br2684.c b/net/atm/br2684.c index 4e111196f902..fd94bea36ee8 100644 --- a/net/atm/br2684.c +++ b/net/atm/br2684.c @@ -824,7 +824,6 @@ static int br2684_proc_open(struct inode *inode, struct file *file)  }  static const struct file_operations br2684_proc_ops = { -	.owner = THIS_MODULE,  	.open = br2684_proc_open,  	.read = seq_read,  	.llseek = seq_lseek, diff --git a/net/atm/common.c b/net/atm/common.c index 8a4f99114cd2..fc78a0508ae1 100644 --- a/net/atm/common.c +++ b/net/atm/common.c @@ -14,7 +14,7 @@  #include <linux/capability.h>  #include <linux/mm.h>  #include <linux/sched/signal.h> -#include <linux/time.h>		/* struct timeval */ +#include <linux/time64.h>	/* 64-bit time for seconds */  #include <linux/skbuff.h>  #include <linux/bitops.h>  #include <linux/init.h> @@ -648,11 +648,11 @@ out:  	return error;  } -unsigned int vcc_poll(struct file *file, struct socket *sock, poll_table *wait) +__poll_t vcc_poll(struct file *file, struct socket *sock, poll_table *wait)  {  	struct sock *sk = sock->sk;  	struct atm_vcc *vcc; -	unsigned int mask; +	__poll_t mask;  	sock_poll_wait(file, sk_sleep(sk), wait);  	mask = 0; @@ -661,15 +661,15 @@ unsigned int vcc_poll(struct file *file, struct socket *sock, poll_table *wait)  	/* exceptional events */  	if (sk->sk_err) -		mask = POLLERR; +		mask = EPOLLERR;  	if (test_bit(ATM_VF_RELEASED, &vcc->flags) ||  	    test_bit(ATM_VF_CLOSE, &vcc->flags)) -		mask |= POLLHUP; +		mask |= EPOLLHUP;  	/* readable? */  	if (!skb_queue_empty(&sk->sk_receive_queue)) -		mask |= POLLIN | POLLRDNORM; +		mask |= EPOLLIN | EPOLLRDNORM;  	/* writable? */  	if (sock->state == SS_CONNECTING && @@ -678,7 +678,7 @@ unsigned int vcc_poll(struct file *file, struct socket *sock, poll_table *wait)  	if (vcc->qos.txtp.traffic_class != ATM_NONE &&  	    vcc_writable(sk)) -		mask |= POLLOUT | POLLWRNORM | POLLWRBAND; +		mask |= EPOLLOUT | EPOLLWRNORM | EPOLLWRBAND;  	return mask;  } diff --git a/net/atm/common.h b/net/atm/common.h index d9d583712a91..5850649068bb 100644 --- a/net/atm/common.h +++ b/net/atm/common.h @@ -17,7 +17,7 @@ int vcc_connect(struct socket *sock, int itf, short vpi, int vci);  int vcc_recvmsg(struct socket *sock, struct msghdr *msg, size_t size,  		int flags);  int vcc_sendmsg(struct socket *sock, struct msghdr *m, size_t total_len); -unsigned int vcc_poll(struct file *file, struct socket *sock, poll_table *wait); +__poll_t vcc_poll(struct file *file, struct socket *sock, poll_table *wait);  int vcc_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg);  int vcc_compat_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg);  int vcc_setsockopt(struct socket *sock, int level, int optname, diff --git a/net/atm/lec.c b/net/atm/lec.c index 6676e3433261..09a1f056712a 100644 --- a/net/atm/lec.c +++ b/net/atm/lec.c @@ -992,7 +992,6 @@ static int lec_seq_open(struct inode *inode, struct file *file)  }  static const struct file_operations lec_seq_fops = { -	.owner = THIS_MODULE,  	.open = lec_seq_open,  	.read = seq_read,  	.llseek = seq_lseek, diff --git a/net/atm/mpc.c b/net/atm/mpc.c index 7c6a1cc760a2..31e0dcb970f8 100644 --- a/net/atm/mpc.c +++ b/net/atm/mpc.c @@ -1089,7 +1089,7 @@ static void MPOA_trigger_rcvd(struct k_message *msg, struct mpoa_client *mpc)  		msg->type = SND_MPOA_RES_RQST;  		msg->content.in_info = entry->ctrl_info;  		msg_to_mpoad(msg, mpc); -		do_gettimeofday(&(entry->reply_wait)); +		entry->reply_wait = ktime_get_seconds();  		mpc->in_ops->put(entry);  		return;  	} @@ -1099,7 +1099,7 @@ static void MPOA_trigger_rcvd(struct k_message *msg, struct mpoa_client *mpc)  		msg->type = SND_MPOA_RES_RQST;  		msg->content.in_info = entry->ctrl_info;  		msg_to_mpoad(msg, mpc); -		do_gettimeofday(&(entry->reply_wait)); +		entry->reply_wait = ktime_get_seconds();  		mpc->in_ops->put(entry);  		return;  	} @@ -1175,8 +1175,9 @@ static void MPOA_res_reply_rcvd(struct k_message *msg, struct mpoa_client *mpc)  	}  	entry->ctrl_info = msg->content.in_info; -	do_gettimeofday(&(entry->tv)); -	do_gettimeofday(&(entry->reply_wait)); /* Used in refreshing func from now on */ +	entry->time = ktime_get_seconds(); +	/* Used in refreshing func from now on */ +	entry->reply_wait = ktime_get_seconds();  	entry->refresh_time = 0;  	ddprintk_cont("entry->shortcut = %p\n", entry->shortcut); diff --git a/net/atm/mpoa_caches.c b/net/atm/mpoa_caches.c index e01450bb32d6..4bb418313720 100644 --- a/net/atm/mpoa_caches.c +++ b/net/atm/mpoa_caches.c @@ -117,7 +117,7 @@ static in_cache_entry *in_cache_add_entry(__be32 dst_ip,  	memcpy(entry->MPS_ctrl_ATM_addr, client->mps_ctrl_addr, ATM_ESA_LEN);  	entry->ctrl_info.in_dst_ip = dst_ip; -	do_gettimeofday(&(entry->tv)); +	entry->time = ktime_get_seconds();  	entry->retry_time = client->parameters.mpc_p4;  	entry->count = 1;  	entry->entry_state = INGRESS_INVALID; @@ -148,7 +148,7 @@ static int cache_hit(in_cache_entry *entry, struct mpoa_client *mpc)  			if (qos != NULL)  				msg.qos = qos->qos;  			msg_to_mpoad(&msg, mpc); -			do_gettimeofday(&(entry->reply_wait)); +			entry->reply_wait = ktime_get_seconds();  			entry->entry_state = INGRESS_RESOLVING;  		}  		if (entry->shortcut != NULL) @@ -171,7 +171,7 @@ static int cache_hit(in_cache_entry *entry, struct mpoa_client *mpc)  		if (qos != NULL)  			msg.qos = qos->qos;  		msg_to_mpoad(&msg, mpc); -		do_gettimeofday(&(entry->reply_wait)); +		entry->reply_wait = ktime_get_seconds();  	}  	return CLOSED; @@ -227,17 +227,16 @@ static void in_cache_remove_entry(in_cache_entry *entry,  static void clear_count_and_expired(struct mpoa_client *client)  {  	in_cache_entry *entry, *next_entry; -	struct timeval now; +	time64_t now; -	do_gettimeofday(&now); +	now = ktime_get_seconds();  	write_lock_bh(&client->ingress_lock);  	entry = client->in_cache;  	while (entry != NULL) {  		entry->count = 0;  		next_entry = entry->next; -		if ((now.tv_sec - entry->tv.tv_sec) -		   > entry->ctrl_info.holding_time) { +		if ((now - entry->time) > entry->ctrl_info.holding_time) {  			dprintk("holding time expired, ip = %pI4\n",  				&entry->ctrl_info.in_dst_ip);  			client->in_ops->remove_entry(entry, client); @@ -253,35 +252,35 @@ static void check_resolving_entries(struct mpoa_client *client)  	struct atm_mpoa_qos *qos;  	in_cache_entry *entry; -	struct timeval now; +	time64_t now;  	struct k_message msg; -	do_gettimeofday(&now); +	now = ktime_get_seconds();  	read_lock_bh(&client->ingress_lock);  	entry = client->in_cache;  	while (entry != NULL) {  		if (entry->entry_state == INGRESS_RESOLVING) { -			if ((now.tv_sec - entry->hold_down.tv_sec) < -			    client->parameters.mpc_p6) { + +			if ((now - entry->hold_down) +					< client->parameters.mpc_p6) {  				entry = entry->next;	/* Entry in hold down */  				continue;  			} -			if ((now.tv_sec - entry->reply_wait.tv_sec) > -			    entry->retry_time) { +			if ((now - entry->reply_wait) > entry->retry_time) {  				entry->retry_time = MPC_C1 * (entry->retry_time);  				/*  				 * Retry time maximum exceeded,  				 * put entry in hold down.  				 */  				if (entry->retry_time > client->parameters.mpc_p5) { -					do_gettimeofday(&(entry->hold_down)); +					entry->hold_down = ktime_get_seconds();  					entry->retry_time = client->parameters.mpc_p4;  					entry = entry->next;  					continue;  				}  				/* Ask daemon to send a resolution request. */ -				memset(&(entry->hold_down), 0, sizeof(struct timeval)); +				memset(&entry->hold_down, 0, sizeof(time64_t));  				msg.type = SND_MPOA_RES_RTRY;  				memcpy(msg.MPS_ctrl, client->mps_ctrl_addr, ATM_ESA_LEN);  				msg.content.in_info = entry->ctrl_info; @@ -289,7 +288,7 @@ static void check_resolving_entries(struct mpoa_client *client)  				if (qos != NULL)  					msg.qos = qos->qos;  				msg_to_mpoad(&msg, client); -				do_gettimeofday(&(entry->reply_wait)); +				entry->reply_wait = ktime_get_seconds();  			}  		}  		entry = entry->next; @@ -300,18 +299,18 @@ static void check_resolving_entries(struct mpoa_client *client)  /* Call this every MPC-p5 seconds. */  static void refresh_entries(struct mpoa_client *client)  { -	struct timeval now; +	time64_t now;  	struct in_cache_entry *entry = client->in_cache;  	ddprintk("refresh_entries\n"); -	do_gettimeofday(&now); +	now = ktime_get_seconds();  	read_lock_bh(&client->ingress_lock);  	while (entry != NULL) {  		if (entry->entry_state == INGRESS_RESOLVED) {  			if (!(entry->refresh_time))  				entry->refresh_time = (2 * (entry->ctrl_info.holding_time))/3; -			if ((now.tv_sec - entry->reply_wait.tv_sec) > +			if ((now - entry->reply_wait) >  			    entry->refresh_time) {  				dprintk("refreshing an entry.\n");  				entry->entry_state = INGRESS_REFRESHING; @@ -480,7 +479,7 @@ static eg_cache_entry *eg_cache_add_entry(struct k_message *msg,  	memcpy(entry->MPS_ctrl_ATM_addr, client->mps_ctrl_addr, ATM_ESA_LEN);  	entry->ctrl_info = msg->content.eg_info; -	do_gettimeofday(&(entry->tv)); +	entry->time = ktime_get_seconds();  	entry->entry_state = EGRESS_RESOLVED;  	dprintk("new_eg_cache_entry cache_id %u\n",  		ntohl(entry->ctrl_info.cache_id)); @@ -495,7 +494,7 @@ static eg_cache_entry *eg_cache_add_entry(struct k_message *msg,  static void update_eg_cache_entry(eg_cache_entry *entry, uint16_t holding_time)  { -	do_gettimeofday(&(entry->tv)); +	entry->time = ktime_get_seconds();  	entry->entry_state = EGRESS_RESOLVED;  	entry->ctrl_info.holding_time = holding_time;  } @@ -503,17 +502,16 @@ static void update_eg_cache_entry(eg_cache_entry *entry, uint16_t holding_time)  static void clear_expired(struct mpoa_client *client)  {  	eg_cache_entry *entry, *next_entry; -	struct timeval now; +	time64_t now;  	struct k_message msg; -	do_gettimeofday(&now); +	now = ktime_get_seconds();  	write_lock_irq(&client->egress_lock);  	entry = client->eg_cache;  	while (entry != NULL) {  		next_entry = entry->next; -		if ((now.tv_sec - entry->tv.tv_sec) -		   > entry->ctrl_info.holding_time) { +		if ((now - entry->time) > entry->ctrl_info.holding_time) {  			msg.type = SND_EGRESS_PURGE;  			msg.content.eg_info = entry->ctrl_info;  			dprintk("egress_cache: holding time expired, cache_id = %u.\n", diff --git a/net/atm/mpoa_caches.h b/net/atm/mpoa_caches.h index 6a266669ebf4..464c4c7f8d1f 100644 --- a/net/atm/mpoa_caches.h +++ b/net/atm/mpoa_caches.h @@ -2,6 +2,7 @@  #ifndef MPOA_CACHES_H  #define MPOA_CACHES_H +#include <linux/time64.h>  #include <linux/netdevice.h>  #include <linux/types.h>  #include <linux/atm.h> @@ -16,9 +17,9 @@ void atm_mpoa_init_cache(struct mpoa_client *mpc);  typedef struct in_cache_entry {  	struct in_cache_entry *next;  	struct in_cache_entry *prev; -	struct timeval  tv; -	struct timeval  reply_wait; -	struct timeval  hold_down; +	time64_t  time; +	time64_t  reply_wait; +	time64_t  hold_down;  	uint32_t  packets_fwded;  	uint16_t  entry_state;  	uint32_t retry_time; @@ -53,7 +54,7 @@ struct in_cache_ops{  typedef struct eg_cache_entry{  	struct               eg_cache_entry *next;  	struct               eg_cache_entry *prev; -	struct               timeval  tv; +	time64_t	     time;  	uint8_t              MPS_ctrl_ATM_addr[ATM_ESA_LEN];  	struct atm_vcc       *shortcut;  	uint32_t             packets_rcvd; diff --git a/net/atm/mpoa_proc.c b/net/atm/mpoa_proc.c index 8a0c17e1c203..b93cc0f18292 100644 --- a/net/atm/mpoa_proc.c +++ b/net/atm/mpoa_proc.c @@ -8,7 +8,7 @@  #include <linux/mm.h>  #include <linux/module.h>  #include <linux/proc_fs.h> -#include <linux/time.h> +#include <linux/ktime.h>  #include <linux/seq_file.h>  #include <linux/uaccess.h>  #include <linux/atmmpc.h> @@ -57,7 +57,6 @@ static int parse_qos(const char *buff);   *   Define allowed FILE OPERATIONS   */  static const struct file_operations mpc_file_operations = { -	.owner =	THIS_MODULE,  	.open =		proc_mpc_open,  	.read =		seq_read,  	.llseek =	seq_lseek, @@ -138,7 +137,7 @@ static int mpc_show(struct seq_file *m, void *v)  	int i;  	in_cache_entry *in_entry;  	eg_cache_entry *eg_entry; -	struct timeval now; +	time64_t now;  	unsigned char ip_string[16];  	if (v == SEQ_START_TOKEN) { @@ -148,15 +147,17 @@ static int mpc_show(struct seq_file *m, void *v)  	seq_printf(m, "\nInterface %d:\n\n", mpc->dev_num);  	seq_printf(m, "Ingress Entries:\nIP address      State      Holding time  Packets fwded  VPI  VCI\n"); -	do_gettimeofday(&now); +	now = ktime_get_seconds();  	for (in_entry = mpc->in_cache; in_entry; in_entry = in_entry->next) { +		unsigned long seconds_delta = now - in_entry->time; +  		sprintf(ip_string, "%pI4", &in_entry->ctrl_info.in_dst_ip);  		seq_printf(m, "%-16s%s%-14lu%-12u",  			   ip_string,  			   ingress_state_string(in_entry->entry_state),  			   in_entry->ctrl_info.holding_time - -			   (now.tv_sec-in_entry->tv.tv_sec), +			   seconds_delta,  			   in_entry->packets_fwded);  		if (in_entry->shortcut)  			seq_printf(m, "   %-3d  %-3d", @@ -169,13 +170,14 @@ static int mpc_show(struct seq_file *m, void *v)  	seq_printf(m, "Egress Entries:\nIngress MPC ATM addr\nCache-id        State      Holding time  Packets recvd  Latest IP addr   VPI VCI\n");  	for (eg_entry = mpc->eg_cache; eg_entry; eg_entry = eg_entry->next) {  		unsigned char *p = eg_entry->ctrl_info.in_MPC_data_ATM_addr; +		unsigned long seconds_delta = now - eg_entry->time; +  		for (i = 0; i < ATM_ESA_LEN; i++)  			seq_printf(m, "%02x", p[i]);  		seq_printf(m, "\n%-16lu%s%-14lu%-15u",  			   (unsigned long)ntohl(eg_entry->ctrl_info.cache_id),  			   egress_state_string(eg_entry->entry_state), -			   (eg_entry->ctrl_info.holding_time - -			    (now.tv_sec-eg_entry->tv.tv_sec)), +			   (eg_entry->ctrl_info.holding_time - seconds_delta),  			   eg_entry->packets_rcvd);  		/* latest IP address */ diff --git a/net/atm/proc.c b/net/atm/proc.c index 642f9272ab95..edc48edc95c1 100644 --- a/net/atm/proc.c +++ b/net/atm/proc.c @@ -37,7 +37,6 @@ static ssize_t proc_dev_atm_read(struct file *file, char __user *buf,  				 size_t count, loff_t *pos);  static const struct file_operations proc_atm_dev_ops = { -	.owner =	THIS_MODULE,  	.read =		proc_dev_atm_read,  	.llseek =	noop_llseek,  }; |